
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: bool do_lib_group(Read_symbols * this, Workqueue * workqueue) */

bool __thiscall gold::Read_symbols::do_lib_group(Read_symbols *this,Workqueue *workqueue)

{
  Input_file_lib *lib;
  Input_objects *pIVar1;
  Symbol_table *pSVar2;
  Task_token *pTVar3;
  Layout *pLVar4;
  Dirsearch *pDVar5;
  Mapfile *pMVar6;
  size_type sVar7;
  bool bVar8;
  Lib_group *this_00;
  Task *t;
  Task *pTVar9;
  Task *pTVar10;
  pointer pAVar11;
  int iVar12;
  Input_argument *in_stack_ffffffb4;
  Input_argument *in_stack_ffffffb8;
  pointer local_20;
  
  if (this->input_argument_->is_file_ != false) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/options.h",0x83f,"lib");
  }
  lib = this->input_argument_->lib_;
  if (lib == (Input_file_lib *)0x0) {
                    /* WARNING: Subroutine does not return */
    Input_argument::lib(in_stack_ffffffb4,in_stack_ffffffb8);
  }
  if ((lib->options_).whole_archive_ != false) {
    bVar8 = do_whole_lib_group(this,workqueue);
    return bVar8;
  }
  this_00 = (Lib_group *)operator_new(0x18);
                    /* try { // try from 001adf80 to 001adf84 has its CatchHandler @ 001ae1c7 */
  Lib_group::Lib_group(this_00,lib,&this->super_Task);
  t = (Task *)operator_new(0x40);
  pIVar1 = this->input_objects_;
  pSVar2 = this->symtab_;
  pTVar3 = this->next_blocker_;
  (t->name_).field_2._M_local_buf[0] = '\0';
  pLVar4 = this->layout_;
  (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;
  t[1]._vptr_Task = (_func_int_varargs **)pSVar2;
  t[1].list_next_ = (Task *)pLVar4;
  *(Task_token **)((int)&t[1].name_.field_2 + 8) = pTVar3;
  t->list_next_ = (Task *)0x0;
  t->_vptr_Task = (_func_int_varargs **)&PTR__Add_lib_group_symbols_0040667c;
  (t->name_)._M_string_length = 0;
  t->should_run_soon_ = false;
  t[1].name_._M_dataplus._M_p = (pointer)pIVar1;
  t[1].name_._M_string_length = (size_type)this_00;
  t[1].name_.field_2._M_allocated_capacity = 0;
  *(undefined4 *)((int)&t[1].name_.field_2 + 4) = 0;
  pTVar9 = (Task *)operator_new(0x14);
  *(undefined1 *)&pTVar9->_vptr_Task = 1;
  pTVar9->list_next_ = (Task *)0x0;
  (pTVar9->name_)._M_dataplus._M_p = (pointer)0x0;
  (pTVar9->name_)._M_string_length = 0;
  (pTVar9->name_).field_2._M_allocated_capacity = 0;
  local_20 = (lib->files_).
             super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl
             ._M_start;
  if (local_20 !=
      (lib->files_).super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>.
      _M_impl._M_finish) {
    iVar12 = 0xc;
    pAVar11 = (this_00->members_).
              super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>.
              _M_impl._M_start;
    pTVar10 = (Task *)0x0;
    while( true ) {
      (pTVar9->name_)._M_dataplus._M_p = (pointer)0x0;
      pTVar9->list_next_ = (Task *)((int)&pTVar10->_vptr_Task + 1);
      pTVar10 = (Task *)operator_new(0x50);
      pDVar5 = this->dirpath_;
      pTVar10->list_next_ = (Task *)0x0;
      pTVar10->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_00408290;
      pIVar1 = this->input_objects_;
      pTVar10[1].name_._M_string_length = (size_type)pDVar5;
      pMVar6 = this->mapfile_;
      pTVar10[1]._vptr_Task = (_func_int_varargs **)pIVar1;
      pSVar2 = this->symtab_;
      *(Mapfile **)((int)&pTVar10[1].name_.field_2 + 4) = pMVar6;
      pTVar10[1].list_next_ = (Task *)pSVar2;
      pLVar4 = this->layout_;
      (pTVar10->name_)._M_dataplus._M_p = (pointer)&(pTVar10->name_).field_2;
      pTVar10[1].name_._M_dataplus._M_p = (pointer)pLVar4;
      sVar7 = this->dirindex_;
      (pTVar10->name_)._M_string_length = 0;
      pTVar10[1].name_.field_2._M_allocated_capacity = sVar7;
      (pTVar10->name_).field_2._M_local_buf[0] = '\0';
      pTVar10->should_run_soon_ = false;
      *(pointer *)((int)&pTVar10[1].name_.field_2 + 8) = local_20;
      *(undefined4 *)((int)&pTVar10[1].name_.field_2 + 0xc) = 0;
      *(pointer *)&pTVar10[1].should_run_soon_ = pAVar11;
      pTVar10[2]._vptr_Task = (_func_int_varargs **)0x0;
      pTVar10[2].list_next_ = pTVar9;
      Workqueue::queue_soon(workqueue,pTVar10);
      local_20 = local_20 + 1;
      if ((lib->files_).
          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.
          _M_finish == local_20) break;
      pAVar11 = (pointer)((int)&((this_00->members_).
                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>
                                 ._M_impl._M_start)->obj_ + iVar12);
      iVar12 = iVar12 + 0xc;
      if (*(char *)&pTVar9->_vptr_Task == '\0') {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/token.h",0x8e,"add_blocker");
      }
      pTVar10 = pTVar9->list_next_;
    }
  }
  pTVar3 = this->this_blocker_;
  if ((t[1].name_.field_2._M_allocated_capacity == 0) &&
     (*(int *)((int)&t[1].name_.field_2 + 4) == 0)) {
    *(Task **)&t[1].name_.field_2 = pTVar9;
    *(Task_token **)((int)&t[1].name_.field_2 + 4) = pTVar3;
    Workqueue::queue_soon(workqueue,t);
    return true;
  }
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable("../../gold/archive.h",0x228,"set_blocker");
}



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

undefined4 FUN_001adf20(int param_1,undefined4 param_2)

{
  int *piVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  int iVar5;
  undefined4 *puVar6;
  char *pcVar7;
  int iVar8;
  undefined4 *puVar9;
  undefined4 uVar10;
  int iVar11;
  int iVar12;
  undefined8 uVar13;
  int local_20;
  
  if (**(char **)(param_1 + 0x3c) == '\0') {
    piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);
    if (piVar1 != (int *)0x0) {
      if ((char)piVar1[5] != '\0') {
        uVar10 = FUN_001add90();
        return uVar10;
      }
      iVar5 = FUN_00246670(0x18);
                    /* try { // try from 001adf80 to 001adf84 has its CatchHandler @ 001ae1c7 */
      FUN_000b5c90(iVar5,piVar1,param_1);
      puVar6 = (undefined4 *)FUN_00246670(0x40);
      uVar10 = *(undefined4 *)(param_1 + 0x24);
      uVar2 = *(undefined4 *)(param_1 + 0x28);
      uVar3 = *(undefined4 *)(param_1 + 0x4c);
      *(undefined1 *)(puVar6 + 4) = 0;
      uVar4 = *(undefined4 *)(param_1 + 0x2c);
      puVar6[2] = puVar6 + 4;
      puVar6[9] = uVar2;
      puVar6[10] = uVar4;
      puVar6[0xf] = uVar3;
      puVar6[1] = 0;
      *puVar6 = &PTR_FUN_0040667c;
      puVar6[3] = 0;
      *(undefined1 *)(puVar6 + 8) = 0;
      puVar6[0xb] = uVar10;
      puVar6[0xc] = iVar5;
      puVar6[0xd] = 0;
      puVar6[0xe] = 0;
      uVar13 = FUN_00246670(0x14);
      iVar12 = (int)((ulonglong)uVar13 >> 0x20);
      pcVar7 = (char *)uVar13;
      *pcVar7 = '\x01';
      pcVar7[4] = '\0';
      pcVar7[5] = '\0';
      pcVar7[6] = '\0';
      pcVar7[7] = '\0';
      pcVar7[8] = '\0';
      pcVar7[9] = '\0';
      pcVar7[10] = '\0';
      pcVar7[0xb] = '\0';
      pcVar7[0xc] = '\0';
      pcVar7[0xd] = '\0';
      pcVar7[0xe] = '\0';
      pcVar7[0xf] = '\0';
      pcVar7[0x10] = '\0';
      pcVar7[0x11] = '\0';
      pcVar7[0x12] = '\0';
      pcVar7[0x13] = '\0';
      local_20 = *piVar1;
      if (local_20 != piVar1[1]) {
        iVar12 = 0xc;
        iVar11 = *(int *)(iVar5 + 0xc);
        iVar8 = 0;
        while( true ) {
          pcVar7[8] = '\0';
          pcVar7[9] = '\0';
          pcVar7[10] = '\0';
          pcVar7[0xb] = '\0';
          *(int *)(pcVar7 + 4) = iVar8 + 1;
          puVar9 = (undefined4 *)FUN_00246670(0x50);
          uVar10 = *(undefined4 *)(param_1 + 0x30);
          puVar9[1] = 0;
          *puVar9 = &PTR_FUN_00408290;
          uVar2 = *(undefined4 *)(param_1 + 0x24);
          puVar9[0xc] = uVar10;
          uVar10 = *(undefined4 *)(param_1 + 0x38);
          puVar9[9] = uVar2;
          uVar2 = *(undefined4 *)(param_1 + 0x28);
          puVar9[0xe] = uVar10;
          puVar9[10] = uVar2;
          uVar10 = *(undefined4 *)(param_1 + 0x2c);
          puVar9[2] = puVar9 + 4;
          puVar9[0xb] = uVar10;
          uVar10 = *(undefined4 *)(param_1 + 0x34);
          puVar9[3] = 0;
          puVar9[0xd] = uVar10;
          *(undefined1 *)(puVar9 + 4) = 0;
          *(undefined1 *)(puVar9 + 8) = 0;
          puVar9[0xf] = local_20;
          puVar9[0x10] = 0;
          puVar9[0x11] = iVar11;
          puVar9[0x12] = 0;
          puVar9[0x13] = pcVar7;
          FUN_00200100(param_2,puVar9);
          local_20 = local_20 + 0x5c;
          if (piVar1[1] == local_20) break;
          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;
          iVar12 = iVar12 + 0xc;
          if (*pcVar7 == '\0') {
                    /* WARNING: Subroutine does not return */
            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");
          }
          iVar8 = *(int *)(pcVar7 + 4);
        }
      }
      uVar10 = *(undefined4 *)(param_1 + 0x48);
      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {
        puVar6[0xd] = pcVar7;
        puVar6[0xe] = uVar10;
        FUN_00200100(param_2,puVar6);
        return 1;
      }
                    /* WARNING: Subroutine does not return */
      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);
    }
    FUN_001ace40();
  }
                    /* WARNING: Subroutine does not return */
  FUN_000da200("../../gold/options.h",0x83f,&DAT_00308a04);
}


CALL 0x000b4846
ADD EAX,0x2660db
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x3c
MOV dword ptr [EBP + -0x20],EAX
MOV ESI,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EBP + 0xc]
MOV dword ptr [EBP + -0x34],EAX
MOV EAX,dword ptr [ESI + 0x3c]
CMP byte ptr [EAX],0x0
JNZ 0x001ae1ab
MOV EAX,dword ptr [EAX + 0x54]
MOV dword ptr [EBP + -0x2c],EAX
TEST EAX,EAX
JZ 0x001ae1a6
MOV EAX,dword ptr [EBP + -0x2c]
CMP byte ptr [EAX + 0x14],0x0
JNZ 0x001ae160
SUB ESP,0xc
MOV EDI,dword ptr [EBP + -0x20]
PUSH 0x18
MOV EBX,EDI
CALL 0x00246670
ADD ESP,0xc
PUSH ESI
PUSH dword ptr [EBP + -0x2c]
PUSH EAX
MOV dword ptr [EBP + -0x30],EAX
CALL 0x000b5c90
MOV dword ptr [ESP],0x40
MOV dword ptr [EBP + -0x20],EDI
CALL 0x00246670
MOV EDX,dword ptr [ESI + 0x24]
MOV ECX,dword ptr [ESI + 0x28]
MOV EBX,EAX
MOV EDI,dword ptr [ESI + 0x4c]
MOV byte ptr [EAX + 0x10],0x0
ADD EBX,0x10
MOV dword ptr [EBP + -0x1c],EDX
MOV EDX,dword ptr [ESI + 0x2c]
MOV dword ptr [EAX + 0x8],EBX
MOV EBX,dword ptr [EBP + -0x20]
MOV dword ptr [EAX + 0x24],ECX
MOV ECX,dword ptr [EBP + -0x30]
LEA EBX,[EBX + 0xffff2674]
MOV dword ptr [EAX + 0x28],EDX
MOV EDX,dword ptr [EBP + -0x1c]
MOV dword ptr [EAX + 0x3c],EDI
ADD EBX,0x8
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX],EBX
MOV EBX,dword ptr [EBP + -0x20]
MOV dword ptr [EAX + 0xc],0x0
MOV byte ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x2c],EDX
MOV dword ptr [EAX + 0x30],ECX
MOV dword ptr [EAX + 0x34],0x0
MOV dword ptr [EAX + 0x38],0x0
MOV dword ptr [EBP + -0x3c],EAX
MOV dword ptr [ESP],0x14
CALL 0x00246670
ADD ESP,0x10
MOV byte ptr [EAX],0x1
MOV EDI,EAX
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x8],0x0
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x10],0x0
MOV EAX,dword ptr [EBP + -0x2c]
MOV EBX,dword ptr [EAX]
MOV dword ptr [EBP + -0x1c],EBX
CMP EBX,dword ptr [EAX + 0x4]
JZ 0x001ae118
MOV EBX,dword ptr [EBP + -0x20]
MOV EAX,dword ptr [EBP + -0x30]
MOV EDX,0xc
LEA EBX,[EBX + 0xffff4290]
MOV ECX,dword ptr [EAX + 0xc]
XOR EAX,EAX
MOV dword ptr [EBP + -0x38],EBX
JMP 0x001ae06f
MOV EAX,dword ptr [EBP + -0x30]
MOV ECX,dword ptr [EAX + 0xc]
ADD ECX,EDX
ADD EDX,0xc
CMP byte ptr [EDI],0x0
JZ 0x001ae16c
MOV EAX,dword ptr [EDI + 0x4]
SUB ESP,0xc
ADD EAX,0x1
MOV dword ptr [EDI + 0x8],0x0
MOV EBX,dword ptr [EBP + -0x20]
MOV dword ptr [EDI + 0x4],EAX
PUSH 0x50
MOV dword ptr [EBP + -0x28],EDX
MOV dword ptr [EBP + -0x24],ECX
CALL 0x00246670
MOV ECX,dword ptr [EBP + -0x38]
MOV EDX,dword ptr [ESI + 0x30]
LEA EBX,[EAX + 0x10]
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX],ECX
MOV ECX,dword ptr [ESI + 0x24]
MOV dword ptr [EAX + 0x30],EDX
MOV EDX,dword ptr [ESI + 0x38]
MOV dword ptr [EAX + 0x24],ECX
MOV ECX,dword ptr [ESI + 0x28]
MOV dword ptr [EAX + 0x38],EDX
MOV EDX,dword ptr [EBP + -0x1c]
MOV dword ptr [EAX + 0x28],ECX
MOV ECX,dword ptr [ESI + 0x2c]
MOV dword ptr [EAX + 0x8],EBX
MOV dword ptr [EAX + 0x2c],ECX
MOV ECX,dword ptr [ESI + 0x34]
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x34],ECX
MOV ECX,dword ptr [EBP + -0x24]
MOV byte ptr [EAX + 0x10],0x0
MOV byte ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x3c],EDX
MOV dword ptr [EAX + 0x40],0x0
MOV dword ptr [EAX + 0x44],ECX
MOV dword ptr [EAX + 0x48],0x0
MOV dword ptr [EAX + 0x4c],EDI
POP EBX
POP EDX
MOV EBX,dword ptr [EBP + -0x20]
PUSH EAX
PUSH dword ptr [EBP + -0x34]
CALL 0x00200100
MOV EAX,dword ptr [EBP + -0x2c]
ADD dword ptr [EBP + -0x1c],0x5c
ADD ESP,0x10
MOV EDX,dword ptr [EBP + -0x1c]
CMP dword ptr [EAX + 0x4],EDX
MOV EDX,dword ptr [EBP + -0x28]
JNZ 0x001ae058
MOV EBX,dword ptr [EBP + -0x3c]
MOV EAX,dword ptr [ESI + 0x48]
MOV ECX,dword ptr [EBX + 0x34]
TEST ECX,ECX
JNZ 0x001ae18a
MOV EBX,dword ptr [EBP + -0x3c]
MOV ECX,dword ptr [EBX + 0x38]
TEST ECX,ECX
JNZ 0x001ae18a
MOV EBX,dword ptr [EBP + -0x3c]
SUB ESP,0x8
MOV dword ptr [EBX + 0x34],EDI
MOV dword ptr [EBX + 0x38],EAX
PUSH EBX
MOV EBX,dword ptr [EBP + -0x20]
PUSH dword ptr [EBP + -0x34]
CALL 0x00200100
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
MOV EAX,0x1
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
JMP 0x001add90
MOV EBX,dword ptr [EBP + -0x20]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef49f8]
PUSH EAX
LEA EAX,[EBX + 0xffece2a1]
PUSH 0x8e
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x20]
PUSH EDX
LEA EAX,[EBX + 0xffef49ec]
PUSH EAX
LEA EAX,[EBX + 0xffef4898]
PUSH 0x228
PUSH EAX
CALL 0x000da200
CALL 0x001ace40
PUSH EBX
MOV EBX,dword ptr [EBP + -0x20]
LEA EAX,[EBX + 0xffef4a04]
PUSH EAX
LEA EAX,[EBX + 0xffee4796]
PUSH 0x83f
PUSH EAX
CALL 0x000da200
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nundefined4 FUN_001adf20(int param_1,undefined4 param_2)\n\n{\n  int *piVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  char *pcVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  undefined8 uVar13;\n  int local_20;\n  \n  if (**(char **)(param_1 + 0x3c) == '\0') {\n    piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);\n    if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    /* try { // try from 001adf80 to 001adf84 has its CatchHandler @ 001ae1c7 */\n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }\n    FUN_001ace40();\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000da200("../../gold/options.h",0x83f,&DAT_00308a04);\n}\n\n" comment (function_definition "undefined4 FUN_001adf20(int param_1,undefined4 param_2)\n\n{\n  int *piVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  char *pcVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  undefined8 uVar13;\n  int local_20;\n  \n  if (**(char **)(param_1 + 0x3c) == '\0') {\n    piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);\n    if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    /* try { // try from 001adf80 to 001adf84 has its CatchHandler @ 001ae1c7 */\n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }\n    FUN_001ace40();\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000da200("../../gold/options.h",0x83f,&DAT_00308a04);\n}" type_identifier (function_declarator "FUN_001adf20(int param_1,undefined4 param_2)" identifier (parameter_list "(int param_1,undefined4 param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  char *pcVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  undefined8 uVar13;\n  int local_20;\n  \n  if (**(char **)(param_1 + 0x3c) == '\0') {\n    piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);\n    if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    /* try { // try from 001adf80 to 001adf84 has its CatchHandler @ 001ae1c7 */\n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }\n    FUN_001ace40();\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000da200("../../gold/options.h",0x83f,&DAT_00308a04);\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (if_statement "if (**(char **)(param_1 + 0x3c) == '\0') {\n    piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);\n    if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    /* try { // try from 001adf80 to 001adf84 has its CatchHandler @ 001ae1c7 */\n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }\n    FUN_001ace40();\n  }" if (parenthesized_expression "(**(char **)(param_1 + 0x3c) == '\0')" ( (binary_expression "**(char **)(param_1 + 0x3c) == '\0'" (pointer_expression "**(char **)(param_1 + 0x3c)" * (pointer_expression "*(char **)(param_1 + 0x3c)" * (cast_expression "(char **)(param_1 + 0x3c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) ))))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);\n    if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    /* try { // try from 001adf80 to 001adf84 has its CatchHandler @ 001ae1c7 */\n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }\n    FUN_001ace40();\n  }" { (expression_statement "piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);" (assignment_expression "piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54)" identifier = (pointer_expression "*(int **)(*(char **)(param_1 + 0x3c) + 0x54)" * (cast_expression "(int **)(*(char **)(param_1 + 0x3c) + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(char **)(param_1 + 0x3c) + 0x54)" ( (binary_expression "*(char **)(param_1 + 0x3c) + 0x54" (pointer_expression "*(char **)(param_1 + 0x3c)" * (cast_expression "(char **)(param_1 + 0x3c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    /* try { // try from 001adf80 to 001adf84 has its CatchHandler @ 001ae1c7 */\n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    /* try { // try from 001adf80 to 001adf84 has its CatchHandler @ 001ae1c7 */\n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }" { (if_statement "if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }" if (parenthesized_expression "((char)piVar1[5] != '\0')" ( (binary_expression "(char)piVar1[5] != '\0'" (cast_expression "(char)piVar1[5]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar1[5]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }" { (expression_statement "uVar10 = FUN_001add90();" (assignment_expression "uVar10 = FUN_001add90()" identifier = (call_expression "FUN_001add90()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar10;" return identifier ;) })) (expression_statement "iVar5 = FUN_00246670(0x18);" (assignment_expression "iVar5 = FUN_00246670(0x18)" identifier = (call_expression "FUN_00246670(0x18)" identifier (argument_list "(0x18)" ( number_literal )))) ;) comment (expression_statement "FUN_000b5c90(iVar5,piVar1,param_1);" (call_expression "FUN_000b5c90(iVar5,piVar1,param_1)" identifier (argument_list "(iVar5,piVar1,param_1)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar6 = (undefined4 *)FUN_00246670(0x40);" (assignment_expression "puVar6 = (undefined4 *)FUN_00246670(0x40)" identifier = (cast_expression "(undefined4 *)FUN_00246670(0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00246670(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x24);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x24)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 0x28);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 0x28)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined4 *)(param_1 + 0x4c);" (assignment_expression "uVar3 = *(undefined4 *)(param_1 + 0x4c)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x4c)" * (cast_expression "(undefined4 *)(param_1 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(puVar6 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar6 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar6 + 4)" * (cast_expression "(undefined1 *)(puVar6 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 4)" ( (binary_expression "puVar6 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar4 = *(undefined4 *)(param_1 + 0x2c);" (assignment_expression "uVar4 = *(undefined4 *)(param_1 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x2c)" * (cast_expression "(undefined4 *)(param_1 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "puVar6[2] = puVar6 + 4;" (assignment_expression "puVar6[2] = puVar6 + 4" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = (binary_expression "puVar6 + 4" identifier + number_literal)) ;) (expression_statement "puVar6[9] = uVar2;" (assignment_expression "puVar6[9] = uVar2" (subscript_expression "puVar6[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[10] = uVar4;" (assignment_expression "puVar6[10] = uVar4" (subscript_expression "puVar6[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0xf] = uVar3;" (assignment_expression "puVar6[0xf] = uVar3" (subscript_expression "puVar6[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[1] = 0;" (assignment_expression "puVar6[1] = 0" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar6 = &PTR_FUN_0040667c;" (assignment_expression "*puVar6 = &PTR_FUN_0040667c" (pointer_expression "*puVar6" * identifier) = (pointer_expression "&PTR_FUN_0040667c" & identifier)) ;) (expression_statement "puVar6[3] = 0;" (assignment_expression "puVar6[3] = 0" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar6 + 8) = 0;" (assignment_expression "*(undefined1 *)(puVar6 + 8) = 0" (pointer_expression "*(undefined1 *)(puVar6 + 8)" * (cast_expression "(undefined1 *)(puVar6 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 8)" ( (binary_expression "puVar6 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar6[0xb] = uVar10;" (assignment_expression "puVar6[0xb] = uVar10" (subscript_expression "puVar6[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0xc] = iVar5;" (assignment_expression "puVar6[0xc] = iVar5" (subscript_expression "puVar6[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0xd] = 0;" (assignment_expression "puVar6[0xd] = 0" (subscript_expression "puVar6[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[0xe] = 0;" (assignment_expression "puVar6[0xe] = 0" (subscript_expression "puVar6[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar13 = FUN_00246670(0x14);" (assignment_expression "uVar13 = FUN_00246670(0x14)" identifier = (call_expression "FUN_00246670(0x14)" identifier (argument_list "(0x14)" ( number_literal )))) ;) (expression_statement "iVar12 = (int)((ulonglong)uVar13 >> 0x20);" (assignment_expression "iVar12 = (int)((ulonglong)uVar13 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar13 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar13 >> 0x20)" ( (binary_expression "(ulonglong)uVar13 >> 0x20" (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcVar7 = (char *)uVar13;" (assignment_expression "pcVar7 = (char *)uVar13" identifier = (cast_expression "(char *)uVar13" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*pcVar7 = '\x01';" (assignment_expression "*pcVar7 = '\x01'" (pointer_expression "*pcVar7" * identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pcVar7[4] = '\0';" (assignment_expression "pcVar7[4] = '\0'" (subscript_expression "pcVar7[4]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[5] = '\0';" (assignment_expression "pcVar7[5] = '\0'" (subscript_expression "pcVar7[5]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[6] = '\0';" (assignment_expression "pcVar7[6] = '\0'" (subscript_expression "pcVar7[6]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[7] = '\0';" (assignment_expression "pcVar7[7] = '\0'" (subscript_expression "pcVar7[7]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[8] = '\0';" (assignment_expression "pcVar7[8] = '\0'" (subscript_expression "pcVar7[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[9] = '\0';" (assignment_expression "pcVar7[9] = '\0'" (subscript_expression "pcVar7[9]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[10] = '\0';" (assignment_expression "pcVar7[10] = '\0'" (subscript_expression "pcVar7[10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0xb] = '\0';" (assignment_expression "pcVar7[0xb] = '\0'" (subscript_expression "pcVar7[0xb]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0xc] = '\0';" (assignment_expression "pcVar7[0xc] = '\0'" (subscript_expression "pcVar7[0xc]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0xd] = '\0';" (assignment_expression "pcVar7[0xd] = '\0'" (subscript_expression "pcVar7[0xd]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0xe] = '\0';" (assignment_expression "pcVar7[0xe] = '\0'" (subscript_expression "pcVar7[0xe]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0xf] = '\0';" (assignment_expression "pcVar7[0xf] = '\0'" (subscript_expression "pcVar7[0xf]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0x10] = '\0';" (assignment_expression "pcVar7[0x10] = '\0'" (subscript_expression "pcVar7[0x10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0x11] = '\0';" (assignment_expression "pcVar7[0x11] = '\0'" (subscript_expression "pcVar7[0x11]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0x12] = '\0';" (assignment_expression "pcVar7[0x12] = '\0'" (subscript_expression "pcVar7[0x12]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0x13] = '\0';" (assignment_expression "pcVar7[0x13] = '\0'" (subscript_expression "pcVar7[0x13]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_20 = *piVar1;" (assignment_expression "local_20 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }" if (parenthesized_expression "(local_20 != piVar1[1])" ( (binary_expression "local_20 != piVar1[1]" identifier != (subscript_expression "piVar1[1]" identifier [ number_literal ])) )) (compound_statement "{\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }" { (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" identifier = number_literal) ;) (expression_statement "iVar11 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar11 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }" { (expression_statement "pcVar7[8] = '\0';" (assignment_expression "pcVar7[8] = '\0'" (subscript_expression "pcVar7[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[9] = '\0';" (assignment_expression "pcVar7[9] = '\0'" (subscript_expression "pcVar7[9]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[10] = '\0';" (assignment_expression "pcVar7[10] = '\0'" (subscript_expression "pcVar7[10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0xb] = '\0';" (assignment_expression "pcVar7[0xb] = '\0'" (subscript_expression "pcVar7[0xb]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*(int *)(pcVar7 + 4) = iVar8 + 1;" (assignment_expression "*(int *)(pcVar7 + 4) = iVar8 + 1" (pointer_expression "*(int *)(pcVar7 + 4)" * (cast_expression "(int *)(pcVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 4)" ( (binary_expression "pcVar7 + 4" identifier + number_literal) )))) = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar9 = (undefined4 *)FUN_00246670(0x50);" (assignment_expression "puVar9 = (undefined4 *)FUN_00246670(0x50)" identifier = (cast_expression "(undefined4 *)FUN_00246670(0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00246670(0x50)" identifier (argument_list "(0x50)" ( number_literal ))))) ;) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x30);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x30)" * (cast_expression "(undefined4 *)(param_1 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar9[1] = 0;" (assignment_expression "puVar9[1] = 0" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar9 = &PTR_FUN_00408290;" (assignment_expression "*puVar9 = &PTR_FUN_00408290" (pointer_expression "*puVar9" * identifier) = (pointer_expression "&PTR_FUN_00408290" & identifier)) ;) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 0x24);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 0x24)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "puVar9[0xc] = uVar10;" (assignment_expression "puVar9[0xc] = uVar10" (subscript_expression "puVar9[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x38);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x38)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x38)" * (cast_expression "(undefined4 *)(param_1 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar9[9] = uVar2;" (assignment_expression "puVar9[9] = uVar2" (subscript_expression "puVar9[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 0x28);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 0x28)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar9[0xe] = uVar10;" (assignment_expression "puVar9[0xe] = uVar10" (subscript_expression "puVar9[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[10] = uVar2;" (assignment_expression "puVar9[10] = uVar2" (subscript_expression "puVar9[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x2c);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x2c)" * (cast_expression "(undefined4 *)(param_1 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "puVar9[2] = puVar9 + 4;" (assignment_expression "puVar9[2] = puVar9 + 4" (subscript_expression "puVar9[2]" identifier [ number_literal ]) = (binary_expression "puVar9 + 4" identifier + number_literal)) ;) (expression_statement "puVar9[0xb] = uVar10;" (assignment_expression "puVar9[0xb] = uVar10" (subscript_expression "puVar9[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x34);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x34)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x34)" * (cast_expression "(undefined4 *)(param_1 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "puVar9[3] = 0;" (assignment_expression "puVar9[3] = 0" (subscript_expression "puVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[0xd] = uVar10;" (assignment_expression "puVar9[0xd] = uVar10" (subscript_expression "puVar9[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(puVar9 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar9 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar9 + 4)" * (cast_expression "(undefined1 *)(puVar9 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 4)" ( (binary_expression "puVar9 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar9 + 8) = 0;" (assignment_expression "*(undefined1 *)(puVar9 + 8) = 0" (pointer_expression "*(undefined1 *)(puVar9 + 8)" * (cast_expression "(undefined1 *)(puVar9 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 8)" ( (binary_expression "puVar9 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar9[0xf] = local_20;" (assignment_expression "puVar9[0xf] = local_20" (subscript_expression "puVar9[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[0x10] = 0;" (assignment_expression "puVar9[0x10] = 0" (subscript_expression "puVar9[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[0x11] = iVar11;" (assignment_expression "puVar9[0x11] = iVar11" (subscript_expression "puVar9[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[0x12] = 0;" (assignment_expression "puVar9[0x12] = 0" (subscript_expression "puVar9[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[0x13] = pcVar7;" (assignment_expression "puVar9[0x13] = pcVar7" (subscript_expression "puVar9[0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00200100(param_2,puVar9);" (call_expression "FUN_00200100(param_2,puVar9)" identifier (argument_list "(param_2,puVar9)" ( identifier , identifier ))) ;) (expression_statement "local_20 = local_20 + 0x5c;" (assignment_expression "local_20 = local_20 + 0x5c" identifier = (binary_expression "local_20 + 0x5c" identifier + number_literal)) ;) (if_statement "if (piVar1[1] == local_20) break;" if (parenthesized_expression "(piVar1[1] == local_20)" ( (binary_expression "piVar1[1] == local_20" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = *(int *)(iVar5 + 0xc) + iVar12;" (assignment_expression "iVar11 = *(int *)(iVar5 + 0xc) + iVar12" identifier = (binary_expression "*(int *)(iVar5 + 0xc) + iVar12" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) + identifier)) ;) (expression_statement "iVar12 = iVar12 + 0xc;" (assignment_expression "iVar12 = iVar12 + 0xc" identifier = (binary_expression "iVar12 + 0xc" identifier + number_literal)) ;) (if_statement "if (*pcVar7 == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }" if (parenthesized_expression "(*pcVar7 == '\0')" ( (binary_expression "*pcVar7 == '\0'" (pointer_expression "*pcVar7" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }" { comment (expression_statement "FUN_000da200("../../gold/token.h",0x8e,"add_blocker");" (call_expression "FUN_000da200("../../gold/token.h",0x8e,"add_blocker")" identifier (argument_list "("../../gold/token.h",0x8e,"add_blocker")" ( (string_literal ""../../gold/token.h"" " string_content ") , number_literal , (string_literal ""add_blocker"" " string_content ") ))) ;) })) (expression_statement "iVar8 = *(int *)(pcVar7 + 4);" (assignment_expression "iVar8 = *(int *)(pcVar7 + 4)" identifier = (pointer_expression "*(int *)(pcVar7 + 4)" * (cast_expression "(int *)(pcVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 4)" ( (binary_expression "pcVar7 + 4" identifier + number_literal) ))))) ;) })) })) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x48);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x48)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x48)" * (cast_expression "(undefined4 *)(param_1 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ;) (if_statement "if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }" if (parenthesized_expression "((puVar6[0xd] == 0) && (puVar6[0xe] == 0))" ( (binary_expression "(puVar6[0xd] == 0) && (puVar6[0xe] == 0)" (parenthesized_expression "(puVar6[0xd] == 0)" ( (binary_expression "puVar6[0xd] == 0" (subscript_expression "puVar6[0xd]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(puVar6[0xe] == 0)" ( (binary_expression "puVar6[0xe] == 0" (subscript_expression "puVar6[0xe]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }" { (expression_statement "puVar6[0xd] = pcVar7;" (assignment_expression "puVar6[0xd] = pcVar7" (subscript_expression "puVar6[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0xe] = uVar10;" (assignment_expression "puVar6[0xe] = uVar10" (subscript_expression "puVar6[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00200100(param_2,puVar6);" (call_expression "FUN_00200100(param_2,puVar6)" identifier (argument_list "(param_2,puVar6)" ( identifier , identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) comment (expression_statement "FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);" (call_expression "FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12)" identifier (argument_list "("../../gold/archive.h",0x228,"set_blocker",iVar12)" ( (string_literal ""../../gold/archive.h"" " string_content ") , number_literal , (string_literal ""set_blocker"" " string_content ") , identifier ))) ;) })) (expression_statement "FUN_001ace40();" (call_expression "FUN_001ace40()" identifier (argument_list "()" ( ))) ;) })) comment (expression_statement "FUN_000da200("../../gold/options.h",0x83f,&DAT_00308a04);" (call_expression "FUN_000da200("../../gold/options.h",0x83f,&DAT_00308a04)" identifier (argument_list "("../../gold/options.h",0x83f,&DAT_00308a04)" ( (string_literal ""../../gold/options.h"" " string_content ") , number_literal , (pointer_expression "&DAT_00308a04" & identifier) ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: bool do_lib_group(Read_symbols * this, Workqueue * workqueue) */\n\nbool __thiscall gold::Read_symbols::do_lib_group(Read_symbols *this,Workqueue *workqueue)\n\n{\n  Input_file_lib *lib;\n  Input_objects *pIVar1;\n  Symbol_table *pSVar2;\n  Task_token *pTVar3;\n  Layout *pLVar4;\n  Dirsearch *pDVar5;\n  Mapfile *pMVar6;\n  size_type sVar7;\n  bool bVar8;\n  Lib_group *this_00;\n  Task *t;\n  Task *pTVar9;\n  Task *pTVar10;\n  pointer pAVar11;\n  int iVar12;\n  Input_argument *in_stack_ffffffb4;\n  Input_argument *in_stack_ffffffb8;\n  pointer local_20;\n  \n  if (this->input_argument_->is_file_ != false) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/options.h",0x83f,"lib");\n  }\n  lib = this->input_argument_->lib_;\n  if (lib == (Input_file_lib *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Input_argument::lib(in_stack_ffffffb4,in_stack_ffffffb8);\n  }\n  if ((lib->options_).whole_archive_ != false) {\n    bVar8 = do_whole_lib_group(this,workqueue);\n    return bVar8;\n  }\n  this_00 = (Lib_group *)operator_new(0x18);\n                    /* try { // try from 001adf80 to 001adf84 has its CatchHandler @ 001ae1c7 */\n  Lib_group::Lib_group(this_00,lib,&this->super_Task);\n  t = (Task *)operator_new(0x40);\n  pIVar1 = this->input_objects_;\n  pSVar2 = this->symtab_;\n  pTVar3 = this->next_blocker_;\n  (t->name_).field_2._M_local_buf[0] = '\0';\n  pLVar4 = this->layout_;\n  (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n  t[1]._vptr_Task = (_func_int_varargs **)pSVar2;\n  t[1].list_next_ = (Task *)pLVar4;\n  *(Task_token **)((int)&t[1].name_.field_2 + 8) = pTVar3;\n  t->list_next_ = (Task *)0x0;\n  t->_vptr_Task = (_func_int_varargs **)&PTR__Add_lib_group_symbols_0040667c;\n  (t->name_)._M_string_length = 0;\n  t->should_run_soon_ = false;\n  t[1].name_._M_dataplus._M_p = (pointer)pIVar1;\n  t[1].name_._M_string_length = (size_type)this_00;\n  t[1].name_.field_2._M_allocated_capacity = 0;\n  *(undefined4 *)((int)&t[1].name_.field_2 + 4) = 0;\n  pTVar9 = (Task *)operator_new(0x14);\n  *(undefined1 *)&pTVar9->_vptr_Task = 1;\n  pTVar9->list_next_ = (Task *)0x0;\n  (pTVar9->name_)._M_dataplus._M_p = (pointer)0x0;\n  (pTVar9->name_)._M_string_length = 0;\n  (pTVar9->name_).field_2._M_allocated_capacity = 0;\n  local_20 = (lib->files_).\n             super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl\n             ._M_start;\n  if (local_20 !=\n      (lib->files_).super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>.\n      _M_impl._M_finish) {\n    iVar12 = 0xc;\n    pAVar11 = (this_00->members_).\n              super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>.\n              _M_impl._M_start;\n    pTVar10 = (Task *)0x0;\n    while( true ) {\n      (pTVar9->name_)._M_dataplus._M_p = (pointer)0x0;\n      pTVar9->list_next_ = (Task *)((int)&pTVar10->_vptr_Task + 1);\n      pTVar10 = (Task *)operator_new(0x50);\n      pDVar5 = this->dirpath_;\n      pTVar10->list_next_ = (Task *)0x0;\n      pTVar10->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_00408290;\n      pIVar1 = this->input_objects_;\n      pTVar10[1].name_._M_string_length = (size_type)pDVar5;\n      pMVar6 = this->mapfile_;\n      pTVar10[1]._vptr_Task = (_func_int_varargs **)pIVar1;\n      pSVar2 = this->symtab_;\n      *(Mapfile **)((int)&pTVar10[1].name_.field_2 + 4) = pMVar6;\n      pTVar10[1].list_next_ = (Task *)pSVar2;\n      pLVar4 = this->layout_;\n      (pTVar10->name_)._M_dataplus._M_p = (pointer)&(pTVar10->name_).field_2;\n      pTVar10[1].name_._M_dataplus._M_p = (pointer)pLVar4;\n      sVar7 = this->dirindex_;\n      (pTVar10->name_)._M_string_length = 0;\n      pTVar10[1].name_.field_2._M_allocated_capacity = sVar7;\n      (pTVar10->name_).field_2._M_local_buf[0] = '\0';\n      pTVar10->should_run_soon_ = false;\n      *(pointer *)((int)&pTVar10[1].name_.field_2 + 8) = local_20;\n      *(undefined4 *)((int)&pTVar10[1].name_.field_2 + 0xc) = 0;\n      *(pointer *)&pTVar10[1].should_run_soon_ = pAVar11;\n      pTVar10[2]._vptr_Task = (_func_int_varargs **)0x0;\n      pTVar10[2].list_next_ = pTVar9;\n      Workqueue::queue_soon(workqueue,pTVar10);\n      local_20 = local_20 + 1;\n      if ((lib->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == local_20) break;\n      pAVar11 = (pointer)((int)&((this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>\n                                 ._M_impl._M_start)->obj_ + iVar12);\n      iVar12 = iVar12 + 0xc;\n      if (*(char *)&pTVar9->_vptr_Task == '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/token.h",0x8e,"add_blocker");\n      }\n      pTVar10 = pTVar9->list_next_;\n    }\n  }\n  pTVar3 = this->this_blocker_;\n  if ((t[1].name_.field_2._M_allocated_capacity == 0) &&\n     (*(int *)((int)&t[1].name_.field_2 + 4) == 0)) {\n    *(Task **)&t[1].name_.field_2 = pTVar9;\n    *(Task_token **)((int)&t[1].name_.field_2 + 4) = pTVar3;\n    Workqueue::queue_soon(workqueue,t);\n    return true;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/archive.h",0x228,"set_blocker");\n}\n\n" comment comment comment (function_definition "bool __thiscall gold::Read_symbols::do_lib_group(Read_symbols *this,Workqueue *workqueue)\n\n{\n  Input_file_lib *lib;\n  Input_objects *pIVar1;\n  Symbol_table *pSVar2;\n  Task_token *pTVar3;\n  Layout *pLVar4;\n  Dirsearch *pDVar5;\n  Mapfile *pMVar6;\n  size_type sVar7;\n  bool bVar8;\n  Lib_group *this_00;\n  Task *t;\n  Task *pTVar9;\n  Task *pTVar10;\n  pointer pAVar11;\n  int iVar12;\n  Input_argument *in_stack_ffffffb4;\n  Input_argument *in_stack_ffffffb8;\n  pointer local_20;\n  \n  if (this->input_argument_->is_file_ != false) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/options.h",0x83f,"lib");\n  }\n  lib = this->input_argument_->lib_;\n  if (lib == (Input_file_lib *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Input_argument::lib(in_stack_ffffffb4,in_stack_ffffffb8);\n  }\n  if ((lib->options_).whole_archive_ != false) {\n    bVar8 = do_whole_lib_group(this,workqueue);\n    return bVar8;\n  }\n  this_00 = (Lib_group *)operator_new(0x18);\n                    /* try { // try from 001adf80 to 001adf84 has its CatchHandler @ 001ae1c7 */\n  Lib_group::Lib_group(this_00,lib,&this->super_Task);\n  t = (Task *)operator_new(0x40);\n  pIVar1 = this->input_objects_;\n  pSVar2 = this->symtab_;\n  pTVar3 = this->next_blocker_;\n  (t->name_).field_2._M_local_buf[0] = '\0';\n  pLVar4 = this->layout_;\n  (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n  t[1]._vptr_Task = (_func_int_varargs **)pSVar2;\n  t[1].list_next_ = (Task *)pLVar4;\n  *(Task_token **)((int)&t[1].name_.field_2 + 8) = pTVar3;\n  t->list_next_ = (Task *)0x0;\n  t->_vptr_Task = (_func_int_varargs **)&PTR__Add_lib_group_symbols_0040667c;\n  (t->name_)._M_string_length = 0;\n  t->should_run_soon_ = false;\n  t[1].name_._M_dataplus._M_p = (pointer)pIVar1;\n  t[1].name_._M_string_length = (size_type)this_00;\n  t[1].name_.field_2._M_allocated_capacity = 0;\n  *(undefined4 *)((int)&t[1].name_.field_2 + 4) = 0;\n  pTVar9 = (Task *)operator_new(0x14);\n  *(undefined1 *)&pTVar9->_vptr_Task = 1;\n  pTVar9->list_next_ = (Task *)0x0;\n  (pTVar9->name_)._M_dataplus._M_p = (pointer)0x0;\n  (pTVar9->name_)._M_string_length = 0;\n  (pTVar9->name_).field_2._M_allocated_capacity = 0;\n  local_20 = (lib->files_).\n             super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl\n             ._M_start;\n  if (local_20 !=\n      (lib->files_).super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>.\n      _M_impl._M_finish) {\n    iVar12 = 0xc;\n    pAVar11 = (this_00->members_).\n              super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>.\n              _M_impl._M_start;\n    pTVar10 = (Task *)0x0;\n    while( true ) {\n      (pTVar9->name_)._M_dataplus._M_p = (pointer)0x0;\n      pTVar9->list_next_ = (Task *)((int)&pTVar10->_vptr_Task + 1);\n      pTVar10 = (Task *)operator_new(0x50);\n      pDVar5 = this->dirpath_;\n      pTVar10->list_next_ = (Task *)0x0;\n      pTVar10->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_00408290;\n      pIVar1 = this->input_objects_;\n      pTVar10[1].name_._M_string_length = (size_type)pDVar5;\n      pMVar6 = this->mapfile_;\n      pTVar10[1]._vptr_Task = (_func_int_varargs **)pIVar1;\n      pSVar2 = this->symtab_;\n      *(Mapfile **)((int)&pTVar10[1].name_.field_2 + 4) = pMVar6;\n      pTVar10[1].list_next_ = (Task *)pSVar2;\n      pLVar4 = this->layout_;\n      (pTVar10->name_)._M_dataplus._M_p = (pointer)&(pTVar10->name_).field_2;\n      pTVar10[1].name_._M_dataplus._M_p = (pointer)pLVar4;\n      sVar7 = this->dirindex_;\n      (pTVar10->name_)._M_string_length = 0;\n      pTVar10[1].name_.field_2._M_allocated_capacity = sVar7;\n      (pTVar10->name_).field_2._M_local_buf[0] = '\0';\n      pTVar10->should_run_soon_ = false;\n      *(pointer *)((int)&pTVar10[1].name_.field_2 + 8) = local_20;\n      *(undefined4 *)((int)&pTVar10[1].name_.field_2 + 0xc) = 0;\n      *(pointer *)&pTVar10[1].should_run_soon_ = pAVar11;\n      pTVar10[2]._vptr_Task = (_func_int_varargs **)0x0;\n      pTVar10[2].list_next_ = pTVar9;\n      Workqueue::queue_soon(workqueue,pTVar10);\n      local_20 = local_20 + 1;\n      if ((lib->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == local_20) break;\n      pAVar11 = (pointer)((int)&((this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>\n                                 ._M_impl._M_start)->obj_ + iVar12);\n      iVar12 = iVar12 + 0xc;\n      if (*(char *)&pTVar9->_vptr_Task == '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/token.h",0x8e,"add_blocker");\n      }\n      pTVar10 = pTVar9->list_next_;\n    }\n  }\n  pTVar3 = this->this_blocker_;\n  if ((t[1].name_.field_2._M_allocated_capacity == 0) &&\n     (*(int *)((int)&t[1].name_.field_2 + 4) == 0)) {\n    *(Task **)&t[1].name_.field_2 = pTVar9;\n    *(Task_token **)((int)&t[1].name_.field_2 + 4) = pTVar3;\n    Workqueue::queue_soon(workqueue,t);\n    return true;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/archive.h",0x228,"set_blocker");\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Read_symbols::" identifier : : identifier : :) (function_declarator "do_lib_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  Input_file_lib *lib;\n  Input_objects *pIVar1;\n  Symbol_table *pSVar2;\n  Task_token *pTVar3;\n  Layout *pLVar4;\n  Dirsearch *pDVar5;\n  Mapfile *pMVar6;\n  size_type sVar7;\n  bool bVar8;\n  Lib_group *this_00;\n  Task *t;\n  Task *pTVar9;\n  Task *pTVar10;\n  pointer pAVar11;\n  int iVar12;\n  Input_argument *in_stack_ffffffb4;\n  Input_argument *in_stack_ffffffb8;\n  pointer local_20;\n  \n  if (this->input_argument_->is_file_ != false) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/options.h",0x83f,"lib");\n  }\n  lib = this->input_argument_->lib_;\n  if (lib == (Input_file_lib *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Input_argument::lib(in_stack_ffffffb4,in_stack_ffffffb8);\n  }\n  if ((lib->options_).whole_archive_ != false) {\n    bVar8 = do_whole_lib_group(this,workqueue);\n    return bVar8;\n  }\n  this_00 = (Lib_group *)operator_new(0x18);\n                    /* try { // try from 001adf80 to 001adf84 has its CatchHandler @ 001ae1c7 */\n  Lib_group::Lib_group(this_00,lib,&this->super_Task);\n  t = (Task *)operator_new(0x40);\n  pIVar1 = this->input_objects_;\n  pSVar2 = this->symtab_;\n  pTVar3 = this->next_blocker_;\n  (t->name_).field_2._M_local_buf[0] = '\0';\n  pLVar4 = this->layout_;\n  (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n  t[1]._vptr_Task = (_func_int_varargs **)pSVar2;\n  t[1].list_next_ = (Task *)pLVar4;\n  *(Task_token **)((int)&t[1].name_.field_2 + 8) = pTVar3;\n  t->list_next_ = (Task *)0x0;\n  t->_vptr_Task = (_func_int_varargs **)&PTR__Add_lib_group_symbols_0040667c;\n  (t->name_)._M_string_length = 0;\n  t->should_run_soon_ = false;\n  t[1].name_._M_dataplus._M_p = (pointer)pIVar1;\n  t[1].name_._M_string_length = (size_type)this_00;\n  t[1].name_.field_2._M_allocated_capacity = 0;\n  *(undefined4 *)((int)&t[1].name_.field_2 + 4) = 0;\n  pTVar9 = (Task *)operator_new(0x14);\n  *(undefined1 *)&pTVar9->_vptr_Task = 1;\n  pTVar9->list_next_ = (Task *)0x0;\n  (pTVar9->name_)._M_dataplus._M_p = (pointer)0x0;\n  (pTVar9->name_)._M_string_length = 0;\n  (pTVar9->name_).field_2._M_allocated_capacity = 0;\n  local_20 = (lib->files_).\n             super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl\n             ._M_start;\n  if (local_20 !=\n      (lib->files_).super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>.\n      _M_impl._M_finish) {\n    iVar12 = 0xc;\n    pAVar11 = (this_00->members_).\n              super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>.\n              _M_impl._M_start;\n    pTVar10 = (Task *)0x0;\n    while( true ) {\n      (pTVar9->name_)._M_dataplus._M_p = (pointer)0x0;\n      pTVar9->list_next_ = (Task *)((int)&pTVar10->_vptr_Task + 1);\n      pTVar10 = (Task *)operator_new(0x50);\n      pDVar5 = this->dirpath_;\n      pTVar10->list_next_ = (Task *)0x0;\n      pTVar10->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_00408290;\n      pIVar1 = this->input_objects_;\n      pTVar10[1].name_._M_string_length = (size_type)pDVar5;\n      pMVar6 = this->mapfile_;\n      pTVar10[1]._vptr_Task = (_func_int_varargs **)pIVar1;\n      pSVar2 = this->symtab_;\n      *(Mapfile **)((int)&pTVar10[1].name_.field_2 + 4) = pMVar6;\n      pTVar10[1].list_next_ = (Task *)pSVar2;\n      pLVar4 = this->layout_;\n      (pTVar10->name_)._M_dataplus._M_p = (pointer)&(pTVar10->name_).field_2;\n      pTVar10[1].name_._M_dataplus._M_p = (pointer)pLVar4;\n      sVar7 = this->dirindex_;\n      (pTVar10->name_)._M_string_length = 0;\n      pTVar10[1].name_.field_2._M_allocated_capacity = sVar7;\n      (pTVar10->name_).field_2._M_local_buf[0] = '\0';\n      pTVar10->should_run_soon_ = false;\n      *(pointer *)((int)&pTVar10[1].name_.field_2 + 8) = local_20;\n      *(undefined4 *)((int)&pTVar10[1].name_.field_2 + 0xc) = 0;\n      *(pointer *)&pTVar10[1].should_run_soon_ = pAVar11;\n      pTVar10[2]._vptr_Task = (_func_int_varargs **)0x0;\n      pTVar10[2].list_next_ = pTVar9;\n      Workqueue::queue_soon(workqueue,pTVar10);\n      local_20 = local_20 + 1;\n      if ((lib->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == local_20) break;\n      pAVar11 = (pointer)((int)&((this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>\n                                 ._M_impl._M_start)->obj_ + iVar12);\n      iVar12 = iVar12 + 0xc;\n      if (*(char *)&pTVar9->_vptr_Task == '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/token.h",0x8e,"add_blocker");\n      }\n      pTVar10 = pTVar9->list_next_;\n    }\n  }\n  pTVar3 = this->this_blocker_;\n  if ((t[1].name_.field_2._M_allocated_capacity == 0) &&\n     (*(int *)((int)&t[1].name_.field_2 + 4) == 0)) {\n    *(Task **)&t[1].name_.field_2 = pTVar9;\n    *(Task_token **)((int)&t[1].name_.field_2 + 4) = pTVar3;\n    Workqueue::queue_soon(workqueue,t);\n    return true;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/archive.h",0x228,"set_blocker");\n}" { (declaration "Input_file_lib *lib;" type_identifier (pointer_declarator "*lib" * identifier) ;) (declaration "Input_objects *pIVar1;" type_identifier (pointer_declarator "*pIVar1" * identifier) ;) (declaration "Symbol_table *pSVar2;" type_identifier (pointer_declarator "*pSVar2" * identifier) ;) (declaration "Task_token *pTVar3;" type_identifier (pointer_declarator "*pTVar3" * identifier) ;) (declaration "Layout *pLVar4;" type_identifier (pointer_declarator "*pLVar4" * identifier) ;) (declaration "Dirsearch *pDVar5;" type_identifier (pointer_declarator "*pDVar5" * identifier) ;) (declaration "Mapfile *pMVar6;" type_identifier (pointer_declarator "*pMVar6" * identifier) ;) (declaration "size_type sVar7;" type_identifier identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "Lib_group *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "Task *t;" type_identifier (pointer_declarator "*t" * identifier) ;) (declaration "Task *pTVar9;" type_identifier (pointer_declarator "*pTVar9" * identifier) ;) (declaration "Task *pTVar10;" type_identifier (pointer_declarator "*pTVar10" * identifier) ;) (declaration "pointer pAVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "Input_argument *in_stack_ffffffb4;" type_identifier (pointer_declarator "*in_stack_ffffffb4" * identifier) ;) (declaration "Input_argument *in_stack_ffffffb8;" type_identifier (pointer_declarator "*in_stack_ffffffb8" * identifier) ;) (declaration "pointer local_20;" type_identifier identifier ;) (if_statement "if (this->input_argument_->is_file_ != false) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/options.h",0x83f,"lib");\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",0x83f,"lib");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/options.h",0x83f,"lib");" (call_expression "do_gold_unreachable("../../gold/options.h",0x83f,"lib")" identifier (argument_list "("../../gold/options.h",0x83f,"lib")" ( (string_literal ""../../gold/options.h"" " string_content ") , number_literal , (string_literal ""lib"" " string_content ") ))) ;) })) (expression_statement "lib = this->input_argument_->lib_;" (assignment_expression "lib = this->input_argument_->lib_" identifier = (field_expression "this->input_argument_->lib_" (field_expression "this->input_argument_" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (lib == (Input_file_lib *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Input_argument::lib(in_stack_ffffffb4,in_stack_ffffffb8);\n  }" if (parenthesized_expression "(lib == (Input_file_lib *)0x0)" ( (binary_expression "lib == (Input_file_lib *)0x0" identifier == (cast_expression "(Input_file_lib *)0x0" ( (type_descriptor "Input_file_lib *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    Input_argument::lib(in_stack_ffffffb4,in_stack_ffffffb8);\n  }" { comment (labeled_statement "Input_argument::lib(in_stack_ffffffb4,in_stack_ffffffb8);" statement_identifier : (ERROR ":" :) (expression_statement "lib(in_stack_ffffffb4,in_stack_ffffffb8);" (call_expression "lib(in_stack_ffffffb4,in_stack_ffffffb8)" identifier (argument_list "(in_stack_ffffffb4,in_stack_ffffffb8)" ( identifier , identifier ))) ;)) })) (if_statement "if ((lib->options_).whole_archive_ != false) {\n    bVar8 = do_whole_lib_group(this,workqueue);\n    return bVar8;\n  }" if (parenthesized_expression "((lib->options_).whole_archive_ != false)" ( (binary_expression "(lib->options_).whole_archive_ != false" (field_expression "(lib->options_).whole_archive_" (parenthesized_expression "(lib->options_)" ( (field_expression "lib->options_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    bVar8 = do_whole_lib_group(this,workqueue);\n    return bVar8;\n  }" { (expression_statement "bVar8 = do_whole_lib_group(this,workqueue);" (assignment_expression "bVar8 = do_whole_lib_group(this,workqueue)" identifier = (call_expression "do_whole_lib_group(this,workqueue)" identifier (argument_list "(this,workqueue)" ( identifier , identifier )))) ;) (return_statement "return bVar8;" return identifier ;) })) (expression_statement "this_00 = (Lib_group *)operator_new(0x18);" (assignment_expression "this_00 = (Lib_group *)operator_new(0x18)" identifier = (cast_expression "(Lib_group *)operator_new(0x18)" ( (type_descriptor "Lib_group *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x18)" identifier (argument_list "(0x18)" ( number_literal ))))) ;) comment (labeled_statement "Lib_group::Lib_group(this_00,lib,&this->super_Task);" statement_identifier : (ERROR ":" :) (expression_statement "Lib_group(this_00,lib,&this->super_Task);" (call_expression "Lib_group(this_00,lib,&this->super_Task)" identifier (argument_list "(this_00,lib,&this->super_Task)" ( identifier , identifier , (pointer_expression "&this->super_Task" & (field_expression "this->super_Task" identifier -> field_identifier)) ))) ;)) (expression_statement "t = (Task *)operator_new(0x40);" (assignment_expression "t = (Task *)operator_new(0x40)" identifier = (cast_expression "(Task *)operator_new(0x40)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) (expression_statement "pIVar1 = this->input_objects_;" (assignment_expression "pIVar1 = this->input_objects_" identifier = (field_expression "this->input_objects_" identifier -> field_identifier)) ;) (expression_statement "pSVar2 = this->symtab_;" (assignment_expression "pSVar2 = this->symtab_" identifier = (field_expression "this->symtab_" identifier -> field_identifier)) ;) (expression_statement "pTVar3 = this->next_blocker_;" (assignment_expression "pTVar3 = this->next_blocker_" identifier = (field_expression "this->next_blocker_" identifier -> field_identifier)) ;) (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 "pLVar4 = this->layout_;" (assignment_expression "pLVar4 = this->layout_" 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[1]._vptr_Task = (_func_int_varargs **)pSVar2;" (assignment_expression "t[1]._vptr_Task = (_func_int_varargs **)pSVar2" (field_expression "t[1]._vptr_Task" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)pSVar2" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "t[1].list_next_ = (Task *)pLVar4;" (assignment_expression "t[1].list_next_ = (Task *)pLVar4" (field_expression "t[1].list_next_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Task *)pLVar4" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(Task_token **)((int)&t[1].name_.field_2 + 8) = pTVar3;" (assignment_expression "*(Task_token **)((int)&t[1].name_.field_2 + 8) = pTVar3" (pointer_expression "*(Task_token **)((int)&t[1].name_.field_2 + 8)" * (cast_expression "(Task_token **)((int)&t[1].name_.field_2 + 8)" ( (type_descriptor "Task_token **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&t[1].name_.field_2 + 8)" ( (binary_expression "(int)&t[1].name_.field_2 + 8" (cast_expression "(int)&t[1].name_.field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&t[1].name_.field_2" & (field_expression "t[1].name_.field_2" (field_expression "t[1].name_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "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->_vptr_Task = (_func_int_varargs **)&PTR__Add_lib_group_symbols_0040667c;" (assignment_expression "t->_vptr_Task = (_func_int_varargs **)&PTR__Add_lib_group_symbols_0040667c" (field_expression "t->_vptr_Task" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Add_lib_group_symbols_0040667c" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Add_lib_group_symbols_0040667c" & identifier))) ;) (expression_statement "(t->name_)._M_string_length = 0;" (assignment_expression "(t->name_)._M_string_length = 0" (field_expression "(t->name_)._M_string_length" (parenthesized_expression "(t->name_)" ( (field_expression "t->name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "t->should_run_soon_ = false;" (assignment_expression "t->should_run_soon_ = false" (field_expression "t->should_run_soon_" identifier -> field_identifier) = false) ;) (expression_statement "t[1].name_._M_dataplus._M_p = (pointer)pIVar1;" (assignment_expression "t[1].name_._M_dataplus._M_p = (pointer)pIVar1" (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)pIVar1" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "t[1].name_._M_string_length = (size_type)this_00;" (assignment_expression "t[1].name_._M_string_length = (size_type)this_00" (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)this_00" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (expression_statement "t[1].name_.field_2._M_allocated_capacity = 0;" (assignment_expression "t[1].name_.field_2._M_allocated_capacity = 0" (field_expression "t[1].name_.field_2._M_allocated_capacity" (field_expression "t[1].name_.field_2" (field_expression "t[1].name_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&t[1].name_.field_2 + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&t[1].name_.field_2 + 4) = 0" (pointer_expression "*(undefined4 *)((int)&t[1].name_.field_2 + 4)" * (cast_expression "(undefined4 *)((int)&t[1].name_.field_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&t[1].name_.field_2 + 4)" ( (binary_expression "(int)&t[1].name_.field_2 + 4" (cast_expression "(int)&t[1].name_.field_2" ( (type_descriptor "int" primitive_type) ) (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 "pTVar9 = (Task *)operator_new(0x14);" (assignment_expression "pTVar9 = (Task *)operator_new(0x14)" identifier = (cast_expression "(Task *)operator_new(0x14)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;) (expression_statement "*(undefined1 *)&pTVar9->_vptr_Task = 1;" (assignment_expression "*(undefined1 *)&pTVar9->_vptr_Task = 1" (pointer_expression "*(undefined1 *)&pTVar9->_vptr_Task" * (cast_expression "(undefined1 *)&pTVar9->_vptr_Task" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTVar9->_vptr_Task" & (field_expression "pTVar9->_vptr_Task" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pTVar9->list_next_ = (Task *)0x0;" (assignment_expression "pTVar9->list_next_ = (Task *)0x0" (field_expression "pTVar9->list_next_" identifier -> field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pTVar9->name_)._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "(pTVar9->name_)._M_dataplus._M_p = (pointer)0x0" (field_expression "(pTVar9->name_)._M_dataplus._M_p" (field_expression "(pTVar9->name_)._M_dataplus" (parenthesized_expression "(pTVar9->name_)" ( (field_expression "pTVar9->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(pTVar9->name_)._M_string_length = 0;" (assignment_expression "(pTVar9->name_)._M_string_length = 0" (field_expression "(pTVar9->name_)._M_string_length" (parenthesized_expression "(pTVar9->name_)" ( (field_expression "pTVar9->name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pTVar9->name_).field_2._M_allocated_capacity = 0;" (assignment_expression "(pTVar9->name_).field_2._M_allocated_capacity = 0" (field_expression "(pTVar9->name_).field_2._M_allocated_capacity" (field_expression "(pTVar9->name_).field_2" (parenthesized_expression "(pTVar9->name_)" ( (field_expression "pTVar9->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (ERROR "local_20 = (lib->files_).\n             super__Vector_base<gold::Input_argument,_std::allocator<gold::" (comma_expression "local_20 = (lib->files_).\n             super__Vector_base<gold::Input_argument,_std" (assignment_expression "local_20 = (lib->files_).\n             super__Vector_base<gold" identifier = (binary_expression "(lib->files_).\n             super__Vector_base<gold" (field_expression "(lib->files_).\n             super__Vector_base" (parenthesized_expression "(lib->files_)" ( (field_expression "lib->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 (local_20 !=\n      (lib->files_).super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>.\n      _M_impl._M_finish) {\n    iVar12 = 0xc;\n    pAVar11 = (this_00->members_).\n              super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>.\n              _M_impl._M_start;\n    pTVar10 = (Task *)0x0;\n    while( true ) {\n      (pTVar9->name_)._M_dataplus._M_p = (pointer)0x0;\n      pTVar9->list_next_ = (Task *)((int)&pTVar10->_vptr_Task + 1);\n      pTVar10 = (Task *)operator_new(0x50);\n      pDVar5 = this->dirpath_;\n      pTVar10->list_next_ = (Task *)0x0;\n      pTVar10->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_00408290;\n      pIVar1 = this->input_objects_;\n      pTVar10[1].name_._M_string_length = (size_type)pDVar5;\n      pMVar6 = this->mapfile_;\n      pTVar10[1]._vptr_Task = (_func_int_varargs **)pIVar1;\n      pSVar2 = this->symtab_;\n      *(Mapfile **)((int)&pTVar10[1].name_.field_2 + 4) = pMVar6;\n      pTVar10[1].list_next_ = (Task *)pSVar2;\n      pLVar4 = this->layout_;\n      (pTVar10->name_)._M_dataplus._M_p = (pointer)&(pTVar10->name_).field_2;\n      pTVar10[1].name_._M_dataplus._M_p = (pointer)pLVar4;\n      sVar7 = this->dirindex_;\n      (pTVar10->name_)._M_string_length = 0;\n      pTVar10[1].name_.field_2._M_allocated_capacity = sVar7;\n      (pTVar10->name_).field_2._M_local_buf[0] = '\0';\n      pTVar10->should_run_soon_ = false;\n      *(pointer *)((int)&pTVar10[1].name_.field_2 + 8) = local_20;\n      *(undefined4 *)((int)&pTVar10[1].name_.field_2 + 0xc) = 0;\n      *(pointer *)&pTVar10[1].should_run_soon_ = pAVar11;\n      pTVar10[2]._vptr_Task = (_func_int_varargs **)0x0;\n      pTVar10[2].list_next_ = pTVar9;\n      Workqueue::queue_soon(workqueue,pTVar10);\n      local_20 = local_20 + 1;\n      if ((lib->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == local_20) break;\n      pAVar11 = (pointer)((int)&((this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>\n                                 ._M_impl._M_start)->obj_ + iVar12);\n      iVar12 = iVar12 + 0xc;\n      if (*(char *)&pTVar9->_vptr_Task == '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/token.h",0x8e,"add_blocker");\n      }\n      pTVar10 = pTVar9->list_next_;\n    }\n  }" if (parenthesized_expression "(local_20 !=\n      (lib->files_).super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>.\n      _M_impl._M_finish)" ( (ERROR "local_20 !=\n      (lib->files_).super__Vector_base<gold::Input_argument,_std::allocator<gold::" (comma_expression "local_20 !=\n      (lib->files_).super__Vector_base<gold::Input_argument,_std" (binary_expression "local_20 !=\n      (lib->files_).super__Vector_base<gold" identifier != (binary_expression "(lib->files_).super__Vector_base<gold" (field_expression "(lib->files_).super__Vector_base" (parenthesized_expression "(lib->files_)" ( (field_expression "lib->files_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Input_argument" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (field_expression "Input_argument>_>.\n      _M_impl._M_finish" (field_expression "Input_argument>_>.\n      _M_impl" (binary_expression "Input_argument>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n    iVar12 = 0xc;\n    pAVar11 = (this_00->members_).\n              super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>.\n              _M_impl._M_start;\n    pTVar10 = (Task *)0x0;\n    while( true ) {\n      (pTVar9->name_)._M_dataplus._M_p = (pointer)0x0;\n      pTVar9->list_next_ = (Task *)((int)&pTVar10->_vptr_Task + 1);\n      pTVar10 = (Task *)operator_new(0x50);\n      pDVar5 = this->dirpath_;\n      pTVar10->list_next_ = (Task *)0x0;\n      pTVar10->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_00408290;\n      pIVar1 = this->input_objects_;\n      pTVar10[1].name_._M_string_length = (size_type)pDVar5;\n      pMVar6 = this->mapfile_;\n      pTVar10[1]._vptr_Task = (_func_int_varargs **)pIVar1;\n      pSVar2 = this->symtab_;\n      *(Mapfile **)((int)&pTVar10[1].name_.field_2 + 4) = pMVar6;\n      pTVar10[1].list_next_ = (Task *)pSVar2;\n      pLVar4 = this->layout_;\n      (pTVar10->name_)._M_dataplus._M_p = (pointer)&(pTVar10->name_).field_2;\n      pTVar10[1].name_._M_dataplus._M_p = (pointer)pLVar4;\n      sVar7 = this->dirindex_;\n      (pTVar10->name_)._M_string_length = 0;\n      pTVar10[1].name_.field_2._M_allocated_capacity = sVar7;\n      (pTVar10->name_).field_2._M_local_buf[0] = '\0';\n      pTVar10->should_run_soon_ = false;\n      *(pointer *)((int)&pTVar10[1].name_.field_2 + 8) = local_20;\n      *(undefined4 *)((int)&pTVar10[1].name_.field_2 + 0xc) = 0;\n      *(pointer *)&pTVar10[1].should_run_soon_ = pAVar11;\n      pTVar10[2]._vptr_Task = (_func_int_varargs **)0x0;\n      pTVar10[2].list_next_ = pTVar9;\n      Workqueue::queue_soon(workqueue,pTVar10);\n      local_20 = local_20 + 1;\n      if ((lib->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == local_20) break;\n      pAVar11 = (pointer)((int)&((this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>\n                                 ._M_impl._M_start)->obj_ + iVar12);\n      iVar12 = iVar12 + 0xc;\n      if (*(char *)&pTVar9->_vptr_Task == '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/token.h",0x8e,"add_blocker");\n      }\n      pTVar10 = pTVar9->list_next_;\n    }\n  }" { (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" identifier = number_literal) ;) (ERROR "pAVar11 = (this_00->members_).\n              super__Vector_base<gold::Archive_member,_std::allocator<gold::" (comma_expression "pAVar11 = (this_00->members_).\n              super__Vector_base<gold::Archive_member,_std" (assignment_expression "pAVar11 = (this_00->members_).\n              super__Vector_base<gold" identifier = (binary_expression "(this_00->members_).\n              super__Vector_base<gold" (field_expression "(this_00->members_).\n              super__Vector_base" (parenthesized_expression "(this_00->members_)" ( (field_expression "this_00->members_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Archive_member" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Archive_member>_>.\n              _M_impl._M_start;" (field_expression "Archive_member>_>.\n              _M_impl._M_start" (field_expression "Archive_member>_>.\n              _M_impl" (binary_expression "Archive_member>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "pTVar10 = (Task *)0x0;" (assignment_expression "pTVar10 = (Task *)0x0" identifier = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while( true ) {\n      (pTVar9->name_)._M_dataplus._M_p = (pointer)0x0;\n      pTVar9->list_next_ = (Task *)((int)&pTVar10->_vptr_Task + 1);\n      pTVar10 = (Task *)operator_new(0x50);\n      pDVar5 = this->dirpath_;\n      pTVar10->list_next_ = (Task *)0x0;\n      pTVar10->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_00408290;\n      pIVar1 = this->input_objects_;\n      pTVar10[1].name_._M_string_length = (size_type)pDVar5;\n      pMVar6 = this->mapfile_;\n      pTVar10[1]._vptr_Task = (_func_int_varargs **)pIVar1;\n      pSVar2 = this->symtab_;\n      *(Mapfile **)((int)&pTVar10[1].name_.field_2 + 4) = pMVar6;\n      pTVar10[1].list_next_ = (Task *)pSVar2;\n      pLVar4 = this->layout_;\n      (pTVar10->name_)._M_dataplus._M_p = (pointer)&(pTVar10->name_).field_2;\n      pTVar10[1].name_._M_dataplus._M_p = (pointer)pLVar4;\n      sVar7 = this->dirindex_;\n      (pTVar10->name_)._M_string_length = 0;\n      pTVar10[1].name_.field_2._M_allocated_capacity = sVar7;\n      (pTVar10->name_).field_2._M_local_buf[0] = '\0';\n      pTVar10->should_run_soon_ = false;\n      *(pointer *)((int)&pTVar10[1].name_.field_2 + 8) = local_20;\n      *(undefined4 *)((int)&pTVar10[1].name_.field_2 + 0xc) = 0;\n      *(pointer *)&pTVar10[1].should_run_soon_ = pAVar11;\n      pTVar10[2]._vptr_Task = (_func_int_varargs **)0x0;\n      pTVar10[2].list_next_ = pTVar9;\n      Workqueue::queue_soon(workqueue,pTVar10);\n      local_20 = local_20 + 1;\n      if ((lib->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == local_20) break;\n      pAVar11 = (pointer)((int)&((this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>\n                                 ._M_impl._M_start)->obj_ + iVar12);\n      iVar12 = iVar12 + 0xc;\n      if (*(char *)&pTVar9->_vptr_Task == '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/token.h",0x8e,"add_blocker");\n      }\n      pTVar10 = pTVar9->list_next_;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      (pTVar9->name_)._M_dataplus._M_p = (pointer)0x0;\n      pTVar9->list_next_ = (Task *)((int)&pTVar10->_vptr_Task + 1);\n      pTVar10 = (Task *)operator_new(0x50);\n      pDVar5 = this->dirpath_;\n      pTVar10->list_next_ = (Task *)0x0;\n      pTVar10->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_00408290;\n      pIVar1 = this->input_objects_;\n      pTVar10[1].name_._M_string_length = (size_type)pDVar5;\n      pMVar6 = this->mapfile_;\n      pTVar10[1]._vptr_Task = (_func_int_varargs **)pIVar1;\n      pSVar2 = this->symtab_;\n      *(Mapfile **)((int)&pTVar10[1].name_.field_2 + 4) = pMVar6;\n      pTVar10[1].list_next_ = (Task *)pSVar2;\n      pLVar4 = this->layout_;\n      (pTVar10->name_)._M_dataplus._M_p = (pointer)&(pTVar10->name_).field_2;\n      pTVar10[1].name_._M_dataplus._M_p = (pointer)pLVar4;\n      sVar7 = this->dirindex_;\n      (pTVar10->name_)._M_string_length = 0;\n      pTVar10[1].name_.field_2._M_allocated_capacity = sVar7;\n      (pTVar10->name_).field_2._M_local_buf[0] = '\0';\n      pTVar10->should_run_soon_ = false;\n      *(pointer *)((int)&pTVar10[1].name_.field_2 + 8) = local_20;\n      *(undefined4 *)((int)&pTVar10[1].name_.field_2 + 0xc) = 0;\n      *(pointer *)&pTVar10[1].should_run_soon_ = pAVar11;\n      pTVar10[2]._vptr_Task = (_func_int_varargs **)0x0;\n      pTVar10[2].list_next_ = pTVar9;\n      Workqueue::queue_soon(workqueue,pTVar10);\n      local_20 = local_20 + 1;\n      if ((lib->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == local_20) break;\n      pAVar11 = (pointer)((int)&((this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>\n                                 ._M_impl._M_start)->obj_ + iVar12);\n      iVar12 = iVar12 + 0xc;\n      if (*(char *)&pTVar9->_vptr_Task == '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/token.h",0x8e,"add_blocker");\n      }\n      pTVar10 = pTVar9->list_next_;\n    }" { (expression_statement "(pTVar9->name_)._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "(pTVar9->name_)._M_dataplus._M_p = (pointer)0x0" (field_expression "(pTVar9->name_)._M_dataplus._M_p" (field_expression "(pTVar9->name_)._M_dataplus" (parenthesized_expression "(pTVar9->name_)" ( (field_expression "pTVar9->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "pTVar9->list_next_ = (Task *)((int)&pTVar10->_vptr_Task + 1);" (assignment_expression "pTVar9->list_next_ = (Task *)((int)&pTVar10->_vptr_Task + 1)" (field_expression "pTVar9->list_next_" identifier -> field_identifier) = (cast_expression "(Task *)((int)&pTVar10->_vptr_Task + 1)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTVar10->_vptr_Task + 1)" ( (binary_expression "(int)&pTVar10->_vptr_Task + 1" (cast_expression "(int)&pTVar10->_vptr_Task" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTVar10->_vptr_Task" & (field_expression "pTVar10->_vptr_Task" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pTVar10 = (Task *)operator_new(0x50);" (assignment_expression "pTVar10 = (Task *)operator_new(0x50)" identifier = (cast_expression "(Task *)operator_new(0x50)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x50)" identifier (argument_list "(0x50)" ( number_literal ))))) ;) (expression_statement "pDVar5 = this->dirpath_;" (assignment_expression "pDVar5 = this->dirpath_" identifier = (field_expression "this->dirpath_" identifier -> field_identifier)) ;) (expression_statement "pTVar10->list_next_ = (Task *)0x0;" (assignment_expression "pTVar10->list_next_ = (Task *)0x0" (field_expression "pTVar10->list_next_" identifier -> field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pTVar10->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_00408290;" (assignment_expression "pTVar10->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_00408290" (field_expression "pTVar10->_vptr_Task" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Read_symbols_00408290" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Read_symbols_00408290" & identifier))) ;) (expression_statement "pIVar1 = this->input_objects_;" (assignment_expression "pIVar1 = this->input_objects_" identifier = (field_expression "this->input_objects_" identifier -> field_identifier)) ;) (expression_statement "pTVar10[1].name_._M_string_length = (size_type)pDVar5;" (assignment_expression "pTVar10[1].name_._M_string_length = (size_type)pDVar5" (field_expression "pTVar10[1].name_._M_string_length" (field_expression "pTVar10[1].name_" (subscript_expression "pTVar10[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(size_type)pDVar5" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (expression_statement "pMVar6 = this->mapfile_;" (assignment_expression "pMVar6 = this->mapfile_" identifier = (field_expression "this->mapfile_" identifier -> field_identifier)) ;) (expression_statement "pTVar10[1]._vptr_Task = (_func_int_varargs **)pIVar1;" (assignment_expression "pTVar10[1]._vptr_Task = (_func_int_varargs **)pIVar1" (field_expression "pTVar10[1]._vptr_Task" (subscript_expression "pTVar10[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)pIVar1" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pSVar2 = this->symtab_;" (assignment_expression "pSVar2 = this->symtab_" identifier = (field_expression "this->symtab_" identifier -> field_identifier)) ;) (expression_statement "*(Mapfile **)((int)&pTVar10[1].name_.field_2 + 4) = pMVar6;" (assignment_expression "*(Mapfile **)((int)&pTVar10[1].name_.field_2 + 4) = pMVar6" (pointer_expression "*(Mapfile **)((int)&pTVar10[1].name_.field_2 + 4)" * (cast_expression "(Mapfile **)((int)&pTVar10[1].name_.field_2 + 4)" ( (type_descriptor "Mapfile **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&pTVar10[1].name_.field_2 + 4)" ( (binary_expression "(int)&pTVar10[1].name_.field_2 + 4" (cast_expression "(int)&pTVar10[1].name_.field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTVar10[1].name_.field_2" & (field_expression "pTVar10[1].name_.field_2" (field_expression "pTVar10[1].name_" (subscript_expression "pTVar10[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "pTVar10[1].list_next_ = (Task *)pSVar2;" (assignment_expression "pTVar10[1].list_next_ = (Task *)pSVar2" (field_expression "pTVar10[1].list_next_" (subscript_expression "pTVar10[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Task *)pSVar2" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pLVar4 = this->layout_;" (assignment_expression "pLVar4 = this->layout_" identifier = (field_expression "this->layout_" identifier -> field_identifier)) ;) (expression_statement "(pTVar10->name_)._M_dataplus._M_p = (pointer)&(pTVar10->name_).field_2;" (assignment_expression "(pTVar10->name_)._M_dataplus._M_p = (pointer)&(pTVar10->name_).field_2" (field_expression "(pTVar10->name_)._M_dataplus._M_p" (field_expression "(pTVar10->name_)._M_dataplus" (parenthesized_expression "(pTVar10->name_)" ( (field_expression "pTVar10->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pTVar10->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pTVar10->name_).field_2" (parenthesized_expression "(pTVar10->name_)" ( (field_expression "pTVar10->name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pTVar10[1].name_._M_dataplus._M_p = (pointer)pLVar4;" (assignment_expression "pTVar10[1].name_._M_dataplus._M_p = (pointer)pLVar4" (field_expression "pTVar10[1].name_._M_dataplus._M_p" (field_expression "pTVar10[1].name_._M_dataplus" (field_expression "pTVar10[1].name_" (subscript_expression "pTVar10[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)pLVar4" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "sVar7 = this->dirindex_;" (assignment_expression "sVar7 = this->dirindex_" identifier = (field_expression "this->dirindex_" identifier -> field_identifier)) ;) (expression_statement "(pTVar10->name_)._M_string_length = 0;" (assignment_expression "(pTVar10->name_)._M_string_length = 0" (field_expression "(pTVar10->name_)._M_string_length" (parenthesized_expression "(pTVar10->name_)" ( (field_expression "pTVar10->name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "pTVar10[1].name_.field_2._M_allocated_capacity = sVar7;" (assignment_expression "pTVar10[1].name_.field_2._M_allocated_capacity = sVar7" (field_expression "pTVar10[1].name_.field_2._M_allocated_capacity" (field_expression "pTVar10[1].name_.field_2" (field_expression "pTVar10[1].name_" (subscript_expression "pTVar10[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(pTVar10->name_).field_2._M_local_buf[0] = '\0';" (assignment_expression "(pTVar10->name_).field_2._M_local_buf[0] = '\0'" (subscript_expression "(pTVar10->name_).field_2._M_local_buf[0]" (field_expression "(pTVar10->name_).field_2._M_local_buf" (field_expression "(pTVar10->name_).field_2" (parenthesized_expression "(pTVar10->name_)" ( (field_expression "pTVar10->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pTVar10->should_run_soon_ = false;" (assignment_expression "pTVar10->should_run_soon_ = false" (field_expression "pTVar10->should_run_soon_" identifier -> field_identifier) = false) ;) (expression_statement "*(pointer *)((int)&pTVar10[1].name_.field_2 + 8) = local_20;" (assignment_expression "*(pointer *)((int)&pTVar10[1].name_.field_2 + 8) = local_20" (pointer_expression "*(pointer *)((int)&pTVar10[1].name_.field_2 + 8)" * (cast_expression "(pointer *)((int)&pTVar10[1].name_.field_2 + 8)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTVar10[1].name_.field_2 + 8)" ( (binary_expression "(int)&pTVar10[1].name_.field_2 + 8" (cast_expression "(int)&pTVar10[1].name_.field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTVar10[1].name_.field_2" & (field_expression "pTVar10[1].name_.field_2" (field_expression "pTVar10[1].name_" (subscript_expression "pTVar10[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&pTVar10[1].name_.field_2 + 0xc) = 0;" (assignment_expression "*(undefined4 *)((int)&pTVar10[1].name_.field_2 + 0xc) = 0" (pointer_expression "*(undefined4 *)((int)&pTVar10[1].name_.field_2 + 0xc)" * (cast_expression "(undefined4 *)((int)&pTVar10[1].name_.field_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTVar10[1].name_.field_2 + 0xc)" ( (binary_expression "(int)&pTVar10[1].name_.field_2 + 0xc" (cast_expression "(int)&pTVar10[1].name_.field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTVar10[1].name_.field_2" & (field_expression "pTVar10[1].name_.field_2" (field_expression "pTVar10[1].name_" (subscript_expression "pTVar10[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(pointer *)&pTVar10[1].should_run_soon_ = pAVar11;" (assignment_expression "*(pointer *)&pTVar10[1].should_run_soon_ = pAVar11" (pointer_expression "*(pointer *)&pTVar10[1].should_run_soon_" * (cast_expression "(pointer *)&pTVar10[1].should_run_soon_" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTVar10[1].should_run_soon_" & (field_expression "pTVar10[1].should_run_soon_" (subscript_expression "pTVar10[1]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (expression_statement "pTVar10[2]._vptr_Task = (_func_int_varargs **)0x0;" (assignment_expression "pTVar10[2]._vptr_Task = (_func_int_varargs **)0x0" (field_expression "pTVar10[2]._vptr_Task" (subscript_expression "pTVar10[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pTVar10[2].list_next_ = pTVar9;" (assignment_expression "pTVar10[2].list_next_ = pTVar9" (field_expression "pTVar10[2].list_next_" (subscript_expression "pTVar10[2]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (labeled_statement "Workqueue::queue_soon(workqueue,pTVar10);" statement_identifier : (ERROR ":" :) (expression_statement "queue_soon(workqueue,pTVar10);" (call_expression "queue_soon(workqueue,pTVar10)" identifier (argument_list "(workqueue,pTVar10)" ( identifier , identifier ))) ;)) (expression_statement "local_20 = local_20 + 1;" (assignment_expression "local_20 = local_20 + 1" identifier = (binary_expression "local_20 + 1" identifier + number_literal)) ;) (if_statement "if ((lib->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == local_20) break;" if (parenthesized_expression "((lib->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == local_20)" ( (ERROR "(lib->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::" (comma_expression "(lib->files_).\n          super__Vector_base<gold::Input_argument,_std" (binary_expression "(lib->files_).\n          super__Vector_base<gold" (field_expression "(lib->files_).\n          super__Vector_base" (parenthesized_expression "(lib->files_)" ( (field_expression "lib->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 == local_20" (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 "pAVar11 = (pointer)((int)&((this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>\n                                 ._M_impl._M_start)->obj_ + iVar12);" (assignment_expression "pAVar11 = (pointer)((int)&((this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>\n                                 ._M_impl._M_start)->obj_ + iVar12)" identifier = (call_expression "(pointer)((int)&((this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>\n                                 ._M_impl._M_start)->obj_ + iVar12)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((int)&((this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>\n                                 ._M_impl._M_start)->obj_ + iVar12)" ( (binary_expression "(int)&((this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>\n                                 ._M_impl._M_start)->obj_ + iVar12" (cast_expression "(int)&((this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>\n                                 ._M_impl._M_start)->obj_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>\n                                 ._M_impl._M_start)->obj_" & (field_expression "((this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>\n                                 ._M_impl._M_start)->obj_" (parenthesized_expression "((this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::Archive_member>_>\n                                 ._M_impl._M_start)" ( (ERROR "(this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std::allocator<gold::" (comma_expression "(this_00->members_).\n                                 super__Vector_base<gold::Archive_member,_std" (binary_expression "(this_00->members_).\n                                 super__Vector_base<gold" (field_expression "(this_00->members_).\n                                 super__Vector_base" (parenthesized_expression "(this_00->members_)" ( (field_expression "this_00->members_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Archive_member" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (field_expression "Archive_member>_>\n                                 ._M_impl._M_start" (field_expression "Archive_member>_>\n                                 ._M_impl" (binary_expression "Archive_member>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) -> field_identifier))) + identifier) )))) ;) (expression_statement "iVar12 = iVar12 + 0xc;" (assignment_expression "iVar12 = iVar12 + 0xc" identifier = (binary_expression "iVar12 + 0xc" identifier + number_literal)) ;) (if_statement "if (*(char *)&pTVar9->_vptr_Task == '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/token.h",0x8e,"add_blocker");\n      }" if (parenthesized_expression "(*(char *)&pTVar9->_vptr_Task == '\0')" ( (binary_expression "*(char *)&pTVar9->_vptr_Task == '\0'" (pointer_expression "*(char *)&pTVar9->_vptr_Task" * (cast_expression "(char *)&pTVar9->_vptr_Task" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTVar9->_vptr_Task" & (field_expression "pTVar9->_vptr_Task" identifier -> field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/token.h",0x8e,"add_blocker");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/token.h",0x8e,"add_blocker");" (call_expression "do_gold_unreachable("../../gold/token.h",0x8e,"add_blocker")" identifier (argument_list "("../../gold/token.h",0x8e,"add_blocker")" ( (string_literal ""../../gold/token.h"" " string_content ") , number_literal , (string_literal ""add_blocker"" " string_content ") ))) ;) })) (expression_statement "pTVar10 = pTVar9->list_next_;" (assignment_expression "pTVar10 = pTVar9->list_next_" identifier = (field_expression "pTVar9->list_next_" identifier -> field_identifier)) ;) })) })) (expression_statement "pTVar3 = this->this_blocker_;" (assignment_expression "pTVar3 = this->this_blocker_" identifier = (field_expression "this->this_blocker_" identifier -> field_identifier)) ;) (if_statement "if ((t[1].name_.field_2._M_allocated_capacity == 0) &&\n     (*(int *)((int)&t[1].name_.field_2 + 4) == 0)) {\n    *(Task **)&t[1].name_.field_2 = pTVar9;\n    *(Task_token **)((int)&t[1].name_.field_2 + 4) = pTVar3;\n    Workqueue::queue_soon(workqueue,t);\n    return true;\n  }" if (parenthesized_expression "((t[1].name_.field_2._M_allocated_capacity == 0) &&\n     (*(int *)((int)&t[1].name_.field_2 + 4) == 0))" ( (binary_expression "(t[1].name_.field_2._M_allocated_capacity == 0) &&\n     (*(int *)((int)&t[1].name_.field_2 + 4) == 0)" (parenthesized_expression "(t[1].name_.field_2._M_allocated_capacity == 0)" ( (binary_expression "t[1].name_.field_2._M_allocated_capacity == 0" (field_expression "t[1].name_.field_2._M_allocated_capacity" (field_expression "t[1].name_.field_2" (field_expression "t[1].name_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) == number_literal) )) && (parenthesized_expression "(*(int *)((int)&t[1].name_.field_2 + 4) == 0)" ( (binary_expression "*(int *)((int)&t[1].name_.field_2 + 4) == 0" (pointer_expression "*(int *)((int)&t[1].name_.field_2 + 4)" * (cast_expression "(int *)((int)&t[1].name_.field_2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&t[1].name_.field_2 + 4)" ( (binary_expression "(int)&t[1].name_.field_2 + 4" (cast_expression "(int)&t[1].name_.field_2" ( (type_descriptor "int" primitive_type) ) (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) ))) )) (compound_statement "{\n    *(Task **)&t[1].name_.field_2 = pTVar9;\n    *(Task_token **)((int)&t[1].name_.field_2 + 4) = pTVar3;\n    Workqueue::queue_soon(workqueue,t);\n    return true;\n  }" { (expression_statement "*(Task **)&t[1].name_.field_2 = pTVar9;" (assignment_expression "*(Task **)&t[1].name_.field_2 = pTVar9" (pointer_expression "*(Task **)&t[1].name_.field_2" * (cast_expression "(Task **)&t[1].name_.field_2" ( (type_descriptor "Task **" type_identifier (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 "*(Task_token **)((int)&t[1].name_.field_2 + 4) = pTVar3;" (assignment_expression "*(Task_token **)((int)&t[1].name_.field_2 + 4) = pTVar3" (pointer_expression "*(Task_token **)((int)&t[1].name_.field_2 + 4)" * (cast_expression "(Task_token **)((int)&t[1].name_.field_2 + 4)" ( (type_descriptor "Task_token **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&t[1].name_.field_2 + 4)" ( (binary_expression "(int)&t[1].name_.field_2 + 4" (cast_expression "(int)&t[1].name_.field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&t[1].name_.field_2" & (field_expression "t[1].name_.field_2" (field_expression "t[1].name_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) (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 true;" return true ;) })) comment (expression_statement "do_gold_unreachable("../../gold/archive.h",0x228,"set_blocker");" (call_expression "do_gold_unreachable("../../gold/archive.h",0x228,"set_blocker")" identifier (argument_list "("../../gold/archive.h",0x228,"set_blocker")" ( (string_literal ""../../gold/archive.h"" " string_content ") , number_literal , (string_literal ""set_blocker"" " string_content ") ))) ;) })))
(translation_unit "undefined4 FUN_001adf20(int param_1,undefined4 param_2)\n\n{\n  int *piVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  char *pcVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  undefined8 uVar13;\n  int local_20;\n  \n  if (**(char **)(param_1 + 0x3c) == '\0') {\n    piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);\n    if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    \n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    \n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }\n    FUN_001ace40();\n  }\n                    \n  FUN_000da200("../../gold/options.h",0x83f,&DAT_00308a04);\n}\n\n" (function_definition "undefined4 FUN_001adf20(int param_1,undefined4 param_2)\n\n{\n  int *piVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  char *pcVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  undefined8 uVar13;\n  int local_20;\n  \n  if (**(char **)(param_1 + 0x3c) == '\0') {\n    piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);\n    if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    \n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    \n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }\n    FUN_001ace40();\n  }\n                    \n  FUN_000da200("../../gold/options.h",0x83f,&DAT_00308a04);\n}" type_identifier (function_declarator "FUN_001adf20(int param_1,undefined4 param_2)" identifier (parameter_list "(int param_1,undefined4 param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  char *pcVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  undefined8 uVar13;\n  int local_20;\n  \n  if (**(char **)(param_1 + 0x3c) == '\0') {\n    piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);\n    if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    \n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    \n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }\n    FUN_001ace40();\n  }\n                    \n  FUN_000da200("../../gold/options.h",0x83f,&DAT_00308a04);\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (if_statement "if (**(char **)(param_1 + 0x3c) == '\0') {\n    piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);\n    if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    \n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    \n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }\n    FUN_001ace40();\n  }" if (parenthesized_expression "(**(char **)(param_1 + 0x3c) == '\0')" ( (binary_expression "**(char **)(param_1 + 0x3c) == '\0'" (pointer_expression "**(char **)(param_1 + 0x3c)" * (pointer_expression "*(char **)(param_1 + 0x3c)" * (cast_expression "(char **)(param_1 + 0x3c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) ))))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);\n    if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    \n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    \n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }\n    FUN_001ace40();\n  }" { (expression_statement "piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);" (assignment_expression "piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54)" identifier = (pointer_expression "*(int **)(*(char **)(param_1 + 0x3c) + 0x54)" * (cast_expression "(int **)(*(char **)(param_1 + 0x3c) + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(char **)(param_1 + 0x3c) + 0x54)" ( (binary_expression "*(char **)(param_1 + 0x3c) + 0x54" (pointer_expression "*(char **)(param_1 + 0x3c)" * (cast_expression "(char **)(param_1 + 0x3c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    \n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    \n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    \n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    \n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }" { (if_statement "if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }" if (parenthesized_expression "((char)piVar1[5] != '\0')" ( (binary_expression "(char)piVar1[5] != '\0'" (cast_expression "(char)piVar1[5]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar1[5]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }" { (expression_statement "uVar10 = FUN_001add90();" (assignment_expression "uVar10 = FUN_001add90()" identifier = (call_expression "FUN_001add90()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar10;" return identifier ;) })) (expression_statement "iVar5 = FUN_00246670(0x18);" (assignment_expression "iVar5 = FUN_00246670(0x18)" identifier = (call_expression "FUN_00246670(0x18)" identifier (argument_list "(0x18)" ( number_literal )))) ;) (expression_statement "FUN_000b5c90(iVar5,piVar1,param_1);" (call_expression "FUN_000b5c90(iVar5,piVar1,param_1)" identifier (argument_list "(iVar5,piVar1,param_1)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar6 = (undefined4 *)FUN_00246670(0x40);" (assignment_expression "puVar6 = (undefined4 *)FUN_00246670(0x40)" identifier = (cast_expression "(undefined4 *)FUN_00246670(0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00246670(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x24);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x24)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 0x28);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 0x28)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined4 *)(param_1 + 0x4c);" (assignment_expression "uVar3 = *(undefined4 *)(param_1 + 0x4c)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x4c)" * (cast_expression "(undefined4 *)(param_1 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(puVar6 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar6 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar6 + 4)" * (cast_expression "(undefined1 *)(puVar6 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 4)" ( (binary_expression "puVar6 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar4 = *(undefined4 *)(param_1 + 0x2c);" (assignment_expression "uVar4 = *(undefined4 *)(param_1 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x2c)" * (cast_expression "(undefined4 *)(param_1 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "puVar6[2] = puVar6 + 4;" (assignment_expression "puVar6[2] = puVar6 + 4" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = (binary_expression "puVar6 + 4" identifier + number_literal)) ;) (expression_statement "puVar6[9] = uVar2;" (assignment_expression "puVar6[9] = uVar2" (subscript_expression "puVar6[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[10] = uVar4;" (assignment_expression "puVar6[10] = uVar4" (subscript_expression "puVar6[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0xf] = uVar3;" (assignment_expression "puVar6[0xf] = uVar3" (subscript_expression "puVar6[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[1] = 0;" (assignment_expression "puVar6[1] = 0" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar6 = &PTR_FUN_0040667c;" (assignment_expression "*puVar6 = &PTR_FUN_0040667c" (pointer_expression "*puVar6" * identifier) = (pointer_expression "&PTR_FUN_0040667c" & identifier)) ;) (expression_statement "puVar6[3] = 0;" (assignment_expression "puVar6[3] = 0" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar6 + 8) = 0;" (assignment_expression "*(undefined1 *)(puVar6 + 8) = 0" (pointer_expression "*(undefined1 *)(puVar6 + 8)" * (cast_expression "(undefined1 *)(puVar6 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 8)" ( (binary_expression "puVar6 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar6[0xb] = uVar10;" (assignment_expression "puVar6[0xb] = uVar10" (subscript_expression "puVar6[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0xc] = iVar5;" (assignment_expression "puVar6[0xc] = iVar5" (subscript_expression "puVar6[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0xd] = 0;" (assignment_expression "puVar6[0xd] = 0" (subscript_expression "puVar6[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[0xe] = 0;" (assignment_expression "puVar6[0xe] = 0" (subscript_expression "puVar6[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar13 = FUN_00246670(0x14);" (assignment_expression "uVar13 = FUN_00246670(0x14)" identifier = (call_expression "FUN_00246670(0x14)" identifier (argument_list "(0x14)" ( number_literal )))) ;) (expression_statement "iVar12 = (int)((ulonglong)uVar13 >> 0x20);" (assignment_expression "iVar12 = (int)((ulonglong)uVar13 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar13 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar13 >> 0x20)" ( (binary_expression "(ulonglong)uVar13 >> 0x20" (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcVar7 = (char *)uVar13;" (assignment_expression "pcVar7 = (char *)uVar13" identifier = (cast_expression "(char *)uVar13" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*pcVar7 = '\x01';" (assignment_expression "*pcVar7 = '\x01'" (pointer_expression "*pcVar7" * identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pcVar7[4] = '\0';" (assignment_expression "pcVar7[4] = '\0'" (subscript_expression "pcVar7[4]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[5] = '\0';" (assignment_expression "pcVar7[5] = '\0'" (subscript_expression "pcVar7[5]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[6] = '\0';" (assignment_expression "pcVar7[6] = '\0'" (subscript_expression "pcVar7[6]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[7] = '\0';" (assignment_expression "pcVar7[7] = '\0'" (subscript_expression "pcVar7[7]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[8] = '\0';" (assignment_expression "pcVar7[8] = '\0'" (subscript_expression "pcVar7[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[9] = '\0';" (assignment_expression "pcVar7[9] = '\0'" (subscript_expression "pcVar7[9]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[10] = '\0';" (assignment_expression "pcVar7[10] = '\0'" (subscript_expression "pcVar7[10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0xb] = '\0';" (assignment_expression "pcVar7[0xb] = '\0'" (subscript_expression "pcVar7[0xb]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0xc] = '\0';" (assignment_expression "pcVar7[0xc] = '\0'" (subscript_expression "pcVar7[0xc]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0xd] = '\0';" (assignment_expression "pcVar7[0xd] = '\0'" (subscript_expression "pcVar7[0xd]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0xe] = '\0';" (assignment_expression "pcVar7[0xe] = '\0'" (subscript_expression "pcVar7[0xe]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0xf] = '\0';" (assignment_expression "pcVar7[0xf] = '\0'" (subscript_expression "pcVar7[0xf]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0x10] = '\0';" (assignment_expression "pcVar7[0x10] = '\0'" (subscript_expression "pcVar7[0x10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0x11] = '\0';" (assignment_expression "pcVar7[0x11] = '\0'" (subscript_expression "pcVar7[0x11]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0x12] = '\0';" (assignment_expression "pcVar7[0x12] = '\0'" (subscript_expression "pcVar7[0x12]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0x13] = '\0';" (assignment_expression "pcVar7[0x13] = '\0'" (subscript_expression "pcVar7[0x13]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_20 = *piVar1;" (assignment_expression "local_20 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }" if (parenthesized_expression "(local_20 != piVar1[1])" ( (binary_expression "local_20 != piVar1[1]" identifier != (subscript_expression "piVar1[1]" identifier [ number_literal ])) )) (compound_statement "{\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }" { (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" identifier = number_literal) ;) (expression_statement "iVar11 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar11 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }" { (expression_statement "pcVar7[8] = '\0';" (assignment_expression "pcVar7[8] = '\0'" (subscript_expression "pcVar7[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[9] = '\0';" (assignment_expression "pcVar7[9] = '\0'" (subscript_expression "pcVar7[9]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[10] = '\0';" (assignment_expression "pcVar7[10] = '\0'" (subscript_expression "pcVar7[10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar7[0xb] = '\0';" (assignment_expression "pcVar7[0xb] = '\0'" (subscript_expression "pcVar7[0xb]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*(int *)(pcVar7 + 4) = iVar8 + 1;" (assignment_expression "*(int *)(pcVar7 + 4) = iVar8 + 1" (pointer_expression "*(int *)(pcVar7 + 4)" * (cast_expression "(int *)(pcVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 4)" ( (binary_expression "pcVar7 + 4" identifier + number_literal) )))) = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar9 = (undefined4 *)FUN_00246670(0x50);" (assignment_expression "puVar9 = (undefined4 *)FUN_00246670(0x50)" identifier = (cast_expression "(undefined4 *)FUN_00246670(0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00246670(0x50)" identifier (argument_list "(0x50)" ( number_literal ))))) ;) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x30);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x30)" * (cast_expression "(undefined4 *)(param_1 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar9[1] = 0;" (assignment_expression "puVar9[1] = 0" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar9 = &PTR_FUN_00408290;" (assignment_expression "*puVar9 = &PTR_FUN_00408290" (pointer_expression "*puVar9" * identifier) = (pointer_expression "&PTR_FUN_00408290" & identifier)) ;) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 0x24);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 0x24)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "puVar9[0xc] = uVar10;" (assignment_expression "puVar9[0xc] = uVar10" (subscript_expression "puVar9[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x38);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x38)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x38)" * (cast_expression "(undefined4 *)(param_1 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar9[9] = uVar2;" (assignment_expression "puVar9[9] = uVar2" (subscript_expression "puVar9[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 0x28);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 0x28)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar9[0xe] = uVar10;" (assignment_expression "puVar9[0xe] = uVar10" (subscript_expression "puVar9[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[10] = uVar2;" (assignment_expression "puVar9[10] = uVar2" (subscript_expression "puVar9[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x2c);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x2c)" * (cast_expression "(undefined4 *)(param_1 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "puVar9[2] = puVar9 + 4;" (assignment_expression "puVar9[2] = puVar9 + 4" (subscript_expression "puVar9[2]" identifier [ number_literal ]) = (binary_expression "puVar9 + 4" identifier + number_literal)) ;) (expression_statement "puVar9[0xb] = uVar10;" (assignment_expression "puVar9[0xb] = uVar10" (subscript_expression "puVar9[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x34);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x34)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x34)" * (cast_expression "(undefined4 *)(param_1 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "puVar9[3] = 0;" (assignment_expression "puVar9[3] = 0" (subscript_expression "puVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[0xd] = uVar10;" (assignment_expression "puVar9[0xd] = uVar10" (subscript_expression "puVar9[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(puVar9 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar9 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar9 + 4)" * (cast_expression "(undefined1 *)(puVar9 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 4)" ( (binary_expression "puVar9 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar9 + 8) = 0;" (assignment_expression "*(undefined1 *)(puVar9 + 8) = 0" (pointer_expression "*(undefined1 *)(puVar9 + 8)" * (cast_expression "(undefined1 *)(puVar9 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 8)" ( (binary_expression "puVar9 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar9[0xf] = local_20;" (assignment_expression "puVar9[0xf] = local_20" (subscript_expression "puVar9[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[0x10] = 0;" (assignment_expression "puVar9[0x10] = 0" (subscript_expression "puVar9[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[0x11] = iVar11;" (assignment_expression "puVar9[0x11] = iVar11" (subscript_expression "puVar9[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9[0x12] = 0;" (assignment_expression "puVar9[0x12] = 0" (subscript_expression "puVar9[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[0x13] = pcVar7;" (assignment_expression "puVar9[0x13] = pcVar7" (subscript_expression "puVar9[0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00200100(param_2,puVar9);" (call_expression "FUN_00200100(param_2,puVar9)" identifier (argument_list "(param_2,puVar9)" ( identifier , identifier ))) ;) (expression_statement "local_20 = local_20 + 0x5c;" (assignment_expression "local_20 = local_20 + 0x5c" identifier = (binary_expression "local_20 + 0x5c" identifier + number_literal)) ;) (if_statement "if (piVar1[1] == local_20) break;" if (parenthesized_expression "(piVar1[1] == local_20)" ( (binary_expression "piVar1[1] == local_20" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = *(int *)(iVar5 + 0xc) + iVar12;" (assignment_expression "iVar11 = *(int *)(iVar5 + 0xc) + iVar12" identifier = (binary_expression "*(int *)(iVar5 + 0xc) + iVar12" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) + identifier)) ;) (expression_statement "iVar12 = iVar12 + 0xc;" (assignment_expression "iVar12 = iVar12 + 0xc" identifier = (binary_expression "iVar12 + 0xc" identifier + number_literal)) ;) (if_statement "if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }" if (parenthesized_expression "(*pcVar7 == '\0')" ( (binary_expression "*pcVar7 == '\0'" (pointer_expression "*pcVar7" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }" { (expression_statement "FUN_000da200("../../gold/token.h",0x8e,"add_blocker");" (call_expression "FUN_000da200("../../gold/token.h",0x8e,"add_blocker")" identifier (argument_list "("../../gold/token.h",0x8e,"add_blocker")" ( (string_literal ""../../gold/token.h"" " string_content ") , number_literal , (string_literal ""add_blocker"" " string_content ") ))) ;) })) (expression_statement "iVar8 = *(int *)(pcVar7 + 4);" (assignment_expression "iVar8 = *(int *)(pcVar7 + 4)" identifier = (pointer_expression "*(int *)(pcVar7 + 4)" * (cast_expression "(int *)(pcVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 4)" ( (binary_expression "pcVar7 + 4" identifier + number_literal) ))))) ;) })) })) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x48);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x48)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x48)" * (cast_expression "(undefined4 *)(param_1 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ;) (if_statement "if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }" if (parenthesized_expression "((puVar6[0xd] == 0) && (puVar6[0xe] == 0))" ( (binary_expression "(puVar6[0xd] == 0) && (puVar6[0xe] == 0)" (parenthesized_expression "(puVar6[0xd] == 0)" ( (binary_expression "puVar6[0xd] == 0" (subscript_expression "puVar6[0xd]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(puVar6[0xe] == 0)" ( (binary_expression "puVar6[0xe] == 0" (subscript_expression "puVar6[0xe]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }" { (expression_statement "puVar6[0xd] = pcVar7;" (assignment_expression "puVar6[0xd] = pcVar7" (subscript_expression "puVar6[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0xe] = uVar10;" (assignment_expression "puVar6[0xe] = uVar10" (subscript_expression "puVar6[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00200100(param_2,puVar6);" (call_expression "FUN_00200100(param_2,puVar6)" identifier (argument_list "(param_2,puVar6)" ( identifier , identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);" (call_expression "FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12)" identifier (argument_list "("../../gold/archive.h",0x228,"set_blocker",iVar12)" ( (string_literal ""../../gold/archive.h"" " string_content ") , number_literal , (string_literal ""set_blocker"" " string_content ") , identifier ))) ;) })) (expression_statement "FUN_001ace40();" (call_expression "FUN_001ace40()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_000da200("../../gold/options.h",0x83f,&DAT_00308a04);" (call_expression "FUN_000da200("../../gold/options.h",0x83f,&DAT_00308a04)" identifier (argument_list "("../../gold/options.h",0x83f,&DAT_00308a04)" ( (string_literal ""../../gold/options.h"" " string_content ") , number_literal , (pointer_expression "&DAT_00308a04" & identifier) ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & 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 (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 (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 (subscript_expression IDENT [ LIT ]) = (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_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)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (pointer_expression & IDENT) ))) ;) })))
(function_definition "undefined4 FUN_001adf20(int param_1,undefined4 param_2)\n\n{\n  int *piVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  char *pcVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  undefined8 uVar13;\n  int local_20;\n  \n  if (**(char **)(param_1 + 0x3c) == '\0') {\n    piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);\n    if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    \n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    \n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }\n    FUN_001ace40();\n  }\n                    \n  FUN_000da200("../../gold/options.h",0x83f,&DAT_00308a04);\n}" (type_identifier "undefined4") (function_declarator "FUN_001adf20(int param_1,undefined4 param_2)" (identifier "FUN_001adf20") (parameter_list "(int param_1,undefined4 param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  int *piVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  char *pcVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  undefined8 uVar13;\n  int local_20;\n  \n  if (**(char **)(param_1 + 0x3c) == '\0') {\n    piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);\n    if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    \n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    \n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }\n    FUN_001ace40();\n  }\n                    \n  FUN_000da200("../../gold/options.h",0x83f,&DAT_00308a04);\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "char *pcVar7;" (primitive_type "char") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "undefined8 uVar13;" (type_identifier "undefined8") (identifier "uVar13") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (if_statement "if (**(char **)(param_1 + 0x3c) == '\0') {\n    piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);\n    if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    \n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    \n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }\n    FUN_001ace40();\n  }" (if "if") (parenthesized_expression "(**(char **)(param_1 + 0x3c) == '\0')" (( "(") (binary_expression "**(char **)(param_1 + 0x3c) == '\0'" (pointer_expression "**(char **)(param_1 + 0x3c)" (* "*") (pointer_expression "*(char **)(param_1 + 0x3c)" (* "*") (cast_expression "(char **)(param_1 + 0x3c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")"))))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);\n    if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    \n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    \n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }\n    FUN_001ace40();\n  }" ({ "{") (expression_statement "piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);" (assignment_expression "piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54)" (identifier "piVar1") (= "=") (pointer_expression "*(int **)(*(char **)(param_1 + 0x3c) + 0x54)" (* "*") (cast_expression "(int **)(*(char **)(param_1 + 0x3c) + 0x54)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(char **)(param_1 + 0x3c) + 0x54)" (( "(") (binary_expression "*(char **)(param_1 + 0x3c) + 0x54" (pointer_expression "*(char **)(param_1 + 0x3c)" (* "*") (cast_expression "(char **)(param_1 + 0x3c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")")))) (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (if_statement "if (piVar1 != (int *)0x0) {\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    \n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    \n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }" (if "if") (parenthesized_expression "(piVar1 != (int *)0x0)" (( "(") (binary_expression "piVar1 != (int *)0x0" (identifier "piVar1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }\n      iVar5 = FUN_00246670(0x18);\n                    \n      FUN_000b5c90(iVar5,piVar1,param_1);\n      puVar6 = (undefined4 *)FUN_00246670(0x40);\n      uVar10 = *(undefined4 *)(param_1 + 0x24);\n      uVar2 = *(undefined4 *)(param_1 + 0x28);\n      uVar3 = *(undefined4 *)(param_1 + 0x4c);\n      *(undefined1 *)(puVar6 + 4) = 0;\n      uVar4 = *(undefined4 *)(param_1 + 0x2c);\n      puVar6[2] = puVar6 + 4;\n      puVar6[9] = uVar2;\n      puVar6[10] = uVar4;\n      puVar6[0xf] = uVar3;\n      puVar6[1] = 0;\n      *puVar6 = &PTR_FUN_0040667c;\n      puVar6[3] = 0;\n      *(undefined1 *)(puVar6 + 8) = 0;\n      puVar6[0xb] = uVar10;\n      puVar6[0xc] = iVar5;\n      puVar6[0xd] = 0;\n      puVar6[0xe] = 0;\n      uVar13 = FUN_00246670(0x14);\n      iVar12 = (int)((ulonglong)uVar13 >> 0x20);\n      pcVar7 = (char *)uVar13;\n      *pcVar7 = '\x01';\n      pcVar7[4] = '\0';\n      pcVar7[5] = '\0';\n      pcVar7[6] = '\0';\n      pcVar7[7] = '\0';\n      pcVar7[8] = '\0';\n      pcVar7[9] = '\0';\n      pcVar7[10] = '\0';\n      pcVar7[0xb] = '\0';\n      pcVar7[0xc] = '\0';\n      pcVar7[0xd] = '\0';\n      pcVar7[0xe] = '\0';\n      pcVar7[0xf] = '\0';\n      pcVar7[0x10] = '\0';\n      pcVar7[0x11] = '\0';\n      pcVar7[0x12] = '\0';\n      pcVar7[0x13] = '\0';\n      local_20 = *piVar1;\n      if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }\n      uVar10 = *(undefined4 *)(param_1 + 0x48);\n      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }\n                    \n      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);\n    }" ({ "{") (if_statement "if ((char)piVar1[5] != '\0') {\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }" (if "if") (parenthesized_expression "((char)piVar1[5] != '\0')" (( "(") (binary_expression "(char)piVar1[5] != '\0'" (cast_expression "(char)piVar1[5]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar1[5]" (identifier "piVar1") ([ "[") (number_literal "5") (] "]"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar10 = FUN_001add90();\n        return uVar10;\n      }" ({ "{") (expression_statement "uVar10 = FUN_001add90();" (assignment_expression "uVar10 = FUN_001add90()" (identifier "uVar10") (= "=") (call_expression "FUN_001add90()" (identifier "FUN_001add90") (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return uVar10;" (return "return") (identifier "uVar10") (; ";")) (} "}"))) (expression_statement "iVar5 = FUN_00246670(0x18);" (assignment_expression "iVar5 = FUN_00246670(0x18)" (identifier "iVar5") (= "=") (call_expression "FUN_00246670(0x18)" (identifier "FUN_00246670") (argument_list "(0x18)" (( "(") (number_literal "0x18") () ")")))) (; ";")) (expression_statement "FUN_000b5c90(iVar5,piVar1,param_1);" (call_expression "FUN_000b5c90(iVar5,piVar1,param_1)" (identifier "FUN_000b5c90") (argument_list "(iVar5,piVar1,param_1)" (( "(") (identifier "iVar5") (, ",") (identifier "piVar1") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "puVar6 = (undefined4 *)FUN_00246670(0x40);" (assignment_expression "puVar6 = (undefined4 *)FUN_00246670(0x40)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)FUN_00246670(0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00246670(0x40)" (identifier "FUN_00246670") (argument_list "(0x40)" (( "(") (number_literal "0x40") () ")"))))) (; ";")) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x24);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x24)" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x24)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 0x28);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 0x28)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x28)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(param_1 + 0x4c);" (assignment_expression "uVar3 = *(undefined4 *)(param_1 + 0x4c)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x4c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x4c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(puVar6 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar6 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar6 + 4)" (* "*") (cast_expression "(undefined1 *)(puVar6 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 4)" (( "(") (binary_expression "puVar6 + 4" (identifier "puVar6") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar4 = *(undefined4 *)(param_1 + 0x2c);" (assignment_expression "uVar4 = *(undefined4 *)(param_1 + 0x2c)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "puVar6[2] = puVar6 + 4;" (assignment_expression "puVar6[2] = puVar6 + 4" (subscript_expression "puVar6[2]" (identifier "puVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puVar6 + 4" (identifier "puVar6") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar6[9] = uVar2;" (assignment_expression "puVar6[9] = uVar2" (subscript_expression "puVar6[9]" (identifier "puVar6") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "puVar6[10] = uVar4;" (assignment_expression "puVar6[10] = uVar4" (subscript_expression "puVar6[10]" (identifier "puVar6") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "puVar6[0xf] = uVar3;" (assignment_expression "puVar6[0xf] = uVar3" (subscript_expression "puVar6[0xf]" (identifier "puVar6") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "puVar6[1] = 0;" (assignment_expression "puVar6[1] = 0" (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar6 = &PTR_FUN_0040667c;" (assignment_expression "*puVar6 = &PTR_FUN_0040667c" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (pointer_expression "&PTR_FUN_0040667c" (& "&") (identifier "PTR_FUN_0040667c"))) (; ";")) (expression_statement "puVar6[3] = 0;" (assignment_expression "puVar6[3] = 0" (subscript_expression "puVar6[3]" (identifier "puVar6") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar6 + 8) = 0;" (assignment_expression "*(undefined1 *)(puVar6 + 8) = 0" (pointer_expression "*(undefined1 *)(puVar6 + 8)" (* "*") (cast_expression "(undefined1 *)(puVar6 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 8)" (( "(") (binary_expression "puVar6 + 8" (identifier "puVar6") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6[0xb] = uVar10;" (assignment_expression "puVar6[0xb] = uVar10" (subscript_expression "puVar6[0xb]" (identifier "puVar6") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "puVar6[0xc] = iVar5;" (assignment_expression "puVar6[0xc] = iVar5" (subscript_expression "puVar6[0xc]" (identifier "puVar6") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "puVar6[0xd] = 0;" (assignment_expression "puVar6[0xd] = 0" (subscript_expression "puVar6[0xd]" (identifier "puVar6") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6[0xe] = 0;" (assignment_expression "puVar6[0xe] = 0" (subscript_expression "puVar6[0xe]" (identifier "puVar6") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar13 = FUN_00246670(0x14);" (assignment_expression "uVar13 = FUN_00246670(0x14)" (identifier "uVar13") (= "=") (call_expression "FUN_00246670(0x14)" (identifier "FUN_00246670") (argument_list "(0x14)" (( "(") (number_literal "0x14") () ")")))) (; ";")) (expression_statement "iVar12 = (int)((ulonglong)uVar13 >> 0x20);" (assignment_expression "iVar12 = (int)((ulonglong)uVar13 >> 0x20)" (identifier "iVar12") (= "=") (cast_expression "(int)((ulonglong)uVar13 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar13 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar13 >> 0x20" (cast_expression "(ulonglong)uVar13" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar13")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "pcVar7 = (char *)uVar13;" (assignment_expression "pcVar7 = (char *)uVar13" (identifier "pcVar7") (= "=") (cast_expression "(char *)uVar13" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar13"))) (; ";")) (expression_statement "*pcVar7 = '\x01';" (assignment_expression "*pcVar7 = '\x01'" (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "pcVar7[4] = '\0';" (assignment_expression "pcVar7[4] = '\0'" (subscript_expression "pcVar7[4]" (identifier "pcVar7") ([ "[") (number_literal "4") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[5] = '\0';" (assignment_expression "pcVar7[5] = '\0'" (subscript_expression "pcVar7[5]" (identifier "pcVar7") ([ "[") (number_literal "5") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[6] = '\0';" (assignment_expression "pcVar7[6] = '\0'" (subscript_expression "pcVar7[6]" (identifier "pcVar7") ([ "[") (number_literal "6") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[7] = '\0';" (assignment_expression "pcVar7[7] = '\0'" (subscript_expression "pcVar7[7]" (identifier "pcVar7") ([ "[") (number_literal "7") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[8] = '\0';" (assignment_expression "pcVar7[8] = '\0'" (subscript_expression "pcVar7[8]" (identifier "pcVar7") ([ "[") (number_literal "8") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[9] = '\0';" (assignment_expression "pcVar7[9] = '\0'" (subscript_expression "pcVar7[9]" (identifier "pcVar7") ([ "[") (number_literal "9") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[10] = '\0';" (assignment_expression "pcVar7[10] = '\0'" (subscript_expression "pcVar7[10]" (identifier "pcVar7") ([ "[") (number_literal "10") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[0xb] = '\0';" (assignment_expression "pcVar7[0xb] = '\0'" (subscript_expression "pcVar7[0xb]" (identifier "pcVar7") ([ "[") (number_literal "0xb") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[0xc] = '\0';" (assignment_expression "pcVar7[0xc] = '\0'" (subscript_expression "pcVar7[0xc]" (identifier "pcVar7") ([ "[") (number_literal "0xc") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[0xd] = '\0';" (assignment_expression "pcVar7[0xd] = '\0'" (subscript_expression "pcVar7[0xd]" (identifier "pcVar7") ([ "[") (number_literal "0xd") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[0xe] = '\0';" (assignment_expression "pcVar7[0xe] = '\0'" (subscript_expression "pcVar7[0xe]" (identifier "pcVar7") ([ "[") (number_literal "0xe") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[0xf] = '\0';" (assignment_expression "pcVar7[0xf] = '\0'" (subscript_expression "pcVar7[0xf]" (identifier "pcVar7") ([ "[") (number_literal "0xf") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[0x10] = '\0';" (assignment_expression "pcVar7[0x10] = '\0'" (subscript_expression "pcVar7[0x10]" (identifier "pcVar7") ([ "[") (number_literal "0x10") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[0x11] = '\0';" (assignment_expression "pcVar7[0x11] = '\0'" (subscript_expression "pcVar7[0x11]" (identifier "pcVar7") ([ "[") (number_literal "0x11") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[0x12] = '\0';" (assignment_expression "pcVar7[0x12] = '\0'" (subscript_expression "pcVar7[0x12]" (identifier "pcVar7") ([ "[") (number_literal "0x12") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[0x13] = '\0';" (assignment_expression "pcVar7[0x13] = '\0'" (subscript_expression "pcVar7[0x13]" (identifier "pcVar7") ([ "[") (number_literal "0x13") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_20 = *piVar1;" (assignment_expression "local_20 = *piVar1" (identifier "local_20") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (if_statement "if (local_20 != piVar1[1]) {\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }" (if "if") (parenthesized_expression "(local_20 != piVar1[1])" (( "(") (binary_expression "local_20 != piVar1[1]" (identifier "local_20") (!= "!=") (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]"))) () ")")) (compound_statement "{\n        iVar12 = 0xc;\n        iVar11 = *(int *)(iVar5 + 0xc);\n        iVar8 = 0;\n        while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }\n      }" ({ "{") (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" (identifier "iVar12") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "iVar11 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar11 = *(int *)(iVar5 + 0xc)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          pcVar7[8] = '\0';\n          pcVar7[9] = '\0';\n          pcVar7[10] = '\0';\n          pcVar7[0xb] = '\0';\n          *(int *)(pcVar7 + 4) = iVar8 + 1;\n          puVar9 = (undefined4 *)FUN_00246670(0x50);\n          uVar10 = *(undefined4 *)(param_1 + 0x30);\n          puVar9[1] = 0;\n          *puVar9 = &PTR_FUN_00408290;\n          uVar2 = *(undefined4 *)(param_1 + 0x24);\n          puVar9[0xc] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x38);\n          puVar9[9] = uVar2;\n          uVar2 = *(undefined4 *)(param_1 + 0x28);\n          puVar9[0xe] = uVar10;\n          puVar9[10] = uVar2;\n          uVar10 = *(undefined4 *)(param_1 + 0x2c);\n          puVar9[2] = puVar9 + 4;\n          puVar9[0xb] = uVar10;\n          uVar10 = *(undefined4 *)(param_1 + 0x34);\n          puVar9[3] = 0;\n          puVar9[0xd] = uVar10;\n          *(undefined1 *)(puVar9 + 4) = 0;\n          *(undefined1 *)(puVar9 + 8) = 0;\n          puVar9[0xf] = local_20;\n          puVar9[0x10] = 0;\n          puVar9[0x11] = iVar11;\n          puVar9[0x12] = 0;\n          puVar9[0x13] = pcVar7;\n          FUN_00200100(param_2,puVar9);\n          local_20 = local_20 + 0x5c;\n          if (piVar1[1] == local_20) break;\n          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;\n          iVar12 = iVar12 + 0xc;\n          if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }\n          iVar8 = *(int *)(pcVar7 + 4);\n        }" ({ "{") (expression_statement "pcVar7[8] = '\0';" (assignment_expression "pcVar7[8] = '\0'" (subscript_expression "pcVar7[8]" (identifier "pcVar7") ([ "[") (number_literal "8") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[9] = '\0';" (assignment_expression "pcVar7[9] = '\0'" (subscript_expression "pcVar7[9]" (identifier "pcVar7") ([ "[") (number_literal "9") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[10] = '\0';" (assignment_expression "pcVar7[10] = '\0'" (subscript_expression "pcVar7[10]" (identifier "pcVar7") ([ "[") (number_literal "10") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar7[0xb] = '\0';" (assignment_expression "pcVar7[0xb] = '\0'" (subscript_expression "pcVar7[0xb]" (identifier "pcVar7") ([ "[") (number_literal "0xb") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "*(int *)(pcVar7 + 4) = iVar8 + 1;" (assignment_expression "*(int *)(pcVar7 + 4) = iVar8 + 1" (pointer_expression "*(int *)(pcVar7 + 4)" (* "*") (cast_expression "(int *)(pcVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 4)" (( "(") (binary_expression "pcVar7 + 4" (identifier "pcVar7") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar9 = (undefined4 *)FUN_00246670(0x50);" (assignment_expression "puVar9 = (undefined4 *)FUN_00246670(0x50)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)FUN_00246670(0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00246670(0x50)" (identifier "FUN_00246670") (argument_list "(0x50)" (( "(") (number_literal "0x50") () ")"))))) (; ";")) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x30);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x30)" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x30)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "puVar9[1] = 0;" (assignment_expression "puVar9[1] = 0" (subscript_expression "puVar9[1]" (identifier "puVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar9 = &PTR_FUN_00408290;" (assignment_expression "*puVar9 = &PTR_FUN_00408290" (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (= "=") (pointer_expression "&PTR_FUN_00408290" (& "&") (identifier "PTR_FUN_00408290"))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 0x24);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 0x24)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x24)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "puVar9[0xc] = uVar10;" (assignment_expression "puVar9[0xc] = uVar10" (subscript_expression "puVar9[0xc]" (identifier "puVar9") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x38);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x38)" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x38)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "puVar9[9] = uVar2;" (assignment_expression "puVar9[9] = uVar2" (subscript_expression "puVar9[9]" (identifier "puVar9") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 0x28);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 0x28)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x28)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "puVar9[0xe] = uVar10;" (assignment_expression "puVar9[0xe] = uVar10" (subscript_expression "puVar9[0xe]" (identifier "puVar9") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "puVar9[10] = uVar2;" (assignment_expression "puVar9[10] = uVar2" (subscript_expression "puVar9[10]" (identifier "puVar9") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x2c);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x2c)" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "puVar9[2] = puVar9 + 4;" (assignment_expression "puVar9[2] = puVar9 + 4" (subscript_expression "puVar9[2]" (identifier "puVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puVar9 + 4" (identifier "puVar9") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar9[0xb] = uVar10;" (assignment_expression "puVar9[0xb] = uVar10" (subscript_expression "puVar9[0xb]" (identifier "puVar9") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x34);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x34)" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x34)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "puVar9[3] = 0;" (assignment_expression "puVar9[3] = 0" (subscript_expression "puVar9[3]" (identifier "puVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar9[0xd] = uVar10;" (assignment_expression "puVar9[0xd] = uVar10" (subscript_expression "puVar9[0xd]" (identifier "puVar9") ([ "[") (number_literal "0xd") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "*(undefined1 *)(puVar9 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar9 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar9 + 4)" (* "*") (cast_expression "(undefined1 *)(puVar9 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 4)" (( "(") (binary_expression "puVar9 + 4" (identifier "puVar9") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar9 + 8) = 0;" (assignment_expression "*(undefined1 *)(puVar9 + 8) = 0" (pointer_expression "*(undefined1 *)(puVar9 + 8)" (* "*") (cast_expression "(undefined1 *)(puVar9 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 8)" (( "(") (binary_expression "puVar9 + 8" (identifier "puVar9") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar9[0xf] = local_20;" (assignment_expression "puVar9[0xf] = local_20" (subscript_expression "puVar9[0xf]" (identifier "puVar9") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "local_20")) (; ";")) (expression_statement "puVar9[0x10] = 0;" (assignment_expression "puVar9[0x10] = 0" (subscript_expression "puVar9[0x10]" (identifier "puVar9") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar9[0x11] = iVar11;" (assignment_expression "puVar9[0x11] = iVar11" (subscript_expression "puVar9[0x11]" (identifier "puVar9") ([ "[") (number_literal "0x11") (] "]")) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "puVar9[0x12] = 0;" (assignment_expression "puVar9[0x12] = 0" (subscript_expression "puVar9[0x12]" (identifier "puVar9") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar9[0x13] = pcVar7;" (assignment_expression "puVar9[0x13] = pcVar7" (subscript_expression "puVar9[0x13]" (identifier "puVar9") ([ "[") (number_literal "0x13") (] "]")) (= "=") (identifier "pcVar7")) (; ";")) (expression_statement "FUN_00200100(param_2,puVar9);" (call_expression "FUN_00200100(param_2,puVar9)" (identifier "FUN_00200100") (argument_list "(param_2,puVar9)" (( "(") (identifier "param_2") (, ",") (identifier "puVar9") () ")"))) (; ";")) (expression_statement "local_20 = local_20 + 0x5c;" (assignment_expression "local_20 = local_20 + 0x5c" (identifier "local_20") (= "=") (binary_expression "local_20 + 0x5c" (identifier "local_20") (+ "+") (number_literal "0x5c"))) (; ";")) (if_statement "if (piVar1[1] == local_20) break;" (if "if") (parenthesized_expression "(piVar1[1] == local_20)" (( "(") (binary_expression "piVar1[1] == local_20" (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]")) (== "==") (identifier "local_20")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar11 = *(int *)(iVar5 + 0xc) + iVar12;" (assignment_expression "iVar11 = *(int *)(iVar5 + 0xc) + iVar12" (identifier "iVar11") (= "=") (binary_expression "*(int *)(iVar5 + 0xc) + iVar12" (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (identifier "iVar12"))) (; ";")) (expression_statement "iVar12 = iVar12 + 0xc;" (assignment_expression "iVar12 = iVar12 + 0xc" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 0xc" (identifier "iVar12") (+ "+") (number_literal "0xc"))) (; ";")) (if_statement "if (*pcVar7 == '\0') {\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }" (if "if") (parenthesized_expression "(*pcVar7 == '\0')" (( "(") (binary_expression "*pcVar7 == '\0'" (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");\n          }" ({ "{") (expression_statement "FUN_000da200("../../gold/token.h",0x8e,"add_blocker");" (call_expression "FUN_000da200("../../gold/token.h",0x8e,"add_blocker")" (identifier "FUN_000da200") (argument_list "("../../gold/token.h",0x8e,"add_blocker")" (( "(") (string_literal ""../../gold/token.h"" (" """) (string_content "../../gold/token.h") (" """)) (, ",") (number_literal "0x8e") (, ",") (string_literal ""add_blocker"" (" """) (string_content "add_blocker") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar8 = *(int *)(pcVar7 + 4);" (assignment_expression "iVar8 = *(int *)(pcVar7 + 4)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(pcVar7 + 4)" (* "*") (cast_expression "(int *)(pcVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 4)" (( "(") (binary_expression "pcVar7 + 4" (identifier "pcVar7") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar10 = *(undefined4 *)(param_1 + 0x48);" (assignment_expression "uVar10 = *(undefined4 *)(param_1 + 0x48)" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x48)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x48)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (if_statement "if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }" (if "if") (parenthesized_expression "((puVar6[0xd] == 0) && (puVar6[0xe] == 0))" (( "(") (binary_expression "(puVar6[0xd] == 0) && (puVar6[0xe] == 0)" (parenthesized_expression "(puVar6[0xd] == 0)" (( "(") (binary_expression "puVar6[0xd] == 0" (subscript_expression "puVar6[0xd]" (identifier "puVar6") ([ "[") (number_literal "0xd") (] "]")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(puVar6[0xe] == 0)" (( "(") (binary_expression "puVar6[0xe] == 0" (subscript_expression "puVar6[0xe]" (identifier "puVar6") ([ "[") (number_literal "0xe") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        puVar6[0xd] = pcVar7;\n        puVar6[0xe] = uVar10;\n        FUN_00200100(param_2,puVar6);\n        return 1;\n      }" ({ "{") (expression_statement "puVar6[0xd] = pcVar7;" (assignment_expression "puVar6[0xd] = pcVar7" (subscript_expression "puVar6[0xd]" (identifier "puVar6") ([ "[") (number_literal "0xd") (] "]")) (= "=") (identifier "pcVar7")) (; ";")) (expression_statement "puVar6[0xe] = uVar10;" (assignment_expression "puVar6[0xe] = uVar10" (subscript_expression "puVar6[0xe]" (identifier "puVar6") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "FUN_00200100(param_2,puVar6);" (call_expression "FUN_00200100(param_2,puVar6)" (identifier "FUN_00200100") (argument_list "(param_2,puVar6)" (( "(") (identifier "param_2") (, ",") (identifier "puVar6") () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);" (call_expression "FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12)" (identifier "FUN_000da200") (argument_list "("../../gold/archive.h",0x228,"set_blocker",iVar12)" (( "(") (string_literal ""../../gold/archive.h"" (" """) (string_content "../../gold/archive.h") (" """)) (, ",") (number_literal "0x228") (, ",") (string_literal ""set_blocker"" (" """) (string_content "set_blocker") (" """)) (, ",") (identifier "iVar12") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_001ace40();" (call_expression "FUN_001ace40()" (identifier "FUN_001ace40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_000da200("../../gold/options.h",0x83f,&DAT_00308a04);" (call_expression "FUN_000da200("../../gold/options.h",0x83f,&DAT_00308a04)" (identifier "FUN_000da200") (argument_list "("../../gold/options.h",0x83f,&DAT_00308a04)" (( "(") (string_literal ""../../gold/options.h"" (" """) (string_content "../../gold/options.h") (" """)) (, ",") (number_literal "0x83f") (, ",") (pointer_expression "&DAT_00308a04" (& "&") (identifier "DAT_00308a04")) () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: bool do_lib_group(Read_symbols * this, Workqueue * workqueue) */

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

{
  type_3 *var_2;
  type_4 *pIVar1;
  type_5 *pSVar2;
  type_6 *pTVar3;
  type_7 *pLVar4;
  type_8 *pDVar5;
  type_9 *pMVar6;
  type_10 sVar7;
  bool bVar8;
  type_11 *this_00;
  type_12 *t;
  type_12 *pTVar9;
  type_12 *pTVar10;
  type_13 pAVar11;
  int var_9;
  type_14 *in_stack_ffffffb4;
  type_14 *in_stack_ffffffb8;
  type_13 var_8;
  
  if (this->input_argument_->is_file_ != false) {
                    /* WARNING: Subroutine does not return */
    var_1("../../gold/options.h",0x83f,"lib");
  }
  var_2 = this->input_argument_->lib_;
  if (var_2 == (type_3 *)0x0) {
                    /* WARNING: Subroutine does not return */
    Input_argument::var_2(in_stack_ffffffb4,in_stack_ffffffb8);
  }
  if ((var_2->options_).whole_archive_ != false) {
    bVar8 = var_3(this,workqueue);
    return bVar8;
  }
  this_00 = (type_11 *)var_4(0x18);
                    /* try { // try from 001adf80 to 001adf84 has its CatchHandler @ 001ae1c7 */
  Lib_group::type_11(this_00,var_2,&this->super_Task);
  t = (type_12 *)var_4(0x40);
  pIVar1 = this->input_objects_;
  pSVar2 = this->symtab_;
  pTVar3 = this->next_blocker_;
  (t->name_).field_2._M_local_buf[0] = '\0';
  pLVar4 = this->layout_;
  (t->name_)._M_dataplus._M_p = (type_13)&(t->name_).field_2;
  t[1]._vptr_Task = (type_15 **)pSVar2;
  t[1].list_next_ = (type_12 *)pLVar4;
  *(type_6 **)((int)&t[1].name_.field_2 + 8) = pTVar3;
  t->list_next_ = (type_12 *)0x0;
  t->_vptr_Task = (type_15 **)&PTR__Add_lib_group_symbols_0040667c;
  (t->name_)._M_string_length = 0;
  t->should_run_soon_ = false;
  t[1].name_._M_dataplus._M_p = (type_13)pIVar1;
  t[1].name_._M_string_length = (type_10)this_00;
  t[1].name_.field_2._M_allocated_capacity = 0;
  *(type_16 *)((int)&t[1].name_.field_2 + 4) = 0;
  pTVar9 = (type_12 *)var_4(0x14);
  *(type_17 *)&pTVar9->_vptr_Task = 1;
  pTVar9->list_next_ = (type_12 *)0x0;
  (pTVar9->name_)._M_dataplus._M_p = (type_13)0x0;
  (pTVar9->name_)._M_string_length = 0;
  (pTVar9->name_).field_2._M_allocated_capacity = 0;
  var_8 = (var_2->files_).
             super__Vector_base<gold::type_14,_std::allocator<gold::type_14>var_5>._M_impl
             ._M_start;
  if (var_8 !=
      (var_2->files_).super__Vector_base<gold::type_14,_std::allocator<gold::type_14>var_5>.
      _M_impl._M_finish) {
    var_9 = 0xc;
    pAVar11 = (this_00->members_).
              super__Vector_base<gold::var_6,_std::allocator<gold::var_6>var_5>.
              _M_impl._M_start;
    pTVar10 = (type_12 *)0x0;
    while( true ) {
      (pTVar9->name_)._M_dataplus._M_p = (type_13)0x0;
      pTVar9->list_next_ = (type_12 *)((int)&pTVar10->_vptr_Task + 1);
      pTVar10 = (type_12 *)var_4(0x50);
      pDVar5 = this->dirpath_;
      pTVar10->list_next_ = (type_12 *)0x0;
      pTVar10->_vptr_Task = (type_15 **)&PTR__Read_symbols_00408290;
      pIVar1 = this->input_objects_;
      pTVar10[1].name_._M_string_length = (type_10)pDVar5;
      pMVar6 = this->mapfile_;
      pTVar10[1]._vptr_Task = (type_15 **)pIVar1;
      pSVar2 = this->symtab_;
      *(type_9 **)((int)&pTVar10[1].name_.field_2 + 4) = pMVar6;
      pTVar10[1].list_next_ = (type_12 *)pSVar2;
      pLVar4 = this->layout_;
      (pTVar10->name_)._M_dataplus._M_p = (type_13)&(pTVar10->name_).field_2;
      pTVar10[1].name_._M_dataplus._M_p = (type_13)pLVar4;
      sVar7 = this->dirindex_;
      (pTVar10->name_)._M_string_length = 0;
      pTVar10[1].name_.field_2._M_allocated_capacity = sVar7;
      (pTVar10->name_).field_2._M_local_buf[0] = '\0';
      pTVar10->should_run_soon_ = false;
      *(type_13 *)((int)&pTVar10[1].name_.field_2 + 8) = var_8;
      *(type_16 *)((int)&pTVar10[1].name_.field_2 + 0xc) = 0;
      *(type_13 *)&pTVar10[1].should_run_soon_ = pAVar11;
      pTVar10[2]._vptr_Task = (type_15 **)0x0;
      pTVar10[2].list_next_ = pTVar9;
      Workqueue::var_7(workqueue,pTVar10);
      var_8 = var_8 + 1;
      if ((var_2->files_).
          super__Vector_base<gold::type_14,_std::allocator<gold::type_14>var_5>._M_impl.
          _M_finish == var_8) break;
      pAVar11 = (type_13)((int)&((this_00->members_).
                                 super__Vector_base<gold::var_6,_std::allocator<gold::var_6>var_5>
                                 ._M_impl._M_start)->obj_ + var_9);
      var_9 = var_9 + 0xc;
      if (*(char *)&pTVar9->_vptr_Task == '\0') {
                    /* WARNING: Subroutine does not return */
        var_1("../../gold/token.h",0x8e,"add_blocker");
      }
      pTVar10 = pTVar9->list_next_;
    }
  }
  pTVar3 = this->this_blocker_;
  if ((t[1].name_.field_2._M_allocated_capacity == 0) &&
     (*(int *)((int)&t[1].name_.field_2 + 4) == 0)) {
    *(type_12 **)&t[1].name_.field_2 = pTVar9;
    *(type_6 **)((int)&t[1].name_.field_2 + 4) = pTVar3;
    Workqueue::var_7(workqueue,t);
    return true;
  }
                    /* WARNING: Subroutine does not return */
  var_1("../../gold/archive.h",0x228,"set_blocker");
}


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

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

undefined4 MASKED(int param_1,undefined4 param_2)

{
  int *piVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  int iVar5;
  undefined4 *puVar6;
  char *pcVar7;
  int iVar8;
  undefined4 *puVar9;
  undefined4 uVar10;
  int iVar11;
  int iVar12;
  undefined8 uVar13;
  int local_20;
  
  if (**(char **)(param_1 + 0x3c) == '\0') {
    piVar1 = *(int **)(*(char **)(param_1 + 0x3c) + 0x54);
    if (piVar1 != (int *)0x0) {
      if ((char)piVar1[5] != '\0') {
        uVar10 = FUN_001add90();
        return uVar10;
      }
      iVar5 = FUN_00246670(0x18);
                    /* try { // try from 001adf80 to 001adf84 has its CatchHandler @ 001ae1c7 */
      FUN_000b5c90(iVar5,piVar1,param_1);
      puVar6 = (undefined4 *)FUN_00246670(0x40);
      uVar10 = *(undefined4 *)(param_1 + 0x24);
      uVar2 = *(undefined4 *)(param_1 + 0x28);
      uVar3 = *(undefined4 *)(param_1 + 0x4c);
      *(undefined1 *)(puVar6 + 4) = 0;
      uVar4 = *(undefined4 *)(param_1 + 0x2c);
      puVar6[2] = puVar6 + 4;
      puVar6[9] = uVar2;
      puVar6[10] = uVar4;
      puVar6[0xf] = uVar3;
      puVar6[1] = 0;
      *puVar6 = &PTR_FUN_0040667c;
      puVar6[3] = 0;
      *(undefined1 *)(puVar6 + 8) = 0;
      puVar6[0xb] = uVar10;
      puVar6[0xc] = iVar5;
      puVar6[0xd] = 0;
      puVar6[0xe] = 0;
      uVar13 = FUN_00246670(0x14);
      iVar12 = (int)((ulonglong)uVar13 >> 0x20);
      pcVar7 = (char *)uVar13;
      *pcVar7 = '\x01';
      pcVar7[4] = '\0';
      pcVar7[5] = '\0';
      pcVar7[6] = '\0';
      pcVar7[7] = '\0';
      pcVar7[8] = '\0';
      pcVar7[9] = '\0';
      pcVar7[10] = '\0';
      pcVar7[0xb] = '\0';
      pcVar7[0xc] = '\0';
      pcVar7[0xd] = '\0';
      pcVar7[0xe] = '\0';
      pcVar7[0xf] = '\0';
      pcVar7[0x10] = '\0';
      pcVar7[0x11] = '\0';
      pcVar7[0x12] = '\0';
      pcVar7[0x13] = '\0';
      local_20 = *piVar1;
      if (local_20 != piVar1[1]) {
        iVar12 = 0xc;
        iVar11 = *(int *)(iVar5 + 0xc);
        iVar8 = 0;
        while( true ) {
          pcVar7[8] = '\0';
          pcVar7[9] = '\0';
          pcVar7[10] = '\0';
          pcVar7[0xb] = '\0';
          *(int *)(pcVar7 + 4) = iVar8 + 1;
          puVar9 = (undefined4 *)FUN_00246670(0x50);
          uVar10 = *(undefined4 *)(param_1 + 0x30);
          puVar9[1] = 0;
          *puVar9 = &PTR_FUN_00408290;
          uVar2 = *(undefined4 *)(param_1 + 0x24);
          puVar9[0xc] = uVar10;
          uVar10 = *(undefined4 *)(param_1 + 0x38);
          puVar9[9] = uVar2;
          uVar2 = *(undefined4 *)(param_1 + 0x28);
          puVar9[0xe] = uVar10;
          puVar9[10] = uVar2;
          uVar10 = *(undefined4 *)(param_1 + 0x2c);
          puVar9[2] = puVar9 + 4;
          puVar9[0xb] = uVar10;
          uVar10 = *(undefined4 *)(param_1 + 0x34);
          puVar9[3] = 0;
          puVar9[0xd] = uVar10;
          *(undefined1 *)(puVar9 + 4) = 0;
          *(undefined1 *)(puVar9 + 8) = 0;
          puVar9[0xf] = local_20;
          puVar9[0x10] = 0;
          puVar9[0x11] = iVar11;
          puVar9[0x12] = 0;
          puVar9[0x13] = pcVar7;
          FUN_00200100(param_2,puVar9);
          local_20 = local_20 + 0x5c;
          if (piVar1[1] == local_20) break;
          iVar11 = *(int *)(iVar5 + 0xc) + iVar12;
          iVar12 = iVar12 + 0xc;
          if (*pcVar7 == '\0') {
                    /* WARNING: Subroutine does not return */
            FUN_000da200("../../gold/token.h",0x8e,"add_blocker");
          }
          iVar8 = *(int *)(pcVar7 + 4);
        }
      }
      uVar10 = *(undefined4 *)(param_1 + 0x48);
      if ((puVar6[0xd] == 0) && (puVar6[0xe] == 0)) {
        puVar6[0xd] = pcVar7;
        puVar6[0xe] = uVar10;
        FUN_00200100(param_2,puVar6);
        return 1;
      }
                    /* WARNING: Subroutine does not return */
      FUN_000da200("../../gold/archive.h",0x228,"set_blocker",iVar12);
    }
    FUN_001ace40();
  }
                    /* WARNING: Subroutine does not return */
  FUN_000da200("../../gold/options.h",0x83f,&DAT_00308a04);
}

