
/* WARNING: Type propagation algorithm not settling */
/* DWARF original prototype: void Output_section(Output_section * this, char * name, Elf_Word type,
   Elf_Xword flags) */

void __thiscall
gold::Output_section::Output_section(Output_section *this,char *name,Elf_Word type,Elf_Xword flags)

{
  undefined1 *puVar1;
  Free_list *pFVar2;
  byte bVar3;
  Output_section_lookup_maps *pOVar4;
  uint uVar5;
  int unaff_EDI;
  
  __x86_get_pc_thunk_di();
  (this->super_Output_data)._vptr_Output_data =
       (_func_int_varargs **)("N4gold9PluginobjE" + unaff_EDI + 3);
  *(undefined4 *)&(this->super_Output_data).address_ = 0;
  this->name_ = name;
  *(undefined4 *)((int)&(this->super_Output_data).address_ + 4) = 0;
  this->type_ = type;
  *(undefined4 *)&(this->super_Output_data).data_size_ = 0;
  *(undefined4 *)((int)&(this->super_Output_data).data_size_ + 4) = 0;
  *(undefined4 *)&(this->super_Output_data).offset_ = 0xffffffff;
  *(undefined4 *)((int)&(this->super_Output_data).offset_ + 4) = 0xffffffff;
  puVar1 = &(this->super_Output_data).field_0x1c;
  *puVar1 = *puVar1 & 0xe0;
  *(undefined4 *)&this->addralign_ = 0;
  *(undefined4 *)((int)&this->addralign_ + 4) = 0;
  *(undefined4 *)&this->entsize_ = 0;
  *(undefined4 *)((int)&this->entsize_ + 4) = 0;
  *(undefined4 *)&this->load_address_ = 0;
  *(undefined4 *)((int)&this->load_address_ + 4) = 0;
  this->link_section_ = (Output_data *)0x0;
  this->link_ = 0;
  this->info_section_ = (Output_section *)0x0;
  this->info_symndx_ = (Symbol *)0x0;
  this->info_ = 0;
  *(undefined4 *)&this->flags_ = (undefined4)flags;
  *(uint *)&this->field_0x90 = *(uint *)&this->field_0x90 & 0xff000000;
  *(undefined4 *)((int)&this->flags_ + 4) = flags._4_4_;
  this->order_ = ORDER_INVALID;
  this->out_shndx_ = 0xffffffff;
  this->symtab_index_ = 0;
  this->dynsym_index_ = 0;
  (this->input_sections_).
  super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>
  ._M_impl._M_start = (pointer)0x0;
  (this->input_sections_).
  super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>
  ._M_impl._M_finish = (pointer)0x0;
  (this->input_sections_).
  super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>
  ._M_impl._M_end_of_storage = (pointer)0x0;
  *(undefined4 *)&this->first_input_offset_ = 0;
  *(undefined4 *)((int)&this->first_input_offset_ + 4) = 0;
  (this->fills_).
  super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>.
  _M_impl._M_start = (pointer)0x0;
  (this->fills_).
  super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>.
  _M_impl._M_finish = (pointer)0x0;
  (this->fills_).
  super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>.
  _M_impl._M_end_of_storage = (pointer)0x0;
  this->postprocessing_buffer_ = (uchar *)0x0;
  *(undefined4 *)&this->tls_offset_ = 0;
  *(undefined4 *)((int)&this->tls_offset_ + 4) = 0;
  *(undefined4 *)&this->extra_segment_flags_ = 0;
  *(undefined4 *)((int)&this->extra_segment_flags_ + 4) = 0;
  *(undefined4 *)&this->segment_alignment_ = 0;
  *(undefined4 *)((int)&this->segment_alignment_ + 4) = 0;
  this->checkpoint_ = (Checkpoint_output_section *)0x0;
                    /* try { // try from 000ee330 to 000ee334 has its CatchHandler @ 000ee482 */
  pOVar4 = (Output_section_lookup_maps *)operator_new(0x3c);
  pOVar4->is_valid_ = true;
  uVar5 = 0;
  do {
    *(undefined4 *)((int)&(pOVar4->merge_sections_by_properties_)._M_h._M_buckets + uVar5) = 0;
    uVar5 = uVar5 + 4;
  } while (uVar5 < 0x1c);
  (pOVar4->merge_sections_by_properties_)._M_h._M_bucket_count = 1;
  (pOVar4->merge_sections_by_properties_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
  (pOVar4->merge_sections_by_properties_)._M_h._M_element_count = 0;
  (pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy._M_next_resize = 0;
  (pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket = (__bucket_type)0x0;
  (pOVar4->merge_sections_by_properties_)._M_h._M_buckets =
       &(pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket;
  uVar5 = 0;
  do {
    *(undefined4 *)((int)&(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets + uVar5) = 0;
    uVar5 = uVar5 + 4;
  } while (uVar5 < 0x1c);
  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_bucket_count = 1;
  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets =
       &(pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket;
  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_element_count = 0;
  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy._M_next_resize = 0;
  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket = (__bucket_type)0x0;
  this->lookup_maps_ = pOVar4;
  pFVar2 = &this->free_list_;
  (this->free_list_).list_.
  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>
  ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar2;
  (this->free_list_).list_.
  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>
  ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar2;
  (this->free_list_).list_.
  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>
  ._M_impl._M_node._M_size = 0;
  (this->free_list_).last_remove_._M_node = (_List_node_base *)pFVar2;
  (this->free_list_).extend_ = false;
  *(undefined4 *)&(this->free_list_).length_ = 0;
  *(undefined4 *)((int)&(this->free_list_).length_ + 4) = 0;
  *(undefined4 *)&(this->free_list_).min_hole_ = 0;
  *(undefined4 *)((int)&(this->free_list_).min_hole_ + 4) = 0;
  this->free_space_fill_ = (Output_fill *)0x0;
  *(undefined4 *)&this->patch_space_ = 0;
  *(undefined4 *)((int)&this->patch_space_ + 4) = 0;
  this->reloc_section_ = (Output_section *)0x0;
  if ((flags & 2) == 0) {
    bVar3 = (this->super_Output_data).field_0x1c;
    if ((bVar3 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */
      do_gold_unreachable((char *)(unaff_EDI + 0x199ce3),0x142,(char *)(unaff_EDI + 0x1a5db7));
    }
    *(undefined4 *)&(this->super_Output_data).address_ = 0;
    *(undefined4 *)((int)&(this->super_Output_data).address_ + 4) = 0;
    (this->super_Output_data).field_0x1c = bVar3 | 1;
  }
  return;
}



void FUN_000ee1c0(int *param_1,int param_2,int param_3,uint param_4,int param_5)

{
  int *piVar1;
  byte bVar2;
  undefined1 *puVar3;
  uint uVar4;
  int unaff_EDI;
  
  FUN_000559ee();
  *param_1 = (int)("N4gold9PluginobjE" + unaff_EDI + 3);
  param_1[1] = 0;
  param_1[8] = param_2;
  param_1[2] = 0;
  param_1[0x14] = param_3;
  param_1[3] = 0;
  param_1[4] = 0;
  param_1[5] = -1;
  param_1[6] = -1;
  *(byte *)(param_1 + 7) = *(byte *)(param_1 + 7) & 0xe0;
  param_1[9] = 0;
  param_1[10] = 0;
  param_1[0xb] = 0;
  param_1[0xc] = 0;
  param_1[0xd] = 0;
  param_1[0xe] = 0;
  param_1[0xf] = 0;
  param_1[0x10] = 0;
  param_1[0x11] = 0;
  param_1[0x12] = 0;
  param_1[0x13] = 0;
  param_1[0x15] = param_4;
  param_1[0x24] = param_1[0x24] & 0xff000000;
  param_1[0x16] = param_5;
  param_1[0x17] = 0;
  param_1[0x18] = -1;
  param_1[0x19] = 0;
  param_1[0x1a] = 0;
  param_1[0x1b] = 0;
  param_1[0x1c] = 0;
  param_1[0x1d] = 0;
  param_1[0x1e] = 0;
  param_1[0x1f] = 0;
  param_1[0x20] = 0;
  param_1[0x21] = 0;
  param_1[0x22] = 0;
  param_1[0x23] = 0;
  param_1[0x25] = 0;
  param_1[0x26] = 0;
  param_1[0x27] = 0;
  param_1[0x28] = 0;
  param_1[0x29] = 0;
  param_1[0x2a] = 0;
  param_1[0x2b] = 0;
                    /* try { // try from 000ee330 to 000ee334 has its CatchHandler @ 000ee482 */
  puVar3 = (undefined1 *)FUN_001e5200(0x3c);
  *puVar3 = 1;
  uVar4 = 0;
  do {
    *(undefined4 *)(puVar3 + uVar4 + 4) = 0;
    uVar4 = uVar4 + 4;
  } while (uVar4 < 0x1c);
  *(undefined4 *)(puVar3 + 8) = 1;
  *(undefined4 *)(puVar3 + 0xc) = 0;
  *(undefined4 *)(puVar3 + 0x10) = 0;
  *(undefined4 *)(puVar3 + 0x14) = 0x3f800000;
  *(undefined4 *)(puVar3 + 0x18) = 0;
  *(undefined4 *)(puVar3 + 0x1c) = 0;
  *(undefined1 **)(puVar3 + 4) = puVar3 + 0x1c;
  uVar4 = 0;
  do {
    *(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;
    uVar4 = uVar4 + 4;
  } while (uVar4 < 0x1c);
  *(undefined4 *)(puVar3 + 0x24) = 1;
  *(undefined1 **)(puVar3 + 0x20) = puVar3 + 0x38;
  *(undefined4 *)(puVar3 + 0x28) = 0;
  *(undefined4 *)(puVar3 + 0x2c) = 0;
  *(undefined4 *)(puVar3 + 0x30) = 0x3f800000;
  *(undefined4 *)(puVar3 + 0x34) = 0;
  *(undefined4 *)(puVar3 + 0x38) = 0;
  param_1[0x2c] = (int)puVar3;
  piVar1 = param_1 + 0x2d;
  param_1[0x2e] = (int)piVar1;
  param_1[0x2d] = (int)piVar1;
  param_1[0x2f] = 0;
  param_1[0x30] = (int)piVar1;
  *(undefined1 *)(param_1 + 0x31) = 0;
  param_1[0x32] = 0;
  param_1[0x33] = 0;
  param_1[0x34] = 0;
  param_1[0x35] = 0;
  param_1[0x36] = 0;
  param_1[0x37] = 0;
  param_1[0x38] = 0;
  param_1[0x39] = 0;
  if ((param_4 & 2) == 0) {
    bVar2 = *(byte *)(param_1 + 7);
    if ((bVar2 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */
      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);
    }
    param_1[1] = 0;
    param_1[2] = 0;
    *(byte *)(param_1 + 7) = bVar2 | 1;
  }
  return;
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
CALL 0x000559ee
ADD EDI,0x2a0e37
PUSH ESI
PUSH EBX
SUB ESP,0x28
MOV ESI,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EBP + 0x14]
LEA EAX,[EDI + 0xffff4e50]
MOV dword ptr [EBP + -0x1c],EBX
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [EBP + 0xc]
MOV dword ptr [ESI + 0x4],0x0
MOV dword ptr [ESI + 0x20],EAX
MOV EAX,dword ptr [EBP + 0x10]
MOV dword ptr [ESI + 0x8],0x0
MOV dword ptr [ESI + 0x50],EAX
MOV dword ptr [ESI + 0xc],0x0
MOV dword ptr [ESI + 0x10],0x0
MOV dword ptr [ESI + 0x14],0xffffffff
MOV dword ptr [ESI + 0x18],0xffffffff
AND byte ptr [ESI + 0x1c],0xe0
MOV dword ptr [ESI + 0x24],0x0
MOV dword ptr [ESI + 0x28],0x0
MOV dword ptr [ESI + 0x2c],0x0
MOV dword ptr [ESI + 0x30],0x0
MOV dword ptr [ESI + 0x34],0x0
MOV dword ptr [ESI + 0x38],0x0
MOV dword ptr [ESI + 0x3c],0x0
MOV dword ptr [ESI + 0x40],0x0
MOV dword ptr [ESI + 0x44],0x0
MOV dword ptr [ESI + 0x48],0x0
MOV dword ptr [ESI + 0x4c],0x0
MOV dword ptr [ESI + 0x54],EBX
MOV EAX,dword ptr [EBP + 0x18]
MOV EBX,EDI
AND dword ptr [ESI + 0x90],0xff000000
MOV dword ptr [ESI + 0x58],EAX
MOV dword ptr [ESI + 0x5c],0x0
MOV dword ptr [ESI + 0x60],0xffffffff
MOV dword ptr [ESI + 0x64],0x0
MOV dword ptr [ESI + 0x68],0x0
MOV dword ptr [ESI + 0x6c],0x0
MOV dword ptr [ESI + 0x70],0x0
MOV dword ptr [ESI + 0x74],0x0
MOV dword ptr [ESI + 0x78],0x0
MOV dword ptr [ESI + 0x7c],0x0
MOV dword ptr [ESI + 0x80],0x0
MOV dword ptr [ESI + 0x84],0x0
MOV dword ptr [ESI + 0x88],0x0
MOV dword ptr [ESI + 0x8c],0x0
MOV dword ptr [ESI + 0x94],0x0
MOV dword ptr [ESI + 0x98],0x0
MOV dword ptr [ESI + 0x9c],0x0
MOV dword ptr [ESI + 0xa0],0x0
MOV dword ptr [ESI + 0xa4],0x0
MOV dword ptr [ESI + 0xa8],0x0
MOV dword ptr [ESI + 0xac],0x0
PUSH 0x3c
CALL 0x001e5200
MOV byte ptr [EAX],0x1
ADD ESP,0x10
XOR ECX,ECX
XOR EDX,EDX
MOV dword ptr [EAX + EDX*0x1 + 0x4],ECX
ADD EDX,0x4
CMP EDX,0x1c
JC 0x000ee33f
MOV dword ptr [EAX + 0x8],0x1
LEA EDX,[EAX + 0x1c]
XOR ECX,ECX
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x10],0x0
MOV dword ptr [EAX + 0x14],0x3f800000
MOV dword ptr [EAX + 0x18],0x0
MOV dword ptr [EAX + 0x1c],0x0
MOV dword ptr [EAX + 0x4],EDX
XOR EDX,EDX
MOV dword ptr [EAX + EDX*0x1 + 0x20],ECX
ADD EDX,0x4
CMP EDX,0x1c
JC 0x000ee37f
LEA EDX,[EAX + 0x38]
MOV dword ptr [EAX + 0x24],0x1
MOV dword ptr [EAX + 0x20],EDX
MOV dword ptr [EAX + 0x28],0x0
MOV dword ptr [EAX + 0x2c],0x0
MOV dword ptr [EAX + 0x30],0x3f800000
MOV dword ptr [EAX + 0x34],0x0
MOV dword ptr [EAX + 0x38],0x0
MOV dword ptr [ESI + 0xb0],EAX
LEA EAX,[ESI + 0xb4]
MOV dword ptr [EBP + -0x20],EAX
MOV dword ptr [ESI + 0xb8],EAX
MOV dword ptr [ESI + 0xb4],EAX
MOV dword ptr [ESI + 0xbc],0x0
MOV dword ptr [ESI + 0xc0],EAX
MOV byte ptr [ESI + 0xc4],0x0
MOV dword ptr [ESI + 0xc8],0x0
MOV dword ptr [ESI + 0xcc],0x0
MOV dword ptr [ESI + 0xd0],0x0
MOV dword ptr [ESI + 0xd4],0x0
MOV dword ptr [ESI + 0xd8],0x0
MOV dword ptr [ESI + 0xdc],0x0
MOV dword ptr [ESI + 0xe0],0x0
MOV dword ptr [ESI + 0xe4],0x0
TEST byte ptr [EBP + -0x1c],0x2
JNZ 0x000ee45f
MOVZX EAX,byte ptr [ESI + 0x1c]
TEST AL,0x1
JNZ 0x000ee467
OR EAX,0x1
MOV dword ptr [ESI + 0x4],0x0
MOV dword ptr [ESI + 0x8],0x0
MOV byte ptr [ESI + 0x1c],AL
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
PUSH EAX
LEA EAX,[EDI + 0xfff04f80]
MOV EBX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffef8eac]
PUSH 0x142
PUSH EAX
CALL 0x00069d00
(translation_unit "void FUN_000ee1c0(int *param_1,int param_2,int param_3,uint param_4,int param_5)\n\n{\n  int *piVar1;\n  byte bVar2;\n  undefined1 *puVar3;\n  uint uVar4;\n  int unaff_EDI;\n  \n  FUN_000559ee();\n  *param_1 = (int)("N4gold9PluginobjE" + unaff_EDI + 3);\n  param_1[1] = 0;\n  param_1[8] = param_2;\n  param_1[2] = 0;\n  param_1[0x14] = param_3;\n  param_1[3] = 0;\n  param_1[4] = 0;\n  param_1[5] = -1;\n  param_1[6] = -1;\n  *(byte *)(param_1 + 7) = *(byte *)(param_1 + 7) & 0xe0;\n  param_1[9] = 0;\n  param_1[10] = 0;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  param_1[0xd] = 0;\n  param_1[0xe] = 0;\n  param_1[0xf] = 0;\n  param_1[0x10] = 0;\n  param_1[0x11] = 0;\n  param_1[0x12] = 0;\n  param_1[0x13] = 0;\n  param_1[0x15] = param_4;\n  param_1[0x24] = param_1[0x24] & 0xff000000;\n  param_1[0x16] = param_5;\n  param_1[0x17] = 0;\n  param_1[0x18] = -1;\n  param_1[0x19] = 0;\n  param_1[0x1a] = 0;\n  param_1[0x1b] = 0;\n  param_1[0x1c] = 0;\n  param_1[0x1d] = 0;\n  param_1[0x1e] = 0;\n  param_1[0x1f] = 0;\n  param_1[0x20] = 0;\n  param_1[0x21] = 0;\n  param_1[0x22] = 0;\n  param_1[0x23] = 0;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x27] = 0;\n  param_1[0x28] = 0;\n  param_1[0x29] = 0;\n  param_1[0x2a] = 0;\n  param_1[0x2b] = 0;\n                    /* try { // try from 000ee330 to 000ee334 has its CatchHandler @ 000ee482 */\n  puVar3 = (undefined1 *)FUN_001e5200(0x3c);\n  *puVar3 = 1;\n  uVar4 = 0;\n  do {\n    *(undefined4 *)(puVar3 + uVar4 + 4) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);\n  *(undefined4 *)(puVar3 + 8) = 1;\n  *(undefined4 *)(puVar3 + 0xc) = 0;\n  *(undefined4 *)(puVar3 + 0x10) = 0;\n  *(undefined4 *)(puVar3 + 0x14) = 0x3f800000;\n  *(undefined4 *)(puVar3 + 0x18) = 0;\n  *(undefined4 *)(puVar3 + 0x1c) = 0;\n  *(undefined1 **)(puVar3 + 4) = puVar3 + 0x1c;\n  uVar4 = 0;\n  do {\n    *(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);\n  *(undefined4 *)(puVar3 + 0x24) = 1;\n  *(undefined1 **)(puVar3 + 0x20) = puVar3 + 0x38;\n  *(undefined4 *)(puVar3 + 0x28) = 0;\n  *(undefined4 *)(puVar3 + 0x2c) = 0;\n  *(undefined4 *)(puVar3 + 0x30) = 0x3f800000;\n  *(undefined4 *)(puVar3 + 0x34) = 0;\n  *(undefined4 *)(puVar3 + 0x38) = 0;\n  param_1[0x2c] = (int)puVar3;\n  piVar1 = param_1 + 0x2d;\n  param_1[0x2e] = (int)piVar1;\n  param_1[0x2d] = (int)piVar1;\n  param_1[0x2f] = 0;\n  param_1[0x30] = (int)piVar1;\n  *(undefined1 *)(param_1 + 0x31) = 0;\n  param_1[0x32] = 0;\n  param_1[0x33] = 0;\n  param_1[0x34] = 0;\n  param_1[0x35] = 0;\n  param_1[0x36] = 0;\n  param_1[0x37] = 0;\n  param_1[0x38] = 0;\n  param_1[0x39] = 0;\n  if ((param_4 & 2) == 0) {\n    bVar2 = *(byte *)(param_1 + 7);\n    if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */\n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }\n    param_1[1] = 0;\n    param_1[2] = 0;\n    *(byte *)(param_1 + 7) = bVar2 | 1;\n  }\n  return;\n}\n\n" (function_definition "void FUN_000ee1c0(int *param_1,int param_2,int param_3,uint param_4,int param_5)\n\n{\n  int *piVar1;\n  byte bVar2;\n  undefined1 *puVar3;\n  uint uVar4;\n  int unaff_EDI;\n  \n  FUN_000559ee();\n  *param_1 = (int)("N4gold9PluginobjE" + unaff_EDI + 3);\n  param_1[1] = 0;\n  param_1[8] = param_2;\n  param_1[2] = 0;\n  param_1[0x14] = param_3;\n  param_1[3] = 0;\n  param_1[4] = 0;\n  param_1[5] = -1;\n  param_1[6] = -1;\n  *(byte *)(param_1 + 7) = *(byte *)(param_1 + 7) & 0xe0;\n  param_1[9] = 0;\n  param_1[10] = 0;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  param_1[0xd] = 0;\n  param_1[0xe] = 0;\n  param_1[0xf] = 0;\n  param_1[0x10] = 0;\n  param_1[0x11] = 0;\n  param_1[0x12] = 0;\n  param_1[0x13] = 0;\n  param_1[0x15] = param_4;\n  param_1[0x24] = param_1[0x24] & 0xff000000;\n  param_1[0x16] = param_5;\n  param_1[0x17] = 0;\n  param_1[0x18] = -1;\n  param_1[0x19] = 0;\n  param_1[0x1a] = 0;\n  param_1[0x1b] = 0;\n  param_1[0x1c] = 0;\n  param_1[0x1d] = 0;\n  param_1[0x1e] = 0;\n  param_1[0x1f] = 0;\n  param_1[0x20] = 0;\n  param_1[0x21] = 0;\n  param_1[0x22] = 0;\n  param_1[0x23] = 0;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x27] = 0;\n  param_1[0x28] = 0;\n  param_1[0x29] = 0;\n  param_1[0x2a] = 0;\n  param_1[0x2b] = 0;\n                    /* try { // try from 000ee330 to 000ee334 has its CatchHandler @ 000ee482 */\n  puVar3 = (undefined1 *)FUN_001e5200(0x3c);\n  *puVar3 = 1;\n  uVar4 = 0;\n  do {\n    *(undefined4 *)(puVar3 + uVar4 + 4) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);\n  *(undefined4 *)(puVar3 + 8) = 1;\n  *(undefined4 *)(puVar3 + 0xc) = 0;\n  *(undefined4 *)(puVar3 + 0x10) = 0;\n  *(undefined4 *)(puVar3 + 0x14) = 0x3f800000;\n  *(undefined4 *)(puVar3 + 0x18) = 0;\n  *(undefined4 *)(puVar3 + 0x1c) = 0;\n  *(undefined1 **)(puVar3 + 4) = puVar3 + 0x1c;\n  uVar4 = 0;\n  do {\n    *(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);\n  *(undefined4 *)(puVar3 + 0x24) = 1;\n  *(undefined1 **)(puVar3 + 0x20) = puVar3 + 0x38;\n  *(undefined4 *)(puVar3 + 0x28) = 0;\n  *(undefined4 *)(puVar3 + 0x2c) = 0;\n  *(undefined4 *)(puVar3 + 0x30) = 0x3f800000;\n  *(undefined4 *)(puVar3 + 0x34) = 0;\n  *(undefined4 *)(puVar3 + 0x38) = 0;\n  param_1[0x2c] = (int)puVar3;\n  piVar1 = param_1 + 0x2d;\n  param_1[0x2e] = (int)piVar1;\n  param_1[0x2d] = (int)piVar1;\n  param_1[0x2f] = 0;\n  param_1[0x30] = (int)piVar1;\n  *(undefined1 *)(param_1 + 0x31) = 0;\n  param_1[0x32] = 0;\n  param_1[0x33] = 0;\n  param_1[0x34] = 0;\n  param_1[0x35] = 0;\n  param_1[0x36] = 0;\n  param_1[0x37] = 0;\n  param_1[0x38] = 0;\n  param_1[0x39] = 0;\n  if ((param_4 & 2) == 0) {\n    bVar2 = *(byte *)(param_1 + 7);\n    if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */\n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }\n    param_1[1] = 0;\n    param_1[2] = 0;\n    *(byte *)(param_1 + 7) = bVar2 | 1;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_000ee1c0(int *param_1,int param_2,int param_3,uint param_4,int param_5)" identifier (parameter_list "(int *param_1,int param_2,int param_3,uint param_4,int param_5)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "int param_5" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  byte bVar2;\n  undefined1 *puVar3;\n  uint uVar4;\n  int unaff_EDI;\n  \n  FUN_000559ee();\n  *param_1 = (int)("N4gold9PluginobjE" + unaff_EDI + 3);\n  param_1[1] = 0;\n  param_1[8] = param_2;\n  param_1[2] = 0;\n  param_1[0x14] = param_3;\n  param_1[3] = 0;\n  param_1[4] = 0;\n  param_1[5] = -1;\n  param_1[6] = -1;\n  *(byte *)(param_1 + 7) = *(byte *)(param_1 + 7) & 0xe0;\n  param_1[9] = 0;\n  param_1[10] = 0;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  param_1[0xd] = 0;\n  param_1[0xe] = 0;\n  param_1[0xf] = 0;\n  param_1[0x10] = 0;\n  param_1[0x11] = 0;\n  param_1[0x12] = 0;\n  param_1[0x13] = 0;\n  param_1[0x15] = param_4;\n  param_1[0x24] = param_1[0x24] & 0xff000000;\n  param_1[0x16] = param_5;\n  param_1[0x17] = 0;\n  param_1[0x18] = -1;\n  param_1[0x19] = 0;\n  param_1[0x1a] = 0;\n  param_1[0x1b] = 0;\n  param_1[0x1c] = 0;\n  param_1[0x1d] = 0;\n  param_1[0x1e] = 0;\n  param_1[0x1f] = 0;\n  param_1[0x20] = 0;\n  param_1[0x21] = 0;\n  param_1[0x22] = 0;\n  param_1[0x23] = 0;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x27] = 0;\n  param_1[0x28] = 0;\n  param_1[0x29] = 0;\n  param_1[0x2a] = 0;\n  param_1[0x2b] = 0;\n                    /* try { // try from 000ee330 to 000ee334 has its CatchHandler @ 000ee482 */\n  puVar3 = (undefined1 *)FUN_001e5200(0x3c);\n  *puVar3 = 1;\n  uVar4 = 0;\n  do {\n    *(undefined4 *)(puVar3 + uVar4 + 4) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);\n  *(undefined4 *)(puVar3 + 8) = 1;\n  *(undefined4 *)(puVar3 + 0xc) = 0;\n  *(undefined4 *)(puVar3 + 0x10) = 0;\n  *(undefined4 *)(puVar3 + 0x14) = 0x3f800000;\n  *(undefined4 *)(puVar3 + 0x18) = 0;\n  *(undefined4 *)(puVar3 + 0x1c) = 0;\n  *(undefined1 **)(puVar3 + 4) = puVar3 + 0x1c;\n  uVar4 = 0;\n  do {\n    *(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);\n  *(undefined4 *)(puVar3 + 0x24) = 1;\n  *(undefined1 **)(puVar3 + 0x20) = puVar3 + 0x38;\n  *(undefined4 *)(puVar3 + 0x28) = 0;\n  *(undefined4 *)(puVar3 + 0x2c) = 0;\n  *(undefined4 *)(puVar3 + 0x30) = 0x3f800000;\n  *(undefined4 *)(puVar3 + 0x34) = 0;\n  *(undefined4 *)(puVar3 + 0x38) = 0;\n  param_1[0x2c] = (int)puVar3;\n  piVar1 = param_1 + 0x2d;\n  param_1[0x2e] = (int)piVar1;\n  param_1[0x2d] = (int)piVar1;\n  param_1[0x2f] = 0;\n  param_1[0x30] = (int)piVar1;\n  *(undefined1 *)(param_1 + 0x31) = 0;\n  param_1[0x32] = 0;\n  param_1[0x33] = 0;\n  param_1[0x34] = 0;\n  param_1[0x35] = 0;\n  param_1[0x36] = 0;\n  param_1[0x37] = 0;\n  param_1[0x38] = 0;\n  param_1[0x39] = 0;\n  if ((param_4 & 2) == 0) {\n    bVar2 = *(byte *)(param_1 + 7);\n    if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */\n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }\n    param_1[1] = 0;\n    param_1[2] = 0;\n    *(byte *)(param_1 + 7) = bVar2 | 1;\n  }\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "undefined1 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "FUN_000559ee();" (call_expression "FUN_000559ee()" identifier (argument_list "()" ( ))) ;) (expression_statement "*param_1 = (int)("N4gold9PluginobjE" + unaff_EDI + 3);" (assignment_expression "*param_1 = (int)("N4gold9PluginobjE" + unaff_EDI + 3)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)("N4gold9PluginobjE" + unaff_EDI + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "("N4gold9PluginobjE" + unaff_EDI + 3)" ( (binary_expression ""N4gold9PluginobjE" + unaff_EDI + 3" (binary_expression ""N4gold9PluginobjE" + unaff_EDI" (string_literal ""N4gold9PluginobjE"" " string_content ") + identifier) + number_literal) )))) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[8] = param_2;" (assignment_expression "param_1[8] = param_2" (subscript_expression "param_1[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x14] = param_3;" (assignment_expression "param_1[0x14] = param_3" (subscript_expression "param_1[0x14]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[5] = -1;" (assignment_expression "param_1[5] = -1" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[6] = -1;" (assignment_expression "param_1[6] = -1" (subscript_expression "param_1[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(param_1 + 7) = *(byte *)(param_1 + 7) & 0xe0;" (assignment_expression "*(byte *)(param_1 + 7) = *(byte *)(param_1 + 7) & 0xe0" (pointer_expression "*(byte *)(param_1 + 7)" * (cast_expression "(byte *)(param_1 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_1 + 7) & 0xe0" (pointer_expression "*(byte *)(param_1 + 7)" * (cast_expression "(byte *)(param_1 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[10] = 0;" (assignment_expression "param_1[10] = 0" (subscript_expression "param_1[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xc] = 0;" (assignment_expression "param_1[0xc] = 0" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xd] = 0;" (assignment_expression "param_1[0xd] = 0" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xe] = 0;" (assignment_expression "param_1[0xe] = 0" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xf] = 0;" (assignment_expression "param_1[0xf] = 0" (subscript_expression "param_1[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x10] = 0;" (assignment_expression "param_1[0x10] = 0" (subscript_expression "param_1[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x11] = 0;" (assignment_expression "param_1[0x11] = 0" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x12] = 0;" (assignment_expression "param_1[0x12] = 0" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x13] = 0;" (assignment_expression "param_1[0x13] = 0" (subscript_expression "param_1[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x15] = param_4;" (assignment_expression "param_1[0x15] = param_4" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x24] = param_1[0x24] & 0xff000000;" (assignment_expression "param_1[0x24] = param_1[0x24] & 0xff000000" (subscript_expression "param_1[0x24]" identifier [ number_literal ]) = (binary_expression "param_1[0x24] & 0xff000000" (subscript_expression "param_1[0x24]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "param_1[0x16] = param_5;" (assignment_expression "param_1[0x16] = param_5" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x17] = 0;" (assignment_expression "param_1[0x17] = 0" (subscript_expression "param_1[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x18] = -1;" (assignment_expression "param_1[0x18] = -1" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x19] = 0;" (assignment_expression "param_1[0x19] = 0" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1a] = 0;" (assignment_expression "param_1[0x1a] = 0" (subscript_expression "param_1[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1b] = 0;" (assignment_expression "param_1[0x1b] = 0" (subscript_expression "param_1[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1c] = 0;" (assignment_expression "param_1[0x1c] = 0" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1d] = 0;" (assignment_expression "param_1[0x1d] = 0" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1e] = 0;" (assignment_expression "param_1[0x1e] = 0" (subscript_expression "param_1[0x1e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1f] = 0;" (assignment_expression "param_1[0x1f] = 0" (subscript_expression "param_1[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x20] = 0;" (assignment_expression "param_1[0x20] = 0" (subscript_expression "param_1[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x21] = 0;" (assignment_expression "param_1[0x21] = 0" (subscript_expression "param_1[0x21]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x22] = 0;" (assignment_expression "param_1[0x22] = 0" (subscript_expression "param_1[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x23] = 0;" (assignment_expression "param_1[0x23] = 0" (subscript_expression "param_1[0x23]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x25] = 0;" (assignment_expression "param_1[0x25] = 0" (subscript_expression "param_1[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x26] = 0;" (assignment_expression "param_1[0x26] = 0" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x27] = 0;" (assignment_expression "param_1[0x27] = 0" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x28] = 0;" (assignment_expression "param_1[0x28] = 0" (subscript_expression "param_1[0x28]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x29] = 0;" (assignment_expression "param_1[0x29] = 0" (subscript_expression "param_1[0x29]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2a] = 0;" (assignment_expression "param_1[0x2a] = 0" (subscript_expression "param_1[0x2a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2b] = 0;" (assignment_expression "param_1[0x2b] = 0" (subscript_expression "param_1[0x2b]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "puVar3 = (undefined1 *)FUN_001e5200(0x3c);" (assignment_expression "puVar3 = (undefined1 *)FUN_001e5200(0x3c)" identifier = (cast_expression "(undefined1 *)FUN_001e5200(0x3c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200(0x3c)" identifier (argument_list "(0x3c)" ( number_literal ))))) ;) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)(puVar3 + uVar4 + 4) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)(puVar3 + uVar4 + 4) = 0;\n    uVar4 = uVar4 + 4;\n  }" { (expression_statement "*(undefined4 *)(puVar3 + uVar4 + 4) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + uVar4 + 4) = 0" (pointer_expression "*(undefined4 *)(puVar3 + uVar4 + 4)" * (cast_expression "(undefined4 *)(puVar3 + uVar4 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + uVar4 + 4)" ( (binary_expression "puVar3 + uVar4 + 4" (binary_expression "puVar3 + uVar4" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar4 = uVar4 + 4;" (assignment_expression "uVar4 = uVar4 + 4" identifier = (binary_expression "uVar4 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar4 < 0x1c)" ( (binary_expression "uVar4 < 0x1c" identifier < number_literal) )) ;) (expression_statement "*(undefined4 *)(puVar3 + 8) = 1;" (assignment_expression "*(undefined4 *)(puVar3 + 8) = 1" (pointer_expression "*(undefined4 *)(puVar3 + 8)" * (cast_expression "(undefined4 *)(puVar3 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 8)" ( (binary_expression "puVar3 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0xc) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0xc)" * (cast_expression "(undefined4 *)(puVar3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0xc)" ( (binary_expression "puVar3 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x10) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x10)" * (cast_expression "(undefined4 *)(puVar3 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x10)" ( (binary_expression "puVar3 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x14) = 0x3f800000;" (assignment_expression "*(undefined4 *)(puVar3 + 0x14) = 0x3f800000" (pointer_expression "*(undefined4 *)(puVar3 + 0x14)" * (cast_expression "(undefined4 *)(puVar3 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x14)" ( (binary_expression "puVar3 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x18) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x18)" * (cast_expression "(undefined4 *)(puVar3 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x18)" ( (binary_expression "puVar3 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x1c)" * (cast_expression "(undefined4 *)(puVar3 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x1c)" ( (binary_expression "puVar3 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar3 + 4) = puVar3 + 0x1c;" (assignment_expression "*(undefined1 **)(puVar3 + 4) = puVar3 + 0x1c" (pointer_expression "*(undefined1 **)(puVar3 + 4)" * (cast_expression "(undefined1 **)(puVar3 + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 4)" ( (binary_expression "puVar3 + 4" identifier + number_literal) )))) = (binary_expression "puVar3 + 0x1c" identifier + number_literal)) ;) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;\n    uVar4 = uVar4 + 4;\n  }" { (expression_statement "*(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + uVar4 + 0x20) = 0" (pointer_expression "*(undefined4 *)(puVar3 + uVar4 + 0x20)" * (cast_expression "(undefined4 *)(puVar3 + uVar4 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + uVar4 + 0x20)" ( (binary_expression "puVar3 + uVar4 + 0x20" (binary_expression "puVar3 + uVar4" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar4 = uVar4 + 4;" (assignment_expression "uVar4 = uVar4 + 4" identifier = (binary_expression "uVar4 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar4 < 0x1c)" ( (binary_expression "uVar4 < 0x1c" identifier < number_literal) )) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x24) = 1;" (assignment_expression "*(undefined4 *)(puVar3 + 0x24) = 1" (pointer_expression "*(undefined4 *)(puVar3 + 0x24)" * (cast_expression "(undefined4 *)(puVar3 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x24)" ( (binary_expression "puVar3 + 0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar3 + 0x20) = puVar3 + 0x38;" (assignment_expression "*(undefined1 **)(puVar3 + 0x20) = puVar3 + 0x38" (pointer_expression "*(undefined1 **)(puVar3 + 0x20)" * (cast_expression "(undefined1 **)(puVar3 + 0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 0x20)" ( (binary_expression "puVar3 + 0x20" identifier + number_literal) )))) = (binary_expression "puVar3 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x28) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x28) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x28)" * (cast_expression "(undefined4 *)(puVar3 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x28)" ( (binary_expression "puVar3 + 0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x2c) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x2c) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x2c)" * (cast_expression "(undefined4 *)(puVar3 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x2c)" ( (binary_expression "puVar3 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x30) = 0x3f800000;" (assignment_expression "*(undefined4 *)(puVar3 + 0x30) = 0x3f800000" (pointer_expression "*(undefined4 *)(puVar3 + 0x30)" * (cast_expression "(undefined4 *)(puVar3 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x30)" ( (binary_expression "puVar3 + 0x30" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x34) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x34) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x34)" * (cast_expression "(undefined4 *)(puVar3 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x34)" ( (binary_expression "puVar3 + 0x34" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x38) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x38)" * (cast_expression "(undefined4 *)(puVar3 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x38)" ( (binary_expression "puVar3 + 0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[0x2c] = (int)puVar3;" (assignment_expression "param_1[0x2c] = (int)puVar3" (subscript_expression "param_1[0x2c]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar1 = param_1 + 0x2d;" (assignment_expression "piVar1 = param_1 + 0x2d" identifier = (binary_expression "param_1 + 0x2d" identifier + number_literal)) ;) (expression_statement "param_1[0x2e] = (int)piVar1;" (assignment_expression "param_1[0x2e] = (int)piVar1" (subscript_expression "param_1[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0x2d] = (int)piVar1;" (assignment_expression "param_1[0x2d] = (int)piVar1" (subscript_expression "param_1[0x2d]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0x2f] = 0;" (assignment_expression "param_1[0x2f] = 0" (subscript_expression "param_1[0x2f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x30] = (int)piVar1;" (assignment_expression "param_1[0x30] = (int)piVar1" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(param_1 + 0x31) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x31) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x31)" * (cast_expression "(undefined1 *)(param_1 + 0x31)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x31)" ( (binary_expression "param_1 + 0x31" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x34] = 0;" (assignment_expression "param_1[0x34] = 0" (subscript_expression "param_1[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x35] = 0;" (assignment_expression "param_1[0x35] = 0" (subscript_expression "param_1[0x35]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x36] = 0;" (assignment_expression "param_1[0x36] = 0" (subscript_expression "param_1[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x37] = 0;" (assignment_expression "param_1[0x37] = 0" (subscript_expression "param_1[0x37]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x38] = 0;" (assignment_expression "param_1[0x38] = 0" (subscript_expression "param_1[0x38]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x39] = 0;" (assignment_expression "param_1[0x39] = 0" (subscript_expression "param_1[0x39]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((param_4 & 2) == 0) {\n    bVar2 = *(byte *)(param_1 + 7);\n    if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */\n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }\n    param_1[1] = 0;\n    param_1[2] = 0;\n    *(byte *)(param_1 + 7) = bVar2 | 1;\n  }" if (parenthesized_expression "((param_4 & 2) == 0)" ( (binary_expression "(param_4 & 2) == 0" (parenthesized_expression "(param_4 & 2)" ( (binary_expression "param_4 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    bVar2 = *(byte *)(param_1 + 7);\n    if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */\n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }\n    param_1[1] = 0;\n    param_1[2] = 0;\n    *(byte *)(param_1 + 7) = bVar2 | 1;\n  }" { (expression_statement "bVar2 = *(byte *)(param_1 + 7);" (assignment_expression "bVar2 = *(byte *)(param_1 + 7)" identifier = (pointer_expression "*(byte *)(param_1 + 7)" * (cast_expression "(byte *)(param_1 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) ))))) ;) (if_statement "if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */\n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }" if (parenthesized_expression "((bVar2 & 1) != 0)" ( (binary_expression "(bVar2 & 1) != 0" (parenthesized_expression "(bVar2 & 1)" ( (binary_expression "bVar2 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */\n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }" { comment comment (expression_statement "FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);" (call_expression "FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2)" identifier (argument_list "(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2)" ( (binary_expression "unaff_EDI + 0x199ce3" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x1a5db7" identifier + number_literal) , identifier ))) ;) })) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(param_1 + 7) = bVar2 | 1;" (assignment_expression "*(byte *)(param_1 + 7) = bVar2 | 1" (pointer_expression "*(byte *)(param_1 + 7)" * (cast_expression "(byte *)(param_1 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) = (binary_expression "bVar2 | 1" identifier | number_literal)) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* DWARF original prototype: void Output_section(Output_section * this, char * name, Elf_Word type,\n   Elf_Xword flags) */\n\nvoid __thiscall\ngold::Output_section::Output_section(Output_section *this,char *name,Elf_Word type,Elf_Xword flags)\n\n{\n  undefined1 *puVar1;\n  Free_list *pFVar2;\n  byte bVar3;\n  Output_section_lookup_maps *pOVar4;\n  uint uVar5;\n  int unaff_EDI;\n  \n  __x86_get_pc_thunk_di();\n  (this->super_Output_data)._vptr_Output_data =\n       (_func_int_varargs **)("N4gold9PluginobjE" + unaff_EDI + 3);\n  *(undefined4 *)&(this->super_Output_data).address_ = 0;\n  this->name_ = name;\n  *(undefined4 *)((int)&(this->super_Output_data).address_ + 4) = 0;\n  this->type_ = type;\n  *(undefined4 *)&(this->super_Output_data).data_size_ = 0;\n  *(undefined4 *)((int)&(this->super_Output_data).data_size_ + 4) = 0;\n  *(undefined4 *)&(this->super_Output_data).offset_ = 0xffffffff;\n  *(undefined4 *)((int)&(this->super_Output_data).offset_ + 4) = 0xffffffff;\n  puVar1 = &(this->super_Output_data).field_0x1c;\n  *puVar1 = *puVar1 & 0xe0;\n  *(undefined4 *)&this->addralign_ = 0;\n  *(undefined4 *)((int)&this->addralign_ + 4) = 0;\n  *(undefined4 *)&this->entsize_ = 0;\n  *(undefined4 *)((int)&this->entsize_ + 4) = 0;\n  *(undefined4 *)&this->load_address_ = 0;\n  *(undefined4 *)((int)&this->load_address_ + 4) = 0;\n  this->link_section_ = (Output_data *)0x0;\n  this->link_ = 0;\n  this->info_section_ = (Output_section *)0x0;\n  this->info_symndx_ = (Symbol *)0x0;\n  this->info_ = 0;\n  *(undefined4 *)&this->flags_ = (undefined4)flags;\n  *(uint *)&this->field_0x90 = *(uint *)&this->field_0x90 & 0xff000000;\n  *(undefined4 *)((int)&this->flags_ + 4) = flags._4_4_;\n  this->order_ = ORDER_INVALID;\n  this->out_shndx_ = 0xffffffff;\n  this->symtab_index_ = 0;\n  this->dynsym_index_ = 0;\n  (this->input_sections_).\n  super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n  ._M_impl._M_start = (pointer)0x0;\n  (this->input_sections_).\n  super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  (this->input_sections_).\n  super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  *(undefined4 *)&this->first_input_offset_ = 0;\n  *(undefined4 *)((int)&this->first_input_offset_ + 4) = 0;\n  (this->fills_).\n  super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>.\n  _M_impl._M_start = (pointer)0x0;\n  (this->fills_).\n  super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>.\n  _M_impl._M_finish = (pointer)0x0;\n  (this->fills_).\n  super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;\n  this->postprocessing_buffer_ = (uchar *)0x0;\n  *(undefined4 *)&this->tls_offset_ = 0;\n  *(undefined4 *)((int)&this->tls_offset_ + 4) = 0;\n  *(undefined4 *)&this->extra_segment_flags_ = 0;\n  *(undefined4 *)((int)&this->extra_segment_flags_ + 4) = 0;\n  *(undefined4 *)&this->segment_alignment_ = 0;\n  *(undefined4 *)((int)&this->segment_alignment_ + 4) = 0;\n  this->checkpoint_ = (Checkpoint_output_section *)0x0;\n                    /* try { // try from 000ee330 to 000ee334 has its CatchHandler @ 000ee482 */\n  pOVar4 = (Output_section_lookup_maps *)operator_new(0x3c);\n  pOVar4->is_valid_ = true;\n  uVar5 = 0;\n  do {\n    *(undefined4 *)((int)&(pOVar4->merge_sections_by_properties_)._M_h._M_buckets + uVar5) = 0;\n    uVar5 = uVar5 + 4;\n  } while (uVar5 < 0x1c);\n  (pOVar4->merge_sections_by_properties_)._M_h._M_bucket_count = 1;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_element_count = 0;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_buckets =\n       &(pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket;\n  uVar5 = 0;\n  do {\n    *(undefined4 *)((int)&(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets + uVar5) = 0;\n    uVar5 = uVar5 + 4;\n  } while (uVar5 < 0x1c);\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_bucket_count = 1;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets =\n       &(pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_element_count = 0;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  this->lookup_maps_ = pOVar4;\n  pFVar2 = &this->free_list_;\n  (this->free_list_).list_.\n  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar2;\n  (this->free_list_).list_.\n  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar2;\n  (this->free_list_).list_.\n  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node._M_size = 0;\n  (this->free_list_).last_remove_._M_node = (_List_node_base *)pFVar2;\n  (this->free_list_).extend_ = false;\n  *(undefined4 *)&(this->free_list_).length_ = 0;\n  *(undefined4 *)((int)&(this->free_list_).length_ + 4) = 0;\n  *(undefined4 *)&(this->free_list_).min_hole_ = 0;\n  *(undefined4 *)((int)&(this->free_list_).min_hole_ + 4) = 0;\n  this->free_space_fill_ = (Output_fill *)0x0;\n  *(undefined4 *)&this->patch_space_ = 0;\n  *(undefined4 *)((int)&this->patch_space_ + 4) = 0;\n  this->reloc_section_ = (Output_section *)0x0;\n  if ((flags & 2) == 0) {\n    bVar3 = (this->super_Output_data).field_0x1c;\n    if ((bVar3 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */\n      do_gold_unreachable((char *)(unaff_EDI + 0x199ce3),0x142,(char *)(unaff_EDI + 0x1a5db7));\n    }\n    *(undefined4 *)&(this->super_Output_data).address_ = 0;\n    *(undefined4 *)((int)&(this->super_Output_data).address_ + 4) = 0;\n    (this->super_Output_data).field_0x1c = bVar3 | 1;\n  }\n  return;\n}\n\n" comment comment (function_definition "void __thiscall\ngold::Output_section::Output_section(Output_section *this,char *name,Elf_Word type,Elf_Xword flags)\n\n{\n  undefined1 *puVar1;\n  Free_list *pFVar2;\n  byte bVar3;\n  Output_section_lookup_maps *pOVar4;\n  uint uVar5;\n  int unaff_EDI;\n  \n  __x86_get_pc_thunk_di();\n  (this->super_Output_data)._vptr_Output_data =\n       (_func_int_varargs **)("N4gold9PluginobjE" + unaff_EDI + 3);\n  *(undefined4 *)&(this->super_Output_data).address_ = 0;\n  this->name_ = name;\n  *(undefined4 *)((int)&(this->super_Output_data).address_ + 4) = 0;\n  this->type_ = type;\n  *(undefined4 *)&(this->super_Output_data).data_size_ = 0;\n  *(undefined4 *)((int)&(this->super_Output_data).data_size_ + 4) = 0;\n  *(undefined4 *)&(this->super_Output_data).offset_ = 0xffffffff;\n  *(undefined4 *)((int)&(this->super_Output_data).offset_ + 4) = 0xffffffff;\n  puVar1 = &(this->super_Output_data).field_0x1c;\n  *puVar1 = *puVar1 & 0xe0;\n  *(undefined4 *)&this->addralign_ = 0;\n  *(undefined4 *)((int)&this->addralign_ + 4) = 0;\n  *(undefined4 *)&this->entsize_ = 0;\n  *(undefined4 *)((int)&this->entsize_ + 4) = 0;\n  *(undefined4 *)&this->load_address_ = 0;\n  *(undefined4 *)((int)&this->load_address_ + 4) = 0;\n  this->link_section_ = (Output_data *)0x0;\n  this->link_ = 0;\n  this->info_section_ = (Output_section *)0x0;\n  this->info_symndx_ = (Symbol *)0x0;\n  this->info_ = 0;\n  *(undefined4 *)&this->flags_ = (undefined4)flags;\n  *(uint *)&this->field_0x90 = *(uint *)&this->field_0x90 & 0xff000000;\n  *(undefined4 *)((int)&this->flags_ + 4) = flags._4_4_;\n  this->order_ = ORDER_INVALID;\n  this->out_shndx_ = 0xffffffff;\n  this->symtab_index_ = 0;\n  this->dynsym_index_ = 0;\n  (this->input_sections_).\n  super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n  ._M_impl._M_start = (pointer)0x0;\n  (this->input_sections_).\n  super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  (this->input_sections_).\n  super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  *(undefined4 *)&this->first_input_offset_ = 0;\n  *(undefined4 *)((int)&this->first_input_offset_ + 4) = 0;\n  (this->fills_).\n  super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>.\n  _M_impl._M_start = (pointer)0x0;\n  (this->fills_).\n  super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>.\n  _M_impl._M_finish = (pointer)0x0;\n  (this->fills_).\n  super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;\n  this->postprocessing_buffer_ = (uchar *)0x0;\n  *(undefined4 *)&this->tls_offset_ = 0;\n  *(undefined4 *)((int)&this->tls_offset_ + 4) = 0;\n  *(undefined4 *)&this->extra_segment_flags_ = 0;\n  *(undefined4 *)((int)&this->extra_segment_flags_ + 4) = 0;\n  *(undefined4 *)&this->segment_alignment_ = 0;\n  *(undefined4 *)((int)&this->segment_alignment_ + 4) = 0;\n  this->checkpoint_ = (Checkpoint_output_section *)0x0;\n                    /* try { // try from 000ee330 to 000ee334 has its CatchHandler @ 000ee482 */\n  pOVar4 = (Output_section_lookup_maps *)operator_new(0x3c);\n  pOVar4->is_valid_ = true;\n  uVar5 = 0;\n  do {\n    *(undefined4 *)((int)&(pOVar4->merge_sections_by_properties_)._M_h._M_buckets + uVar5) = 0;\n    uVar5 = uVar5 + 4;\n  } while (uVar5 < 0x1c);\n  (pOVar4->merge_sections_by_properties_)._M_h._M_bucket_count = 1;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_element_count = 0;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_buckets =\n       &(pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket;\n  uVar5 = 0;\n  do {\n    *(undefined4 *)((int)&(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets + uVar5) = 0;\n    uVar5 = uVar5 + 4;\n  } while (uVar5 < 0x1c);\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_bucket_count = 1;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets =\n       &(pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_element_count = 0;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  this->lookup_maps_ = pOVar4;\n  pFVar2 = &this->free_list_;\n  (this->free_list_).list_.\n  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar2;\n  (this->free_list_).list_.\n  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar2;\n  (this->free_list_).list_.\n  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node._M_size = 0;\n  (this->free_list_).last_remove_._M_node = (_List_node_base *)pFVar2;\n  (this->free_list_).extend_ = false;\n  *(undefined4 *)&(this->free_list_).length_ = 0;\n  *(undefined4 *)((int)&(this->free_list_).length_ + 4) = 0;\n  *(undefined4 *)&(this->free_list_).min_hole_ = 0;\n  *(undefined4 *)((int)&(this->free_list_).min_hole_ + 4) = 0;\n  this->free_space_fill_ = (Output_fill *)0x0;\n  *(undefined4 *)&this->patch_space_ = 0;\n  *(undefined4 *)((int)&this->patch_space_ + 4) = 0;\n  this->reloc_section_ = (Output_section *)0x0;\n  if ((flags & 2) == 0) {\n    bVar3 = (this->super_Output_data).field_0x1c;\n    if ((bVar3 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */\n      do_gold_unreachable((char *)(unaff_EDI + 0x199ce3),0x142,(char *)(unaff_EDI + 0x1a5db7));\n    }\n    *(undefined4 *)&(this->super_Output_data).address_ = 0;\n    *(undefined4 *)((int)&(this->super_Output_data).address_ + 4) = 0;\n    (this->super_Output_data).field_0x1c = bVar3 | 1;\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Output_section::" identifier : : identifier : :) (function_declarator "Output_section(Output_section *this,char *name,Elf_Word type,Elf_Xword flags)" identifier (parameter_list "(Output_section *this,char *name,Elf_Word type,Elf_Xword flags)" ( (parameter_declaration "Output_section *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) , (parameter_declaration "Elf_Word type" type_identifier identifier) , (parameter_declaration "Elf_Xword flags" type_identifier identifier) ))) (compound_statement "{\n  undefined1 *puVar1;\n  Free_list *pFVar2;\n  byte bVar3;\n  Output_section_lookup_maps *pOVar4;\n  uint uVar5;\n  int unaff_EDI;\n  \n  __x86_get_pc_thunk_di();\n  (this->super_Output_data)._vptr_Output_data =\n       (_func_int_varargs **)("N4gold9PluginobjE" + unaff_EDI + 3);\n  *(undefined4 *)&(this->super_Output_data).address_ = 0;\n  this->name_ = name;\n  *(undefined4 *)((int)&(this->super_Output_data).address_ + 4) = 0;\n  this->type_ = type;\n  *(undefined4 *)&(this->super_Output_data).data_size_ = 0;\n  *(undefined4 *)((int)&(this->super_Output_data).data_size_ + 4) = 0;\n  *(undefined4 *)&(this->super_Output_data).offset_ = 0xffffffff;\n  *(undefined4 *)((int)&(this->super_Output_data).offset_ + 4) = 0xffffffff;\n  puVar1 = &(this->super_Output_data).field_0x1c;\n  *puVar1 = *puVar1 & 0xe0;\n  *(undefined4 *)&this->addralign_ = 0;\n  *(undefined4 *)((int)&this->addralign_ + 4) = 0;\n  *(undefined4 *)&this->entsize_ = 0;\n  *(undefined4 *)((int)&this->entsize_ + 4) = 0;\n  *(undefined4 *)&this->load_address_ = 0;\n  *(undefined4 *)((int)&this->load_address_ + 4) = 0;\n  this->link_section_ = (Output_data *)0x0;\n  this->link_ = 0;\n  this->info_section_ = (Output_section *)0x0;\n  this->info_symndx_ = (Symbol *)0x0;\n  this->info_ = 0;\n  *(undefined4 *)&this->flags_ = (undefined4)flags;\n  *(uint *)&this->field_0x90 = *(uint *)&this->field_0x90 & 0xff000000;\n  *(undefined4 *)((int)&this->flags_ + 4) = flags._4_4_;\n  this->order_ = ORDER_INVALID;\n  this->out_shndx_ = 0xffffffff;\n  this->symtab_index_ = 0;\n  this->dynsym_index_ = 0;\n  (this->input_sections_).\n  super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n  ._M_impl._M_start = (pointer)0x0;\n  (this->input_sections_).\n  super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  (this->input_sections_).\n  super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  *(undefined4 *)&this->first_input_offset_ = 0;\n  *(undefined4 *)((int)&this->first_input_offset_ + 4) = 0;\n  (this->fills_).\n  super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>.\n  _M_impl._M_start = (pointer)0x0;\n  (this->fills_).\n  super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>.\n  _M_impl._M_finish = (pointer)0x0;\n  (this->fills_).\n  super__Vector_base<gold::Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;\n  this->postprocessing_buffer_ = (uchar *)0x0;\n  *(undefined4 *)&this->tls_offset_ = 0;\n  *(undefined4 *)((int)&this->tls_offset_ + 4) = 0;\n  *(undefined4 *)&this->extra_segment_flags_ = 0;\n  *(undefined4 *)((int)&this->extra_segment_flags_ + 4) = 0;\n  *(undefined4 *)&this->segment_alignment_ = 0;\n  *(undefined4 *)((int)&this->segment_alignment_ + 4) = 0;\n  this->checkpoint_ = (Checkpoint_output_section *)0x0;\n                    /* try { // try from 000ee330 to 000ee334 has its CatchHandler @ 000ee482 */\n  pOVar4 = (Output_section_lookup_maps *)operator_new(0x3c);\n  pOVar4->is_valid_ = true;\n  uVar5 = 0;\n  do {\n    *(undefined4 *)((int)&(pOVar4->merge_sections_by_properties_)._M_h._M_buckets + uVar5) = 0;\n    uVar5 = uVar5 + 4;\n  } while (uVar5 < 0x1c);\n  (pOVar4->merge_sections_by_properties_)._M_h._M_bucket_count = 1;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_element_count = 0;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  (pOVar4->merge_sections_by_properties_)._M_h._M_buckets =\n       &(pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket;\n  uVar5 = 0;\n  do {\n    *(undefined4 *)((int)&(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets + uVar5) = 0;\n    uVar5 = uVar5 + 4;\n  } while (uVar5 < 0x1c);\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_bucket_count = 1;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets =\n       &(pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_element_count = 0;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  this->lookup_maps_ = pOVar4;\n  pFVar2 = &this->free_list_;\n  (this->free_list_).list_.\n  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar2;\n  (this->free_list_).list_.\n  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar2;\n  (this->free_list_).list_.\n  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node._M_size = 0;\n  (this->free_list_).last_remove_._M_node = (_List_node_base *)pFVar2;\n  (this->free_list_).extend_ = false;\n  *(undefined4 *)&(this->free_list_).length_ = 0;\n  *(undefined4 *)((int)&(this->free_list_).length_ + 4) = 0;\n  *(undefined4 *)&(this->free_list_).min_hole_ = 0;\n  *(undefined4 *)((int)&(this->free_list_).min_hole_ + 4) = 0;\n  this->free_space_fill_ = (Output_fill *)0x0;\n  *(undefined4 *)&this->patch_space_ = 0;\n  *(undefined4 *)((int)&this->patch_space_ + 4) = 0;\n  this->reloc_section_ = (Output_section *)0x0;\n  if ((flags & 2) == 0) {\n    bVar3 = (this->super_Output_data).field_0x1c;\n    if ((bVar3 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */\n      do_gold_unreachable((char *)(unaff_EDI + 0x199ce3),0x142,(char *)(unaff_EDI + 0x1a5db7));\n    }\n    *(undefined4 *)&(this->super_Output_data).address_ = 0;\n    *(undefined4 *)((int)&(this->super_Output_data).address_ + 4) = 0;\n    (this->super_Output_data).field_0x1c = bVar3 | 1;\n  }\n  return;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "Free_list *pFVar2;" type_identifier (pointer_declarator "*pFVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "Output_section_lookup_maps *pOVar4;" type_identifier (pointer_declarator "*pOVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "__x86_get_pc_thunk_di();" (call_expression "__x86_get_pc_thunk_di()" identifier (argument_list "()" ( ))) ;) (expression_statement "(this->super_Output_data)._vptr_Output_data =\n       (_func_int_varargs **)("N4gold9PluginobjE" + unaff_EDI + 3);" (assignment_expression "(this->super_Output_data)._vptr_Output_data =\n       (_func_int_varargs **)("N4gold9PluginobjE" + unaff_EDI + 3)" (field_expression "(this->super_Output_data)._vptr_Output_data" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(_func_int_varargs **)("N4gold9PluginobjE" + unaff_EDI + 3)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "("N4gold9PluginobjE" + unaff_EDI + 3)" ( (binary_expression ""N4gold9PluginobjE" + unaff_EDI + 3" (binary_expression ""N4gold9PluginobjE" + unaff_EDI" (string_literal ""N4gold9PluginobjE"" " string_content ") + identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)&(this->super_Output_data).address_ = 0;" (assignment_expression "*(undefined4 *)&(this->super_Output_data).address_ = 0" (pointer_expression "*(undefined4 *)&(this->super_Output_data).address_" * (cast_expression "(undefined4 *)&(this->super_Output_data).address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_data).address_" & (field_expression "(this->super_Output_data).address_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "this->name_ = name;" (assignment_expression "this->name_ = name" (field_expression "this->name_" identifier -> field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)((int)&(this->super_Output_data).address_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(this->super_Output_data).address_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(this->super_Output_data).address_ + 4)" * (cast_expression "(undefined4 *)((int)&(this->super_Output_data).address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->super_Output_data).address_ + 4)" ( (binary_expression "(int)&(this->super_Output_data).address_ + 4" (cast_expression "(int)&(this->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_data).address_" & (field_expression "(this->super_Output_data).address_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "this->type_ = type;" (assignment_expression "this->type_ = type" (field_expression "this->type_" identifier -> field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)&(this->super_Output_data).data_size_ = 0;" (assignment_expression "*(undefined4 *)&(this->super_Output_data).data_size_ = 0" (pointer_expression "*(undefined4 *)&(this->super_Output_data).data_size_" * (cast_expression "(undefined4 *)&(this->super_Output_data).data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_data).data_size_" & (field_expression "(this->super_Output_data).data_size_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(this->super_Output_data).data_size_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(this->super_Output_data).data_size_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(this->super_Output_data).data_size_ + 4)" * (cast_expression "(undefined4 *)((int)&(this->super_Output_data).data_size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->super_Output_data).data_size_ + 4)" ( (binary_expression "(int)&(this->super_Output_data).data_size_ + 4" (cast_expression "(int)&(this->super_Output_data).data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_data).data_size_" & (field_expression "(this->super_Output_data).data_size_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(this->super_Output_data).offset_ = 0xffffffff;" (assignment_expression "*(undefined4 *)&(this->super_Output_data).offset_ = 0xffffffff" (pointer_expression "*(undefined4 *)&(this->super_Output_data).offset_" * (cast_expression "(undefined4 *)&(this->super_Output_data).offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_data).offset_" & (field_expression "(this->super_Output_data).offset_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(this->super_Output_data).offset_ + 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)&(this->super_Output_data).offset_ + 4) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)&(this->super_Output_data).offset_ + 4)" * (cast_expression "(undefined4 *)((int)&(this->super_Output_data).offset_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->super_Output_data).offset_ + 4)" ( (binary_expression "(int)&(this->super_Output_data).offset_ + 4" (cast_expression "(int)&(this->super_Output_data).offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_data).offset_" & (field_expression "(this->super_Output_data).offset_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "puVar1 = &(this->super_Output_data).field_0x1c;" (assignment_expression "puVar1 = &(this->super_Output_data).field_0x1c" identifier = (pointer_expression "&(this->super_Output_data).field_0x1c" & (field_expression "(this->super_Output_data).field_0x1c" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "*puVar1 = *puVar1 & 0xe0;" (assignment_expression "*puVar1 = *puVar1 & 0xe0" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & 0xe0" (pointer_expression "*puVar1" * identifier) & number_literal)) ;) (expression_statement "*(undefined4 *)&this->addralign_ = 0;" (assignment_expression "*(undefined4 *)&this->addralign_ = 0" (pointer_expression "*(undefined4 *)&this->addralign_" * (cast_expression "(undefined4 *)&this->addralign_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->addralign_" & (field_expression "this->addralign_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&this->addralign_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&this->addralign_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&this->addralign_ + 4)" * (cast_expression "(undefined4 *)((int)&this->addralign_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->addralign_ + 4)" ( (binary_expression "(int)&this->addralign_ + 4" (cast_expression "(int)&this->addralign_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->addralign_" & (field_expression "this->addralign_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&this->entsize_ = 0;" (assignment_expression "*(undefined4 *)&this->entsize_ = 0" (pointer_expression "*(undefined4 *)&this->entsize_" * (cast_expression "(undefined4 *)&this->entsize_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->entsize_" & (field_expression "this->entsize_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&this->entsize_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&this->entsize_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&this->entsize_ + 4)" * (cast_expression "(undefined4 *)((int)&this->entsize_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->entsize_ + 4)" ( (binary_expression "(int)&this->entsize_ + 4" (cast_expression "(int)&this->entsize_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->entsize_" & (field_expression "this->entsize_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&this->load_address_ = 0;" (assignment_expression "*(undefined4 *)&this->load_address_ = 0" (pointer_expression "*(undefined4 *)&this->load_address_" * (cast_expression "(undefined4 *)&this->load_address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->load_address_" & (field_expression "this->load_address_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&this->load_address_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&this->load_address_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&this->load_address_ + 4)" * (cast_expression "(undefined4 *)((int)&this->load_address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->load_address_ + 4)" ( (binary_expression "(int)&this->load_address_ + 4" (cast_expression "(int)&this->load_address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->load_address_" & (field_expression "this->load_address_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "this->link_section_ = (Output_data *)0x0;" (assignment_expression "this->link_section_ = (Output_data *)0x0" (field_expression "this->link_section_" identifier -> field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "this->link_ = 0;" (assignment_expression "this->link_ = 0" (field_expression "this->link_" identifier -> field_identifier) = number_literal) ;) (expression_statement "this->info_section_ = (Output_section *)0x0;" (assignment_expression "this->info_section_ = (Output_section *)0x0" (field_expression "this->info_section_" identifier -> field_identifier) = (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "this->info_symndx_ = (Symbol *)0x0;" (assignment_expression "this->info_symndx_ = (Symbol *)0x0" (field_expression "this->info_symndx_" identifier -> field_identifier) = (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "this->info_ = 0;" (assignment_expression "this->info_ = 0" (field_expression "this->info_" identifier -> field_identifier) = number_literal) ;) (expression_statement "*(undefined4 *)&this->flags_ = (undefined4)flags;" (assignment_expression "*(undefined4 *)&this->flags_ = (undefined4)flags" (pointer_expression "*(undefined4 *)&this->flags_" * (cast_expression "(undefined4 *)&this->flags_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->flags_" & (field_expression "this->flags_" identifier -> field_identifier)))) = (cast_expression "(undefined4)flags" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "*(uint *)&this->field_0x90 = *(uint *)&this->field_0x90 & 0xff000000;" (assignment_expression "*(uint *)&this->field_0x90 = *(uint *)&this->field_0x90 & 0xff000000" (pointer_expression "*(uint *)&this->field_0x90" * (cast_expression "(uint *)&this->field_0x90" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x90" & (field_expression "this->field_0x90" identifier -> field_identifier)))) = (binary_expression "*(uint *)&this->field_0x90 & 0xff000000" (pointer_expression "*(uint *)&this->field_0x90" * (cast_expression "(uint *)&this->field_0x90" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x90" & (field_expression "this->field_0x90" identifier -> field_identifier)))) & number_literal)) ;) (expression_statement "*(undefined4 *)((int)&this->flags_ + 4) = flags._4_4_;" (assignment_expression "*(undefined4 *)((int)&this->flags_ + 4) = flags._4_4_" (pointer_expression "*(undefined4 *)((int)&this->flags_ + 4)" * (cast_expression "(undefined4 *)((int)&this->flags_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->flags_ + 4)" ( (binary_expression "(int)&this->flags_ + 4" (cast_expression "(int)&this->flags_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->flags_" & (field_expression "this->flags_" identifier -> field_identifier))) + number_literal) )))) = (field_expression "flags._4_4_" identifier . field_identifier)) ;) (expression_statement "this->order_ = ORDER_INVALID;" (assignment_expression "this->order_ = ORDER_INVALID" (field_expression "this->order_" identifier -> field_identifier) = identifier) ;) (expression_statement "this->out_shndx_ = 0xffffffff;" (assignment_expression "this->out_shndx_ = 0xffffffff" (field_expression "this->out_shndx_" identifier -> field_identifier) = number_literal) ;) (expression_statement "this->symtab_index_ = 0;" (assignment_expression "this->symtab_index_ = 0" (field_expression "this->symtab_index_" identifier -> field_identifier) = number_literal) ;) (expression_statement "this->dynsym_index_ = 0;" (assignment_expression "this->dynsym_index_ = 0" (field_expression "this->dynsym_index_" identifier -> field_identifier) = number_literal) ;) (ERROR "(this->input_sections_).\n  super__Vector_base<gold::" (binary_expression "(this->input_sections_).\n  super__Vector_base<gold" (field_expression "(this->input_sections_).\n  super__Vector_base" (parenthesized_expression "(this->input_sections_)" ( (field_expression "this->input_sections_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n  ._M_impl._M_start = (pointer)0x0;" statement_identifier (ERROR "::Input_section,_std::allocator<gold:" : : (comma_expression "Input_section,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_section::Input_section>_>\n  ._M_impl._M_start = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Input_section>_>\n  ._M_impl._M_start = (pointer)0x0;" (assignment_expression "Input_section>_>\n  ._M_impl._M_start = (pointer)0x0" (field_expression "Input_section>_>\n  ._M_impl._M_start" (field_expression "Input_section>_>\n  ._M_impl" (binary_expression "Input_section>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "(this->input_sections_).\n  super__Vector_base<gold::" (binary_expression "(this->input_sections_).\n  super__Vector_base<gold" (field_expression "(this->input_sections_).\n  super__Vector_base" (parenthesized_expression "(this->input_sections_)" ( (field_expression "this->input_sections_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n  ._M_impl._M_finish = (pointer)0x0;" statement_identifier (ERROR "::Input_section,_std::allocator<gold:" : : (comma_expression "Input_section,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_section::Input_section>_>\n  ._M_impl._M_finish = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Input_section>_>\n  ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "Input_section>_>\n  ._M_impl._M_finish = (pointer)0x0" (field_expression "Input_section>_>\n  ._M_impl._M_finish" (field_expression "Input_section>_>\n  ._M_impl" (binary_expression "Input_section>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "(this->input_sections_).\n  super__Vector_base<gold::" (binary_expression "(this->input_sections_).\n  super__Vector_base<gold" (field_expression "(this->input_sections_).\n  super__Vector_base" (parenthesized_expression "(this->input_sections_)" ( (field_expression "this->input_sections_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier (ERROR "::Input_section,_std::allocator<gold:" : : (comma_expression "Input_section,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_section::Input_section>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Input_section>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "Input_section>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "Input_section>_>\n  ._M_impl._M_end_of_storage" (field_expression "Input_section>_>\n  ._M_impl" (binary_expression "Input_section>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (expression_statement "*(undefined4 *)&this->first_input_offset_ = 0;" (assignment_expression "*(undefined4 *)&this->first_input_offset_ = 0" (pointer_expression "*(undefined4 *)&this->first_input_offset_" * (cast_expression "(undefined4 *)&this->first_input_offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->first_input_offset_" & (field_expression "this->first_input_offset_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&this->first_input_offset_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&this->first_input_offset_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&this->first_input_offset_ + 4)" * (cast_expression "(undefined4 *)((int)&this->first_input_offset_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->first_input_offset_ + 4)" ( (binary_expression "(int)&this->first_input_offset_ + 4" (cast_expression "(int)&this->first_input_offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->first_input_offset_" & (field_expression "this->first_input_offset_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (ERROR "(this->fills_).\n  super__Vector_base<gold::" (binary_expression "(this->fills_).\n  super__Vector_base<gold" (field_expression "(this->fills_).\n  super__Vector_base" (parenthesized_expression "(this->fills_)" ( (field_expression "this->fills_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>.\n  _M_impl._M_start = (pointer)0x0;" statement_identifier (ERROR "::Fill,_std::allocator<gold:" : : (comma_expression "Fill,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_section::Fill>_>.\n  _M_impl._M_start = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Fill>_>.\n  _M_impl._M_start = (pointer)0x0;" (assignment_expression "Fill>_>.\n  _M_impl._M_start = (pointer)0x0" (field_expression "Fill>_>.\n  _M_impl._M_start" (field_expression "Fill>_>.\n  _M_impl" (binary_expression "Fill>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "(this->fills_).\n  super__Vector_base<gold::" (binary_expression "(this->fills_).\n  super__Vector_base<gold" (field_expression "(this->fills_).\n  super__Vector_base" (parenthesized_expression "(this->fills_)" ( (field_expression "this->fills_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>.\n  _M_impl._M_finish = (pointer)0x0;" statement_identifier (ERROR "::Fill,_std::allocator<gold:" : : (comma_expression "Fill,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_section::Fill>_>.\n  _M_impl._M_finish = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Fill>_>.\n  _M_impl._M_finish = (pointer)0x0;" (assignment_expression "Fill>_>.\n  _M_impl._M_finish = (pointer)0x0" (field_expression "Fill>_>.\n  _M_impl._M_finish" (field_expression "Fill>_>.\n  _M_impl" (binary_expression "Fill>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "(this->fills_).\n  super__Vector_base<gold::" (binary_expression "(this->fills_).\n  super__Vector_base<gold" (field_expression "(this->fills_).\n  super__Vector_base" (parenthesized_expression "(this->fills_)" ( (field_expression "this->fills_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_section::Fill,_std::allocator<gold::Output_section::Fill>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier (ERROR "::Fill,_std::allocator<gold:" : : (comma_expression "Fill,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_section::Fill>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Fill>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "Fill>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0" (field_expression "Fill>_>.\n  _M_impl._M_end_of_storage" (field_expression "Fill>_>.\n  _M_impl" (binary_expression "Fill>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (expression_statement "this->postprocessing_buffer_ = (uchar *)0x0;" (assignment_expression "this->postprocessing_buffer_ = (uchar *)0x0" (field_expression "this->postprocessing_buffer_" identifier -> field_identifier) = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)&this->tls_offset_ = 0;" (assignment_expression "*(undefined4 *)&this->tls_offset_ = 0" (pointer_expression "*(undefined4 *)&this->tls_offset_" * (cast_expression "(undefined4 *)&this->tls_offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->tls_offset_" & (field_expression "this->tls_offset_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&this->tls_offset_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&this->tls_offset_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&this->tls_offset_ + 4)" * (cast_expression "(undefined4 *)((int)&this->tls_offset_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->tls_offset_ + 4)" ( (binary_expression "(int)&this->tls_offset_ + 4" (cast_expression "(int)&this->tls_offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->tls_offset_" & (field_expression "this->tls_offset_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&this->extra_segment_flags_ = 0;" (assignment_expression "*(undefined4 *)&this->extra_segment_flags_ = 0" (pointer_expression "*(undefined4 *)&this->extra_segment_flags_" * (cast_expression "(undefined4 *)&this->extra_segment_flags_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->extra_segment_flags_" & (field_expression "this->extra_segment_flags_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&this->extra_segment_flags_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&this->extra_segment_flags_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&this->extra_segment_flags_ + 4)" * (cast_expression "(undefined4 *)((int)&this->extra_segment_flags_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->extra_segment_flags_ + 4)" ( (binary_expression "(int)&this->extra_segment_flags_ + 4" (cast_expression "(int)&this->extra_segment_flags_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->extra_segment_flags_" & (field_expression "this->extra_segment_flags_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&this->segment_alignment_ = 0;" (assignment_expression "*(undefined4 *)&this->segment_alignment_ = 0" (pointer_expression "*(undefined4 *)&this->segment_alignment_" * (cast_expression "(undefined4 *)&this->segment_alignment_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->segment_alignment_" & (field_expression "this->segment_alignment_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&this->segment_alignment_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&this->segment_alignment_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&this->segment_alignment_ + 4)" * (cast_expression "(undefined4 *)((int)&this->segment_alignment_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->segment_alignment_ + 4)" ( (binary_expression "(int)&this->segment_alignment_ + 4" (cast_expression "(int)&this->segment_alignment_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->segment_alignment_" & (field_expression "this->segment_alignment_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "this->checkpoint_ = (Checkpoint_output_section *)0x0;" (assignment_expression "this->checkpoint_ = (Checkpoint_output_section *)0x0" (field_expression "this->checkpoint_" identifier -> field_identifier) = (cast_expression "(Checkpoint_output_section *)0x0" ( (type_descriptor "Checkpoint_output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "pOVar4 = (Output_section_lookup_maps *)operator_new(0x3c);" (assignment_expression "pOVar4 = (Output_section_lookup_maps *)operator_new(0x3c)" identifier = (cast_expression "(Output_section_lookup_maps *)operator_new(0x3c)" ( (type_descriptor "Output_section_lookup_maps *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x3c)" identifier (argument_list "(0x3c)" ( number_literal ))))) ;) (expression_statement "pOVar4->is_valid_ = true;" (assignment_expression "pOVar4->is_valid_ = true" (field_expression "pOVar4->is_valid_" identifier -> field_identifier) = true) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)&(pOVar4->merge_sections_by_properties_)._M_h._M_buckets + uVar5) = 0;\n    uVar5 = uVar5 + 4;\n  } while (uVar5 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)((int)&(pOVar4->merge_sections_by_properties_)._M_h._M_buckets + uVar5) = 0;\n    uVar5 = uVar5 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)&(pOVar4->merge_sections_by_properties_)._M_h._M_buckets + uVar5) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar4->merge_sections_by_properties_)._M_h._M_buckets + uVar5) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar4->merge_sections_by_properties_)._M_h._M_buckets + uVar5)" * (cast_expression "(undefined4 *)((int)&(pOVar4->merge_sections_by_properties_)._M_h._M_buckets + uVar5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar4->merge_sections_by_properties_)._M_h._M_buckets + uVar5)" ( (binary_expression "(int)&(pOVar4->merge_sections_by_properties_)._M_h._M_buckets + uVar5" (cast_expression "(int)&(pOVar4->merge_sections_by_properties_)._M_h._M_buckets" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar4->merge_sections_by_properties_)._M_h._M_buckets" & (field_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_buckets" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h" (parenthesized_expression "(pOVar4->merge_sections_by_properties_)" ( (field_expression "pOVar4->merge_sections_by_properties_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + identifier) )))) = number_literal) ;) (expression_statement "uVar5 = uVar5 + 4;" (assignment_expression "uVar5 = uVar5 + 4" identifier = (binary_expression "uVar5 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar5 < 0x1c)" ( (binary_expression "uVar5 < 0x1c" identifier < number_literal) )) ;) (expression_statement "(pOVar4->merge_sections_by_properties_)._M_h._M_bucket_count = 1;" (assignment_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_bucket_count = 1" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_bucket_count" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h" (parenthesized_expression "(pOVar4->merge_sections_by_properties_)" ( (field_expression "pOVar4->merge_sections_by_properties_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pOVar4->merge_sections_by_properties_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_before_begin._M_nxt" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_before_begin" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h" (parenthesized_expression "(pOVar4->merge_sections_by_properties_)" ( (field_expression "pOVar4->merge_sections_by_properties_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pOVar4->merge_sections_by_properties_)._M_h._M_element_count = 0;" (assignment_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_element_count = 0" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_element_count" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h" (parenthesized_expression "(pOVar4->merge_sections_by_properties_)" ( (field_expression "pOVar4->merge_sections_by_properties_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;" (assignment_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy._M_max_load_factor = 1.0" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy._M_max_load_factor" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h" (parenthesized_expression "(pOVar4->merge_sections_by_properties_)" ( (field_expression "pOVar4->merge_sections_by_properties_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy._M_next_resize = 0;" (assignment_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy._M_next_resize = 0" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy._M_next_resize" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h" (parenthesized_expression "(pOVar4->merge_sections_by_properties_)" ( (field_expression "pOVar4->merge_sections_by_properties_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket = (__bucket_type)0x0;" (assignment_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket = (__bucket_type)0x0" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h" (parenthesized_expression "(pOVar4->merge_sections_by_properties_)" ( (field_expression "pOVar4->merge_sections_by_properties_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) (expression_statement "(pOVar4->merge_sections_by_properties_)._M_h._M_buckets =\n       &(pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket;" (assignment_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_buckets =\n       &(pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_buckets" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h" (parenthesized_expression "(pOVar4->merge_sections_by_properties_)" ( (field_expression "pOVar4->merge_sections_by_properties_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (pointer_expression "&(pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket" & (field_expression "(pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket" (field_expression "(pOVar4->merge_sections_by_properties_)._M_h" (parenthesized_expression "(pOVar4->merge_sections_by_properties_)" ( (field_expression "pOVar4->merge_sections_by_properties_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)&(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets + uVar5) = 0;\n    uVar5 = uVar5 + 4;\n  } while (uVar5 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)((int)&(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets + uVar5) = 0;\n    uVar5 = uVar5 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)&(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets + uVar5) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets + uVar5) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets + uVar5)" * (cast_expression "(undefined4 *)((int)&(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets + uVar5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets + uVar5)" ( (binary_expression "(int)&(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets + uVar5" (cast_expression "(int)&(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets" & (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h" (parenthesized_expression "(pOVar4->relaxed_input_sections_by_id_)" ( (field_expression "pOVar4->relaxed_input_sections_by_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + identifier) )))) = number_literal) ;) (expression_statement "uVar5 = uVar5 + 4;" (assignment_expression "uVar5 = uVar5 + 4" identifier = (binary_expression "uVar5 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar5 < 0x1c)" ( (binary_expression "uVar5 < 0x1c" identifier < number_literal) )) ;) (expression_statement "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_bucket_count = 1;" (assignment_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_bucket_count = 1" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_bucket_count" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h" (parenthesized_expression "(pOVar4->relaxed_input_sections_by_id_)" ( (field_expression "pOVar4->relaxed_input_sections_by_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets =\n       &(pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket;" (assignment_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets =\n       &(pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h" (parenthesized_expression "(pOVar4->relaxed_input_sections_by_id_)" ( (field_expression "pOVar4->relaxed_input_sections_by_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (pointer_expression "&(pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket" & (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h" (parenthesized_expression "(pOVar4->relaxed_input_sections_by_id_)" ( (field_expression "pOVar4->relaxed_input_sections_by_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_before_begin._M_nxt" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_before_begin" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h" (parenthesized_expression "(pOVar4->relaxed_input_sections_by_id_)" ( (field_expression "pOVar4->relaxed_input_sections_by_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_element_count = 0;" (assignment_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_element_count = 0" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_element_count" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h" (parenthesized_expression "(pOVar4->relaxed_input_sections_by_id_)" ( (field_expression "pOVar4->relaxed_input_sections_by_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;" (assignment_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy._M_max_load_factor = 1.0" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy._M_max_load_factor" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h" (parenthesized_expression "(pOVar4->relaxed_input_sections_by_id_)" ( (field_expression "pOVar4->relaxed_input_sections_by_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy._M_next_resize = 0;" (assignment_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy._M_next_resize = 0" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy._M_next_resize" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h" (parenthesized_expression "(pOVar4->relaxed_input_sections_by_id_)" ( (field_expression "pOVar4->relaxed_input_sections_by_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket = (__bucket_type)0x0;" (assignment_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket = (__bucket_type)0x0" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket" (field_expression "(pOVar4->relaxed_input_sections_by_id_)._M_h" (parenthesized_expression "(pOVar4->relaxed_input_sections_by_id_)" ( (field_expression "pOVar4->relaxed_input_sections_by_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) (expression_statement "this->lookup_maps_ = pOVar4;" (assignment_expression "this->lookup_maps_ = pOVar4" (field_expression "this->lookup_maps_" identifier -> field_identifier) = identifier) ;) (expression_statement "pFVar2 = &this->free_list_;" (assignment_expression "pFVar2 = &this->free_list_" identifier = (pointer_expression "&this->free_list_" & (field_expression "this->free_list_" identifier -> field_identifier))) ;) (ERROR "(this->free_list_).list_.\n  super__List_base<gold::" (binary_expression "(this->free_list_).list_.\n  super__List_base<gold" (field_expression "(this->free_list_).list_.\n  super__List_base" (field_expression "(this->free_list_).list_" (parenthesized_expression "(this->free_list_)" ( (field_expression "this->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar2;" statement_identifier (ERROR "::Free_list_node,_std::allocator<gold:" : : (comma_expression "Free_list_node,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Free_list::Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar2;" statement_identifier : (ERROR ":" :) (expression_statement "Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar2;" (assignment_expression "Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar2" (field_expression "Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_prev" (field_expression "Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base" (field_expression "Free_list_node>_>\n  ._M_impl._M_node" (field_expression "Free_list_node>_>\n  ._M_impl" (binary_expression "Free_list_node>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pFVar2" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;))) (ERROR "(this->free_list_).list_.\n  super__List_base<gold::" (binary_expression "(this->free_list_).list_.\n  super__List_base<gold" (field_expression "(this->free_list_).list_.\n  super__List_base" (field_expression "(this->free_list_).list_" (parenthesized_expression "(this->free_list_)" ( (field_expression "this->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar2;" statement_identifier (ERROR "::Free_list_node,_std::allocator<gold:" : : (comma_expression "Free_list_node,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Free_list::Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar2;" statement_identifier : (ERROR ":" :) (expression_statement "Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar2;" (assignment_expression "Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar2" (field_expression "Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_next" (field_expression "Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base" (field_expression "Free_list_node>_>\n  ._M_impl._M_node" (field_expression "Free_list_node>_>\n  ._M_impl" (binary_expression "Free_list_node>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pFVar2" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;))) (ERROR "(this->free_list_).list_.\n  super__List_base<gold::" (binary_expression "(this->free_list_).list_.\n  super__List_base<gold" (field_expression "(this->free_list_).list_.\n  super__List_base" (field_expression "(this->free_list_).list_" (parenthesized_expression "(this->free_list_)" ( (field_expression "this->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node._M_size = 0;" statement_identifier (ERROR "::Free_list_node,_std::allocator<gold:" : : (comma_expression "Free_list_node,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Free_list::Free_list_node>_>\n  ._M_impl._M_node._M_size = 0;" statement_identifier : (ERROR ":" :) (expression_statement "Free_list_node>_>\n  ._M_impl._M_node._M_size = 0;" (assignment_expression "Free_list_node>_>\n  ._M_impl._M_node._M_size = 0" (field_expression "Free_list_node>_>\n  ._M_impl._M_node._M_size" (field_expression "Free_list_node>_>\n  ._M_impl._M_node" (field_expression "Free_list_node>_>\n  ._M_impl" (binary_expression "Free_list_node>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;))) (expression_statement "(this->free_list_).last_remove_._M_node = (_List_node_base *)pFVar2;" (assignment_expression "(this->free_list_).last_remove_._M_node = (_List_node_base *)pFVar2" (field_expression "(this->free_list_).last_remove_._M_node" (field_expression "(this->free_list_).last_remove_" (parenthesized_expression "(this->free_list_)" ( (field_expression "this->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pFVar2" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(this->free_list_).extend_ = false;" (assignment_expression "(this->free_list_).extend_ = false" (field_expression "(this->free_list_).extend_" (parenthesized_expression "(this->free_list_)" ( (field_expression "this->free_list_" identifier -> field_identifier) )) . field_identifier) = false) ;) (expression_statement "*(undefined4 *)&(this->free_list_).length_ = 0;" (assignment_expression "*(undefined4 *)&(this->free_list_).length_ = 0" (pointer_expression "*(undefined4 *)&(this->free_list_).length_" * (cast_expression "(undefined4 *)&(this->free_list_).length_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->free_list_).length_" & (field_expression "(this->free_list_).length_" (parenthesized_expression "(this->free_list_)" ( (field_expression "this->free_list_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(this->free_list_).length_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(this->free_list_).length_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(this->free_list_).length_ + 4)" * (cast_expression "(undefined4 *)((int)&(this->free_list_).length_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->free_list_).length_ + 4)" ( (binary_expression "(int)&(this->free_list_).length_ + 4" (cast_expression "(int)&(this->free_list_).length_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->free_list_).length_" & (field_expression "(this->free_list_).length_" (parenthesized_expression "(this->free_list_)" ( (field_expression "this->free_list_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(this->free_list_).min_hole_ = 0;" (assignment_expression "*(undefined4 *)&(this->free_list_).min_hole_ = 0" (pointer_expression "*(undefined4 *)&(this->free_list_).min_hole_" * (cast_expression "(undefined4 *)&(this->free_list_).min_hole_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->free_list_).min_hole_" & (field_expression "(this->free_list_).min_hole_" (parenthesized_expression "(this->free_list_)" ( (field_expression "this->free_list_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(this->free_list_).min_hole_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(this->free_list_).min_hole_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(this->free_list_).min_hole_ + 4)" * (cast_expression "(undefined4 *)((int)&(this->free_list_).min_hole_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->free_list_).min_hole_ + 4)" ( (binary_expression "(int)&(this->free_list_).min_hole_ + 4" (cast_expression "(int)&(this->free_list_).min_hole_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->free_list_).min_hole_" & (field_expression "(this->free_list_).min_hole_" (parenthesized_expression "(this->free_list_)" ( (field_expression "this->free_list_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "this->free_space_fill_ = (Output_fill *)0x0;" (assignment_expression "this->free_space_fill_ = (Output_fill *)0x0" (field_expression "this->free_space_fill_" identifier -> field_identifier) = (cast_expression "(Output_fill *)0x0" ( (type_descriptor "Output_fill *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)&this->patch_space_ = 0;" (assignment_expression "*(undefined4 *)&this->patch_space_ = 0" (pointer_expression "*(undefined4 *)&this->patch_space_" * (cast_expression "(undefined4 *)&this->patch_space_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->patch_space_" & (field_expression "this->patch_space_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&this->patch_space_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&this->patch_space_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&this->patch_space_ + 4)" * (cast_expression "(undefined4 *)((int)&this->patch_space_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->patch_space_ + 4)" ( (binary_expression "(int)&this->patch_space_ + 4" (cast_expression "(int)&this->patch_space_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->patch_space_" & (field_expression "this->patch_space_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "this->reloc_section_ = (Output_section *)0x0;" (assignment_expression "this->reloc_section_ = (Output_section *)0x0" (field_expression "this->reloc_section_" identifier -> field_identifier) = (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((flags & 2) == 0) {\n    bVar3 = (this->super_Output_data).field_0x1c;\n    if ((bVar3 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */\n      do_gold_unreachable((char *)(unaff_EDI + 0x199ce3),0x142,(char *)(unaff_EDI + 0x1a5db7));\n    }\n    *(undefined4 *)&(this->super_Output_data).address_ = 0;\n    *(undefined4 *)((int)&(this->super_Output_data).address_ + 4) = 0;\n    (this->super_Output_data).field_0x1c = bVar3 | 1;\n  }" if (parenthesized_expression "((flags & 2) == 0)" ( (binary_expression "(flags & 2) == 0" (parenthesized_expression "(flags & 2)" ( (binary_expression "flags & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    bVar3 = (this->super_Output_data).field_0x1c;\n    if ((bVar3 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */\n      do_gold_unreachable((char *)(unaff_EDI + 0x199ce3),0x142,(char *)(unaff_EDI + 0x1a5db7));\n    }\n    *(undefined4 *)&(this->super_Output_data).address_ = 0;\n    *(undefined4 *)((int)&(this->super_Output_data).address_ + 4) = 0;\n    (this->super_Output_data).field_0x1c = bVar3 | 1;\n  }" { (expression_statement "bVar3 = (this->super_Output_data).field_0x1c;" (assignment_expression "bVar3 = (this->super_Output_data).field_0x1c" identifier = (field_expression "(this->super_Output_data).field_0x1c" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((bVar3 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */\n      do_gold_unreachable((char *)(unaff_EDI + 0x199ce3),0x142,(char *)(unaff_EDI + 0x1a5db7));\n    }" if (parenthesized_expression "((bVar3 & 1) != 0)" ( (binary_expression "(bVar3 & 1) != 0" (parenthesized_expression "(bVar3 & 1)" ( (binary_expression "bVar3 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */\n      do_gold_unreachable((char *)(unaff_EDI + 0x199ce3),0x142,(char *)(unaff_EDI + 0x1a5db7));\n    }" { comment comment (expression_statement "do_gold_unreachable((char *)(unaff_EDI + 0x199ce3),0x142,(char *)(unaff_EDI + 0x1a5db7));" (call_expression "do_gold_unreachable((char *)(unaff_EDI + 0x199ce3),0x142,(char *)(unaff_EDI + 0x1a5db7))" identifier (argument_list "((char *)(unaff_EDI + 0x199ce3),0x142,(char *)(unaff_EDI + 0x1a5db7))" ( (cast_expression "(char *)(unaff_EDI + 0x199ce3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x199ce3)" ( (binary_expression "unaff_EDI + 0x199ce3" identifier + number_literal) ))) , number_literal , (cast_expression "(char *)(unaff_EDI + 0x1a5db7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x1a5db7)" ( (binary_expression "unaff_EDI + 0x1a5db7" identifier + number_literal) ))) ))) ;) })) (expression_statement "*(undefined4 *)&(this->super_Output_data).address_ = 0;" (assignment_expression "*(undefined4 *)&(this->super_Output_data).address_ = 0" (pointer_expression "*(undefined4 *)&(this->super_Output_data).address_" * (cast_expression "(undefined4 *)&(this->super_Output_data).address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_data).address_" & (field_expression "(this->super_Output_data).address_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(this->super_Output_data).address_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(this->super_Output_data).address_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(this->super_Output_data).address_ + 4)" * (cast_expression "(undefined4 *)((int)&(this->super_Output_data).address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->super_Output_data).address_ + 4)" ( (binary_expression "(int)&(this->super_Output_data).address_ + 4" (cast_expression "(int)&(this->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_data).address_" & (field_expression "(this->super_Output_data).address_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "(this->super_Output_data).field_0x1c = bVar3 | 1;" (assignment_expression "(this->super_Output_data).field_0x1c = bVar3 | 1" (field_expression "(this->super_Output_data).field_0x1c" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (binary_expression "bVar3 | 1" identifier | number_literal)) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_000ee1c0(int *param_1,int param_2,int param_3,uint param_4,int param_5)\n\n{\n  int *piVar1;\n  byte bVar2;\n  undefined1 *puVar3;\n  uint uVar4;\n  int unaff_EDI;\n  \n  FUN_000559ee();\n  *param_1 = (int)("N4gold9PluginobjE" + unaff_EDI + 3);\n  param_1[1] = 0;\n  param_1[8] = param_2;\n  param_1[2] = 0;\n  param_1[0x14] = param_3;\n  param_1[3] = 0;\n  param_1[4] = 0;\n  param_1[5] = -1;\n  param_1[6] = -1;\n  *(byte *)(param_1 + 7) = *(byte *)(param_1 + 7) & 0xe0;\n  param_1[9] = 0;\n  param_1[10] = 0;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  param_1[0xd] = 0;\n  param_1[0xe] = 0;\n  param_1[0xf] = 0;\n  param_1[0x10] = 0;\n  param_1[0x11] = 0;\n  param_1[0x12] = 0;\n  param_1[0x13] = 0;\n  param_1[0x15] = param_4;\n  param_1[0x24] = param_1[0x24] & 0xff000000;\n  param_1[0x16] = param_5;\n  param_1[0x17] = 0;\n  param_1[0x18] = -1;\n  param_1[0x19] = 0;\n  param_1[0x1a] = 0;\n  param_1[0x1b] = 0;\n  param_1[0x1c] = 0;\n  param_1[0x1d] = 0;\n  param_1[0x1e] = 0;\n  param_1[0x1f] = 0;\n  param_1[0x20] = 0;\n  param_1[0x21] = 0;\n  param_1[0x22] = 0;\n  param_1[0x23] = 0;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x27] = 0;\n  param_1[0x28] = 0;\n  param_1[0x29] = 0;\n  param_1[0x2a] = 0;\n  param_1[0x2b] = 0;\n                    \n  puVar3 = (undefined1 *)FUN_001e5200(0x3c);\n  *puVar3 = 1;\n  uVar4 = 0;\n  do {\n    *(undefined4 *)(puVar3 + uVar4 + 4) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);\n  *(undefined4 *)(puVar3 + 8) = 1;\n  *(undefined4 *)(puVar3 + 0xc) = 0;\n  *(undefined4 *)(puVar3 + 0x10) = 0;\n  *(undefined4 *)(puVar3 + 0x14) = 0x3f800000;\n  *(undefined4 *)(puVar3 + 0x18) = 0;\n  *(undefined4 *)(puVar3 + 0x1c) = 0;\n  *(undefined1 **)(puVar3 + 4) = puVar3 + 0x1c;\n  uVar4 = 0;\n  do {\n    *(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);\n  *(undefined4 *)(puVar3 + 0x24) = 1;\n  *(undefined1 **)(puVar3 + 0x20) = puVar3 + 0x38;\n  *(undefined4 *)(puVar3 + 0x28) = 0;\n  *(undefined4 *)(puVar3 + 0x2c) = 0;\n  *(undefined4 *)(puVar3 + 0x30) = 0x3f800000;\n  *(undefined4 *)(puVar3 + 0x34) = 0;\n  *(undefined4 *)(puVar3 + 0x38) = 0;\n  param_1[0x2c] = (int)puVar3;\n  piVar1 = param_1 + 0x2d;\n  param_1[0x2e] = (int)piVar1;\n  param_1[0x2d] = (int)piVar1;\n  param_1[0x2f] = 0;\n  param_1[0x30] = (int)piVar1;\n  *(undefined1 *)(param_1 + 0x31) = 0;\n  param_1[0x32] = 0;\n  param_1[0x33] = 0;\n  param_1[0x34] = 0;\n  param_1[0x35] = 0;\n  param_1[0x36] = 0;\n  param_1[0x37] = 0;\n  param_1[0x38] = 0;\n  param_1[0x39] = 0;\n  if ((param_4 & 2) == 0) {\n    bVar2 = *(byte *)(param_1 + 7);\n    if ((bVar2 & 1) != 0) {\n                    \n                    \n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }\n    param_1[1] = 0;\n    param_1[2] = 0;\n    *(byte *)(param_1 + 7) = bVar2 | 1;\n  }\n  return;\n}\n\n" (function_definition "void FUN_000ee1c0(int *param_1,int param_2,int param_3,uint param_4,int param_5)\n\n{\n  int *piVar1;\n  byte bVar2;\n  undefined1 *puVar3;\n  uint uVar4;\n  int unaff_EDI;\n  \n  FUN_000559ee();\n  *param_1 = (int)("N4gold9PluginobjE" + unaff_EDI + 3);\n  param_1[1] = 0;\n  param_1[8] = param_2;\n  param_1[2] = 0;\n  param_1[0x14] = param_3;\n  param_1[3] = 0;\n  param_1[4] = 0;\n  param_1[5] = -1;\n  param_1[6] = -1;\n  *(byte *)(param_1 + 7) = *(byte *)(param_1 + 7) & 0xe0;\n  param_1[9] = 0;\n  param_1[10] = 0;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  param_1[0xd] = 0;\n  param_1[0xe] = 0;\n  param_1[0xf] = 0;\n  param_1[0x10] = 0;\n  param_1[0x11] = 0;\n  param_1[0x12] = 0;\n  param_1[0x13] = 0;\n  param_1[0x15] = param_4;\n  param_1[0x24] = param_1[0x24] & 0xff000000;\n  param_1[0x16] = param_5;\n  param_1[0x17] = 0;\n  param_1[0x18] = -1;\n  param_1[0x19] = 0;\n  param_1[0x1a] = 0;\n  param_1[0x1b] = 0;\n  param_1[0x1c] = 0;\n  param_1[0x1d] = 0;\n  param_1[0x1e] = 0;\n  param_1[0x1f] = 0;\n  param_1[0x20] = 0;\n  param_1[0x21] = 0;\n  param_1[0x22] = 0;\n  param_1[0x23] = 0;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x27] = 0;\n  param_1[0x28] = 0;\n  param_1[0x29] = 0;\n  param_1[0x2a] = 0;\n  param_1[0x2b] = 0;\n                    \n  puVar3 = (undefined1 *)FUN_001e5200(0x3c);\n  *puVar3 = 1;\n  uVar4 = 0;\n  do {\n    *(undefined4 *)(puVar3 + uVar4 + 4) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);\n  *(undefined4 *)(puVar3 + 8) = 1;\n  *(undefined4 *)(puVar3 + 0xc) = 0;\n  *(undefined4 *)(puVar3 + 0x10) = 0;\n  *(undefined4 *)(puVar3 + 0x14) = 0x3f800000;\n  *(undefined4 *)(puVar3 + 0x18) = 0;\n  *(undefined4 *)(puVar3 + 0x1c) = 0;\n  *(undefined1 **)(puVar3 + 4) = puVar3 + 0x1c;\n  uVar4 = 0;\n  do {\n    *(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);\n  *(undefined4 *)(puVar3 + 0x24) = 1;\n  *(undefined1 **)(puVar3 + 0x20) = puVar3 + 0x38;\n  *(undefined4 *)(puVar3 + 0x28) = 0;\n  *(undefined4 *)(puVar3 + 0x2c) = 0;\n  *(undefined4 *)(puVar3 + 0x30) = 0x3f800000;\n  *(undefined4 *)(puVar3 + 0x34) = 0;\n  *(undefined4 *)(puVar3 + 0x38) = 0;\n  param_1[0x2c] = (int)puVar3;\n  piVar1 = param_1 + 0x2d;\n  param_1[0x2e] = (int)piVar1;\n  param_1[0x2d] = (int)piVar1;\n  param_1[0x2f] = 0;\n  param_1[0x30] = (int)piVar1;\n  *(undefined1 *)(param_1 + 0x31) = 0;\n  param_1[0x32] = 0;\n  param_1[0x33] = 0;\n  param_1[0x34] = 0;\n  param_1[0x35] = 0;\n  param_1[0x36] = 0;\n  param_1[0x37] = 0;\n  param_1[0x38] = 0;\n  param_1[0x39] = 0;\n  if ((param_4 & 2) == 0) {\n    bVar2 = *(byte *)(param_1 + 7);\n    if ((bVar2 & 1) != 0) {\n                    \n                    \n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }\n    param_1[1] = 0;\n    param_1[2] = 0;\n    *(byte *)(param_1 + 7) = bVar2 | 1;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_000ee1c0(int *param_1,int param_2,int param_3,uint param_4,int param_5)" identifier (parameter_list "(int *param_1,int param_2,int param_3,uint param_4,int param_5)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "int param_5" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  byte bVar2;\n  undefined1 *puVar3;\n  uint uVar4;\n  int unaff_EDI;\n  \n  FUN_000559ee();\n  *param_1 = (int)("N4gold9PluginobjE" + unaff_EDI + 3);\n  param_1[1] = 0;\n  param_1[8] = param_2;\n  param_1[2] = 0;\n  param_1[0x14] = param_3;\n  param_1[3] = 0;\n  param_1[4] = 0;\n  param_1[5] = -1;\n  param_1[6] = -1;\n  *(byte *)(param_1 + 7) = *(byte *)(param_1 + 7) & 0xe0;\n  param_1[9] = 0;\n  param_1[10] = 0;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  param_1[0xd] = 0;\n  param_1[0xe] = 0;\n  param_1[0xf] = 0;\n  param_1[0x10] = 0;\n  param_1[0x11] = 0;\n  param_1[0x12] = 0;\n  param_1[0x13] = 0;\n  param_1[0x15] = param_4;\n  param_1[0x24] = param_1[0x24] & 0xff000000;\n  param_1[0x16] = param_5;\n  param_1[0x17] = 0;\n  param_1[0x18] = -1;\n  param_1[0x19] = 0;\n  param_1[0x1a] = 0;\n  param_1[0x1b] = 0;\n  param_1[0x1c] = 0;\n  param_1[0x1d] = 0;\n  param_1[0x1e] = 0;\n  param_1[0x1f] = 0;\n  param_1[0x20] = 0;\n  param_1[0x21] = 0;\n  param_1[0x22] = 0;\n  param_1[0x23] = 0;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x27] = 0;\n  param_1[0x28] = 0;\n  param_1[0x29] = 0;\n  param_1[0x2a] = 0;\n  param_1[0x2b] = 0;\n                    \n  puVar3 = (undefined1 *)FUN_001e5200(0x3c);\n  *puVar3 = 1;\n  uVar4 = 0;\n  do {\n    *(undefined4 *)(puVar3 + uVar4 + 4) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);\n  *(undefined4 *)(puVar3 + 8) = 1;\n  *(undefined4 *)(puVar3 + 0xc) = 0;\n  *(undefined4 *)(puVar3 + 0x10) = 0;\n  *(undefined4 *)(puVar3 + 0x14) = 0x3f800000;\n  *(undefined4 *)(puVar3 + 0x18) = 0;\n  *(undefined4 *)(puVar3 + 0x1c) = 0;\n  *(undefined1 **)(puVar3 + 4) = puVar3 + 0x1c;\n  uVar4 = 0;\n  do {\n    *(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);\n  *(undefined4 *)(puVar3 + 0x24) = 1;\n  *(undefined1 **)(puVar3 + 0x20) = puVar3 + 0x38;\n  *(undefined4 *)(puVar3 + 0x28) = 0;\n  *(undefined4 *)(puVar3 + 0x2c) = 0;\n  *(undefined4 *)(puVar3 + 0x30) = 0x3f800000;\n  *(undefined4 *)(puVar3 + 0x34) = 0;\n  *(undefined4 *)(puVar3 + 0x38) = 0;\n  param_1[0x2c] = (int)puVar3;\n  piVar1 = param_1 + 0x2d;\n  param_1[0x2e] = (int)piVar1;\n  param_1[0x2d] = (int)piVar1;\n  param_1[0x2f] = 0;\n  param_1[0x30] = (int)piVar1;\n  *(undefined1 *)(param_1 + 0x31) = 0;\n  param_1[0x32] = 0;\n  param_1[0x33] = 0;\n  param_1[0x34] = 0;\n  param_1[0x35] = 0;\n  param_1[0x36] = 0;\n  param_1[0x37] = 0;\n  param_1[0x38] = 0;\n  param_1[0x39] = 0;\n  if ((param_4 & 2) == 0) {\n    bVar2 = *(byte *)(param_1 + 7);\n    if ((bVar2 & 1) != 0) {\n                    \n                    \n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }\n    param_1[1] = 0;\n    param_1[2] = 0;\n    *(byte *)(param_1 + 7) = bVar2 | 1;\n  }\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "undefined1 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "FUN_000559ee();" (call_expression "FUN_000559ee()" identifier (argument_list "()" ( ))) ;) (expression_statement "*param_1 = (int)("N4gold9PluginobjE" + unaff_EDI + 3);" (assignment_expression "*param_1 = (int)("N4gold9PluginobjE" + unaff_EDI + 3)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)("N4gold9PluginobjE" + unaff_EDI + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "("N4gold9PluginobjE" + unaff_EDI + 3)" ( (binary_expression ""N4gold9PluginobjE" + unaff_EDI + 3" (binary_expression ""N4gold9PluginobjE" + unaff_EDI" (string_literal ""N4gold9PluginobjE"" " string_content ") + identifier) + number_literal) )))) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[8] = param_2;" (assignment_expression "param_1[8] = param_2" (subscript_expression "param_1[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x14] = param_3;" (assignment_expression "param_1[0x14] = param_3" (subscript_expression "param_1[0x14]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[5] = -1;" (assignment_expression "param_1[5] = -1" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[6] = -1;" (assignment_expression "param_1[6] = -1" (subscript_expression "param_1[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(param_1 + 7) = *(byte *)(param_1 + 7) & 0xe0;" (assignment_expression "*(byte *)(param_1 + 7) = *(byte *)(param_1 + 7) & 0xe0" (pointer_expression "*(byte *)(param_1 + 7)" * (cast_expression "(byte *)(param_1 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_1 + 7) & 0xe0" (pointer_expression "*(byte *)(param_1 + 7)" * (cast_expression "(byte *)(param_1 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[10] = 0;" (assignment_expression "param_1[10] = 0" (subscript_expression "param_1[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xc] = 0;" (assignment_expression "param_1[0xc] = 0" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xd] = 0;" (assignment_expression "param_1[0xd] = 0" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xe] = 0;" (assignment_expression "param_1[0xe] = 0" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xf] = 0;" (assignment_expression "param_1[0xf] = 0" (subscript_expression "param_1[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x10] = 0;" (assignment_expression "param_1[0x10] = 0" (subscript_expression "param_1[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x11] = 0;" (assignment_expression "param_1[0x11] = 0" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x12] = 0;" (assignment_expression "param_1[0x12] = 0" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x13] = 0;" (assignment_expression "param_1[0x13] = 0" (subscript_expression "param_1[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x15] = param_4;" (assignment_expression "param_1[0x15] = param_4" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x24] = param_1[0x24] & 0xff000000;" (assignment_expression "param_1[0x24] = param_1[0x24] & 0xff000000" (subscript_expression "param_1[0x24]" identifier [ number_literal ]) = (binary_expression "param_1[0x24] & 0xff000000" (subscript_expression "param_1[0x24]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "param_1[0x16] = param_5;" (assignment_expression "param_1[0x16] = param_5" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x17] = 0;" (assignment_expression "param_1[0x17] = 0" (subscript_expression "param_1[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x18] = -1;" (assignment_expression "param_1[0x18] = -1" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x19] = 0;" (assignment_expression "param_1[0x19] = 0" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1a] = 0;" (assignment_expression "param_1[0x1a] = 0" (subscript_expression "param_1[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1b] = 0;" (assignment_expression "param_1[0x1b] = 0" (subscript_expression "param_1[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1c] = 0;" (assignment_expression "param_1[0x1c] = 0" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1d] = 0;" (assignment_expression "param_1[0x1d] = 0" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1e] = 0;" (assignment_expression "param_1[0x1e] = 0" (subscript_expression "param_1[0x1e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1f] = 0;" (assignment_expression "param_1[0x1f] = 0" (subscript_expression "param_1[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x20] = 0;" (assignment_expression "param_1[0x20] = 0" (subscript_expression "param_1[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x21] = 0;" (assignment_expression "param_1[0x21] = 0" (subscript_expression "param_1[0x21]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x22] = 0;" (assignment_expression "param_1[0x22] = 0" (subscript_expression "param_1[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x23] = 0;" (assignment_expression "param_1[0x23] = 0" (subscript_expression "param_1[0x23]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x25] = 0;" (assignment_expression "param_1[0x25] = 0" (subscript_expression "param_1[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x26] = 0;" (assignment_expression "param_1[0x26] = 0" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x27] = 0;" (assignment_expression "param_1[0x27] = 0" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x28] = 0;" (assignment_expression "param_1[0x28] = 0" (subscript_expression "param_1[0x28]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x29] = 0;" (assignment_expression "param_1[0x29] = 0" (subscript_expression "param_1[0x29]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2a] = 0;" (assignment_expression "param_1[0x2a] = 0" (subscript_expression "param_1[0x2a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2b] = 0;" (assignment_expression "param_1[0x2b] = 0" (subscript_expression "param_1[0x2b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3 = (undefined1 *)FUN_001e5200(0x3c);" (assignment_expression "puVar3 = (undefined1 *)FUN_001e5200(0x3c)" identifier = (cast_expression "(undefined1 *)FUN_001e5200(0x3c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200(0x3c)" identifier (argument_list "(0x3c)" ( number_literal ))))) ;) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)(puVar3 + uVar4 + 4) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)(puVar3 + uVar4 + 4) = 0;\n    uVar4 = uVar4 + 4;\n  }" { (expression_statement "*(undefined4 *)(puVar3 + uVar4 + 4) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + uVar4 + 4) = 0" (pointer_expression "*(undefined4 *)(puVar3 + uVar4 + 4)" * (cast_expression "(undefined4 *)(puVar3 + uVar4 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + uVar4 + 4)" ( (binary_expression "puVar3 + uVar4 + 4" (binary_expression "puVar3 + uVar4" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar4 = uVar4 + 4;" (assignment_expression "uVar4 = uVar4 + 4" identifier = (binary_expression "uVar4 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar4 < 0x1c)" ( (binary_expression "uVar4 < 0x1c" identifier < number_literal) )) ;) (expression_statement "*(undefined4 *)(puVar3 + 8) = 1;" (assignment_expression "*(undefined4 *)(puVar3 + 8) = 1" (pointer_expression "*(undefined4 *)(puVar3 + 8)" * (cast_expression "(undefined4 *)(puVar3 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 8)" ( (binary_expression "puVar3 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0xc) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0xc)" * (cast_expression "(undefined4 *)(puVar3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0xc)" ( (binary_expression "puVar3 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x10) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x10)" * (cast_expression "(undefined4 *)(puVar3 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x10)" ( (binary_expression "puVar3 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x14) = 0x3f800000;" (assignment_expression "*(undefined4 *)(puVar3 + 0x14) = 0x3f800000" (pointer_expression "*(undefined4 *)(puVar3 + 0x14)" * (cast_expression "(undefined4 *)(puVar3 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x14)" ( (binary_expression "puVar3 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x18) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x18)" * (cast_expression "(undefined4 *)(puVar3 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x18)" ( (binary_expression "puVar3 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x1c)" * (cast_expression "(undefined4 *)(puVar3 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x1c)" ( (binary_expression "puVar3 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar3 + 4) = puVar3 + 0x1c;" (assignment_expression "*(undefined1 **)(puVar3 + 4) = puVar3 + 0x1c" (pointer_expression "*(undefined1 **)(puVar3 + 4)" * (cast_expression "(undefined1 **)(puVar3 + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 4)" ( (binary_expression "puVar3 + 4" identifier + number_literal) )))) = (binary_expression "puVar3 + 0x1c" identifier + number_literal)) ;) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;\n    uVar4 = uVar4 + 4;\n  }" { (expression_statement "*(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + uVar4 + 0x20) = 0" (pointer_expression "*(undefined4 *)(puVar3 + uVar4 + 0x20)" * (cast_expression "(undefined4 *)(puVar3 + uVar4 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + uVar4 + 0x20)" ( (binary_expression "puVar3 + uVar4 + 0x20" (binary_expression "puVar3 + uVar4" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar4 = uVar4 + 4;" (assignment_expression "uVar4 = uVar4 + 4" identifier = (binary_expression "uVar4 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar4 < 0x1c)" ( (binary_expression "uVar4 < 0x1c" identifier < number_literal) )) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x24) = 1;" (assignment_expression "*(undefined4 *)(puVar3 + 0x24) = 1" (pointer_expression "*(undefined4 *)(puVar3 + 0x24)" * (cast_expression "(undefined4 *)(puVar3 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x24)" ( (binary_expression "puVar3 + 0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar3 + 0x20) = puVar3 + 0x38;" (assignment_expression "*(undefined1 **)(puVar3 + 0x20) = puVar3 + 0x38" (pointer_expression "*(undefined1 **)(puVar3 + 0x20)" * (cast_expression "(undefined1 **)(puVar3 + 0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 0x20)" ( (binary_expression "puVar3 + 0x20" identifier + number_literal) )))) = (binary_expression "puVar3 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x28) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x28) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x28)" * (cast_expression "(undefined4 *)(puVar3 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x28)" ( (binary_expression "puVar3 + 0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x2c) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x2c) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x2c)" * (cast_expression "(undefined4 *)(puVar3 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x2c)" ( (binary_expression "puVar3 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x30) = 0x3f800000;" (assignment_expression "*(undefined4 *)(puVar3 + 0x30) = 0x3f800000" (pointer_expression "*(undefined4 *)(puVar3 + 0x30)" * (cast_expression "(undefined4 *)(puVar3 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x30)" ( (binary_expression "puVar3 + 0x30" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x34) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x34) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x34)" * (cast_expression "(undefined4 *)(puVar3 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x34)" ( (binary_expression "puVar3 + 0x34" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x38) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x38)" * (cast_expression "(undefined4 *)(puVar3 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x38)" ( (binary_expression "puVar3 + 0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[0x2c] = (int)puVar3;" (assignment_expression "param_1[0x2c] = (int)puVar3" (subscript_expression "param_1[0x2c]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar1 = param_1 + 0x2d;" (assignment_expression "piVar1 = param_1 + 0x2d" identifier = (binary_expression "param_1 + 0x2d" identifier + number_literal)) ;) (expression_statement "param_1[0x2e] = (int)piVar1;" (assignment_expression "param_1[0x2e] = (int)piVar1" (subscript_expression "param_1[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0x2d] = (int)piVar1;" (assignment_expression "param_1[0x2d] = (int)piVar1" (subscript_expression "param_1[0x2d]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0x2f] = 0;" (assignment_expression "param_1[0x2f] = 0" (subscript_expression "param_1[0x2f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x30] = (int)piVar1;" (assignment_expression "param_1[0x30] = (int)piVar1" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(param_1 + 0x31) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x31) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x31)" * (cast_expression "(undefined1 *)(param_1 + 0x31)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x31)" ( (binary_expression "param_1 + 0x31" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x34] = 0;" (assignment_expression "param_1[0x34] = 0" (subscript_expression "param_1[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x35] = 0;" (assignment_expression "param_1[0x35] = 0" (subscript_expression "param_1[0x35]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x36] = 0;" (assignment_expression "param_1[0x36] = 0" (subscript_expression "param_1[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x37] = 0;" (assignment_expression "param_1[0x37] = 0" (subscript_expression "param_1[0x37]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x38] = 0;" (assignment_expression "param_1[0x38] = 0" (subscript_expression "param_1[0x38]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x39] = 0;" (assignment_expression "param_1[0x39] = 0" (subscript_expression "param_1[0x39]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((param_4 & 2) == 0) {\n    bVar2 = *(byte *)(param_1 + 7);\n    if ((bVar2 & 1) != 0) {\n                    \n                    \n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }\n    param_1[1] = 0;\n    param_1[2] = 0;\n    *(byte *)(param_1 + 7) = bVar2 | 1;\n  }" if (parenthesized_expression "((param_4 & 2) == 0)" ( (binary_expression "(param_4 & 2) == 0" (parenthesized_expression "(param_4 & 2)" ( (binary_expression "param_4 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    bVar2 = *(byte *)(param_1 + 7);\n    if ((bVar2 & 1) != 0) {\n                    \n                    \n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }\n    param_1[1] = 0;\n    param_1[2] = 0;\n    *(byte *)(param_1 + 7) = bVar2 | 1;\n  }" { (expression_statement "bVar2 = *(byte *)(param_1 + 7);" (assignment_expression "bVar2 = *(byte *)(param_1 + 7)" identifier = (pointer_expression "*(byte *)(param_1 + 7)" * (cast_expression "(byte *)(param_1 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) ))))) ;) (if_statement "if ((bVar2 & 1) != 0) {\n                    \n                    \n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }" if (parenthesized_expression "((bVar2 & 1) != 0)" ( (binary_expression "(bVar2 & 1) != 0" (parenthesized_expression "(bVar2 & 1)" ( (binary_expression "bVar2 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    \n                    \n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }" { (expression_statement "FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);" (call_expression "FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2)" identifier (argument_list "(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2)" ( (binary_expression "unaff_EDI + 0x199ce3" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x1a5db7" identifier + number_literal) , identifier ))) ;) })) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(param_1 + 7) = bVar2 | 1;" (assignment_expression "*(byte *)(param_1 + 7) = bVar2 | 1" (pointer_expression "*(byte *)(param_1 + 7)" * (cast_expression "(byte *)(param_1 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) = (binary_expression "bVar2 | 1" identifier | number_literal)) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (string_literal " string_content ") + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_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 ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_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 ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (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 ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (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 IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) })) (return_statement return ;) })))
(function_definition "void FUN_000ee1c0(int *param_1,int param_2,int param_3,uint param_4,int param_5)\n\n{\n  int *piVar1;\n  byte bVar2;\n  undefined1 *puVar3;\n  uint uVar4;\n  int unaff_EDI;\n  \n  FUN_000559ee();\n  *param_1 = (int)("N4gold9PluginobjE" + unaff_EDI + 3);\n  param_1[1] = 0;\n  param_1[8] = param_2;\n  param_1[2] = 0;\n  param_1[0x14] = param_3;\n  param_1[3] = 0;\n  param_1[4] = 0;\n  param_1[5] = -1;\n  param_1[6] = -1;\n  *(byte *)(param_1 + 7) = *(byte *)(param_1 + 7) & 0xe0;\n  param_1[9] = 0;\n  param_1[10] = 0;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  param_1[0xd] = 0;\n  param_1[0xe] = 0;\n  param_1[0xf] = 0;\n  param_1[0x10] = 0;\n  param_1[0x11] = 0;\n  param_1[0x12] = 0;\n  param_1[0x13] = 0;\n  param_1[0x15] = param_4;\n  param_1[0x24] = param_1[0x24] & 0xff000000;\n  param_1[0x16] = param_5;\n  param_1[0x17] = 0;\n  param_1[0x18] = -1;\n  param_1[0x19] = 0;\n  param_1[0x1a] = 0;\n  param_1[0x1b] = 0;\n  param_1[0x1c] = 0;\n  param_1[0x1d] = 0;\n  param_1[0x1e] = 0;\n  param_1[0x1f] = 0;\n  param_1[0x20] = 0;\n  param_1[0x21] = 0;\n  param_1[0x22] = 0;\n  param_1[0x23] = 0;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x27] = 0;\n  param_1[0x28] = 0;\n  param_1[0x29] = 0;\n  param_1[0x2a] = 0;\n  param_1[0x2b] = 0;\n                    \n  puVar3 = (undefined1 *)FUN_001e5200(0x3c);\n  *puVar3 = 1;\n  uVar4 = 0;\n  do {\n    *(undefined4 *)(puVar3 + uVar4 + 4) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);\n  *(undefined4 *)(puVar3 + 8) = 1;\n  *(undefined4 *)(puVar3 + 0xc) = 0;\n  *(undefined4 *)(puVar3 + 0x10) = 0;\n  *(undefined4 *)(puVar3 + 0x14) = 0x3f800000;\n  *(undefined4 *)(puVar3 + 0x18) = 0;\n  *(undefined4 *)(puVar3 + 0x1c) = 0;\n  *(undefined1 **)(puVar3 + 4) = puVar3 + 0x1c;\n  uVar4 = 0;\n  do {\n    *(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);\n  *(undefined4 *)(puVar3 + 0x24) = 1;\n  *(undefined1 **)(puVar3 + 0x20) = puVar3 + 0x38;\n  *(undefined4 *)(puVar3 + 0x28) = 0;\n  *(undefined4 *)(puVar3 + 0x2c) = 0;\n  *(undefined4 *)(puVar3 + 0x30) = 0x3f800000;\n  *(undefined4 *)(puVar3 + 0x34) = 0;\n  *(undefined4 *)(puVar3 + 0x38) = 0;\n  param_1[0x2c] = (int)puVar3;\n  piVar1 = param_1 + 0x2d;\n  param_1[0x2e] = (int)piVar1;\n  param_1[0x2d] = (int)piVar1;\n  param_1[0x2f] = 0;\n  param_1[0x30] = (int)piVar1;\n  *(undefined1 *)(param_1 + 0x31) = 0;\n  param_1[0x32] = 0;\n  param_1[0x33] = 0;\n  param_1[0x34] = 0;\n  param_1[0x35] = 0;\n  param_1[0x36] = 0;\n  param_1[0x37] = 0;\n  param_1[0x38] = 0;\n  param_1[0x39] = 0;\n  if ((param_4 & 2) == 0) {\n    bVar2 = *(byte *)(param_1 + 7);\n    if ((bVar2 & 1) != 0) {\n                    \n                    \n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }\n    param_1[1] = 0;\n    param_1[2] = 0;\n    *(byte *)(param_1 + 7) = bVar2 | 1;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000ee1c0(int *param_1,int param_2,int param_3,uint param_4,int param_5)" (identifier "FUN_000ee1c0") (parameter_list "(int *param_1,int param_2,int param_3,uint param_4,int param_5)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) () ")"))) (compound_statement "{\n  int *piVar1;\n  byte bVar2;\n  undefined1 *puVar3;\n  uint uVar4;\n  int unaff_EDI;\n  \n  FUN_000559ee();\n  *param_1 = (int)("N4gold9PluginobjE" + unaff_EDI + 3);\n  param_1[1] = 0;\n  param_1[8] = param_2;\n  param_1[2] = 0;\n  param_1[0x14] = param_3;\n  param_1[3] = 0;\n  param_1[4] = 0;\n  param_1[5] = -1;\n  param_1[6] = -1;\n  *(byte *)(param_1 + 7) = *(byte *)(param_1 + 7) & 0xe0;\n  param_1[9] = 0;\n  param_1[10] = 0;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  param_1[0xd] = 0;\n  param_1[0xe] = 0;\n  param_1[0xf] = 0;\n  param_1[0x10] = 0;\n  param_1[0x11] = 0;\n  param_1[0x12] = 0;\n  param_1[0x13] = 0;\n  param_1[0x15] = param_4;\n  param_1[0x24] = param_1[0x24] & 0xff000000;\n  param_1[0x16] = param_5;\n  param_1[0x17] = 0;\n  param_1[0x18] = -1;\n  param_1[0x19] = 0;\n  param_1[0x1a] = 0;\n  param_1[0x1b] = 0;\n  param_1[0x1c] = 0;\n  param_1[0x1d] = 0;\n  param_1[0x1e] = 0;\n  param_1[0x1f] = 0;\n  param_1[0x20] = 0;\n  param_1[0x21] = 0;\n  param_1[0x22] = 0;\n  param_1[0x23] = 0;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x27] = 0;\n  param_1[0x28] = 0;\n  param_1[0x29] = 0;\n  param_1[0x2a] = 0;\n  param_1[0x2b] = 0;\n                    \n  puVar3 = (undefined1 *)FUN_001e5200(0x3c);\n  *puVar3 = 1;\n  uVar4 = 0;\n  do {\n    *(undefined4 *)(puVar3 + uVar4 + 4) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);\n  *(undefined4 *)(puVar3 + 8) = 1;\n  *(undefined4 *)(puVar3 + 0xc) = 0;\n  *(undefined4 *)(puVar3 + 0x10) = 0;\n  *(undefined4 *)(puVar3 + 0x14) = 0x3f800000;\n  *(undefined4 *)(puVar3 + 0x18) = 0;\n  *(undefined4 *)(puVar3 + 0x1c) = 0;\n  *(undefined1 **)(puVar3 + 4) = puVar3 + 0x1c;\n  uVar4 = 0;\n  do {\n    *(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);\n  *(undefined4 *)(puVar3 + 0x24) = 1;\n  *(undefined1 **)(puVar3 + 0x20) = puVar3 + 0x38;\n  *(undefined4 *)(puVar3 + 0x28) = 0;\n  *(undefined4 *)(puVar3 + 0x2c) = 0;\n  *(undefined4 *)(puVar3 + 0x30) = 0x3f800000;\n  *(undefined4 *)(puVar3 + 0x34) = 0;\n  *(undefined4 *)(puVar3 + 0x38) = 0;\n  param_1[0x2c] = (int)puVar3;\n  piVar1 = param_1 + 0x2d;\n  param_1[0x2e] = (int)piVar1;\n  param_1[0x2d] = (int)piVar1;\n  param_1[0x2f] = 0;\n  param_1[0x30] = (int)piVar1;\n  *(undefined1 *)(param_1 + 0x31) = 0;\n  param_1[0x32] = 0;\n  param_1[0x33] = 0;\n  param_1[0x34] = 0;\n  param_1[0x35] = 0;\n  param_1[0x36] = 0;\n  param_1[0x37] = 0;\n  param_1[0x38] = 0;\n  param_1[0x39] = 0;\n  if ((param_4 & 2) == 0) {\n    bVar2 = *(byte *)(param_1 + 7);\n    if ((bVar2 & 1) != 0) {\n                    \n                    \n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }\n    param_1[1] = 0;\n    param_1[2] = 0;\n    *(byte *)(param_1 + 7) = bVar2 | 1;\n  }\n  return;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "undefined1 *puVar3;" (type_identifier "undefined1") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "int unaff_EDI;" (primitive_type "int") (identifier "unaff_EDI") (; ";")) (expression_statement "FUN_000559ee();" (call_expression "FUN_000559ee()" (identifier "FUN_000559ee") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*param_1 = (int)("N4gold9PluginobjE" + unaff_EDI + 3);" (assignment_expression "*param_1 = (int)("N4gold9PluginobjE" + unaff_EDI + 3)" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)("N4gold9PluginobjE" + unaff_EDI + 3)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "("N4gold9PluginobjE" + unaff_EDI + 3)" (( "(") (binary_expression ""N4gold9PluginobjE" + unaff_EDI + 3" (binary_expression ""N4gold9PluginobjE" + unaff_EDI" (string_literal ""N4gold9PluginobjE"" (" """) (string_content "N4gold9PluginobjE") (" """)) (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[8] = param_2;" (assignment_expression "param_1[8] = param_2" (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "param_2")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x14] = param_3;" (assignment_expression "param_1[0x14] = param_3" (subscript_expression "param_1[0x14]" (identifier "param_1") ([ "[") (number_literal "0x14") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[5] = -1;" (assignment_expression "param_1[5] = -1" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "param_1[6] = -1;" (assignment_expression "param_1[6] = -1" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "*(byte *)(param_1 + 7) = *(byte *)(param_1 + 7) & 0xe0;" (assignment_expression "*(byte *)(param_1 + 7) = *(byte *)(param_1 + 7) & 0xe0" (pointer_expression "*(byte *)(param_1 + 7)" (* "*") (cast_expression "(byte *)(param_1 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(param_1 + 7) & 0xe0" (pointer_expression "*(byte *)(param_1 + 7)" (* "*") (cast_expression "(byte *)(param_1 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[10] = 0;" (assignment_expression "param_1[10] = 0" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0xc] = 0;" (assignment_expression "param_1[0xc] = 0" (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0xd] = 0;" (assignment_expression "param_1[0xd] = 0" (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0xe] = 0;" (assignment_expression "param_1[0xe] = 0" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0xf] = 0;" (assignment_expression "param_1[0xf] = 0" (subscript_expression "param_1[0xf]" (identifier "param_1") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x10] = 0;" (assignment_expression "param_1[0x10] = 0" (subscript_expression "param_1[0x10]" (identifier "param_1") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x11] = 0;" (assignment_expression "param_1[0x11] = 0" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x12] = 0;" (assignment_expression "param_1[0x12] = 0" (subscript_expression "param_1[0x12]" (identifier "param_1") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x13] = 0;" (assignment_expression "param_1[0x13] = 0" (subscript_expression "param_1[0x13]" (identifier "param_1") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x15] = param_4;" (assignment_expression "param_1[0x15] = param_4" (subscript_expression "param_1[0x15]" (identifier "param_1") ([ "[") (number_literal "0x15") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "param_1[0x24] = param_1[0x24] & 0xff000000;" (assignment_expression "param_1[0x24] = param_1[0x24] & 0xff000000" (subscript_expression "param_1[0x24]" (identifier "param_1") ([ "[") (number_literal "0x24") (] "]")) (= "=") (binary_expression "param_1[0x24] & 0xff000000" (subscript_expression "param_1[0x24]" (identifier "param_1") ([ "[") (number_literal "0x24") (] "]")) (& "&") (number_literal "0xff000000"))) (; ";")) (expression_statement "param_1[0x16] = param_5;" (assignment_expression "param_1[0x16] = param_5" (subscript_expression "param_1[0x16]" (identifier "param_1") ([ "[") (number_literal "0x16") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "param_1[0x17] = 0;" (assignment_expression "param_1[0x17] = 0" (subscript_expression "param_1[0x17]" (identifier "param_1") ([ "[") (number_literal "0x17") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x18] = -1;" (assignment_expression "param_1[0x18] = -1" (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "param_1[0x19] = 0;" (assignment_expression "param_1[0x19] = 0" (subscript_expression "param_1[0x19]" (identifier "param_1") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x1a] = 0;" (assignment_expression "param_1[0x1a] = 0" (subscript_expression "param_1[0x1a]" (identifier "param_1") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x1b] = 0;" (assignment_expression "param_1[0x1b] = 0" (subscript_expression "param_1[0x1b]" (identifier "param_1") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x1c] = 0;" (assignment_expression "param_1[0x1c] = 0" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x1d] = 0;" (assignment_expression "param_1[0x1d] = 0" (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x1e] = 0;" (assignment_expression "param_1[0x1e] = 0" (subscript_expression "param_1[0x1e]" (identifier "param_1") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x1f] = 0;" (assignment_expression "param_1[0x1f] = 0" (subscript_expression "param_1[0x1f]" (identifier "param_1") ([ "[") (number_literal "0x1f") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x20] = 0;" (assignment_expression "param_1[0x20] = 0" (subscript_expression "param_1[0x20]" (identifier "param_1") ([ "[") (number_literal "0x20") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x21] = 0;" (assignment_expression "param_1[0x21] = 0" (subscript_expression "param_1[0x21]" (identifier "param_1") ([ "[") (number_literal "0x21") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x22] = 0;" (assignment_expression "param_1[0x22] = 0" (subscript_expression "param_1[0x22]" (identifier "param_1") ([ "[") (number_literal "0x22") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x23] = 0;" (assignment_expression "param_1[0x23] = 0" (subscript_expression "param_1[0x23]" (identifier "param_1") ([ "[") (number_literal "0x23") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x25] = 0;" (assignment_expression "param_1[0x25] = 0" (subscript_expression "param_1[0x25]" (identifier "param_1") ([ "[") (number_literal "0x25") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x26] = 0;" (assignment_expression "param_1[0x26] = 0" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x27] = 0;" (assignment_expression "param_1[0x27] = 0" (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x28] = 0;" (assignment_expression "param_1[0x28] = 0" (subscript_expression "param_1[0x28]" (identifier "param_1") ([ "[") (number_literal "0x28") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x29] = 0;" (assignment_expression "param_1[0x29] = 0" (subscript_expression "param_1[0x29]" (identifier "param_1") ([ "[") (number_literal "0x29") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x2a] = 0;" (assignment_expression "param_1[0x2a] = 0" (subscript_expression "param_1[0x2a]" (identifier "param_1") ([ "[") (number_literal "0x2a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x2b] = 0;" (assignment_expression "param_1[0x2b] = 0" (subscript_expression "param_1[0x2b]" (identifier "param_1") ([ "[") (number_literal "0x2b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3 = (undefined1 *)FUN_001e5200(0x3c);" (assignment_expression "puVar3 = (undefined1 *)FUN_001e5200(0x3c)" (identifier "puVar3") (= "=") (cast_expression "(undefined1 *)FUN_001e5200(0x3c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e5200(0x3c)" (identifier "FUN_001e5200") (argument_list "(0x3c)" (( "(") (number_literal "0x3c") () ")"))))) (; ";")) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" (identifier "uVar4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    *(undefined4 *)(puVar3 + uVar4 + 4) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);" (do "do") (compound_statement "{\n    *(undefined4 *)(puVar3 + uVar4 + 4) = 0;\n    uVar4 = uVar4 + 4;\n  }" ({ "{") (expression_statement "*(undefined4 *)(puVar3 + uVar4 + 4) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + uVar4 + 4) = 0" (pointer_expression "*(undefined4 *)(puVar3 + uVar4 + 4)" (* "*") (cast_expression "(undefined4 *)(puVar3 + uVar4 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + uVar4 + 4)" (( "(") (binary_expression "puVar3 + uVar4 + 4" (binary_expression "puVar3 + uVar4" (identifier "puVar3") (+ "+") (identifier "uVar4")) (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar4 = uVar4 + 4;" (assignment_expression "uVar4 = uVar4 + 4" (identifier "uVar4") (= "=") (binary_expression "uVar4 + 4" (identifier "uVar4") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar4 < 0x1c)" (( "(") (binary_expression "uVar4 < 0x1c" (identifier "uVar4") (< "<") (number_literal "0x1c")) () ")")) (; ";")) (expression_statement "*(undefined4 *)(puVar3 + 8) = 1;" (assignment_expression "*(undefined4 *)(puVar3 + 8) = 1" (pointer_expression "*(undefined4 *)(puVar3 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 8)" (( "(") (binary_expression "puVar3 + 8" (identifier "puVar3") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar3 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0xc) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0xc)" (( "(") (binary_expression "puVar3 + 0xc" (identifier "puVar3") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar3 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x10) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x10)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x10)" (( "(") (binary_expression "puVar3 + 0x10" (identifier "puVar3") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar3 + 0x14) = 0x3f800000;" (assignment_expression "*(undefined4 *)(puVar3 + 0x14) = 0x3f800000" (pointer_expression "*(undefined4 *)(puVar3 + 0x14)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x14)" (( "(") (binary_expression "puVar3 + 0x14" (identifier "puVar3") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "*(undefined4 *)(puVar3 + 0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x18) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x18)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x18)" (( "(") (binary_expression "puVar3 + 0x18" (identifier "puVar3") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar3 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x1c)" (( "(") (binary_expression "puVar3 + 0x1c" (identifier "puVar3") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 **)(puVar3 + 4) = puVar3 + 0x1c;" (assignment_expression "*(undefined1 **)(puVar3 + 4) = puVar3 + 0x1c" (pointer_expression "*(undefined1 **)(puVar3 + 4)" (* "*") (cast_expression "(undefined1 **)(puVar3 + 4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar3 + 4)" (( "(") (binary_expression "puVar3 + 4" (identifier "puVar3") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "puVar3 + 0x1c" (identifier "puVar3") (+ "+") (number_literal "0x1c"))) (; ";")) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" (identifier "uVar4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    *(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;\n    uVar4 = uVar4 + 4;\n  } while (uVar4 < 0x1c);" (do "do") (compound_statement "{\n    *(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;\n    uVar4 = uVar4 + 4;\n  }" ({ "{") (expression_statement "*(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + uVar4 + 0x20) = 0" (pointer_expression "*(undefined4 *)(puVar3 + uVar4 + 0x20)" (* "*") (cast_expression "(undefined4 *)(puVar3 + uVar4 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + uVar4 + 0x20)" (( "(") (binary_expression "puVar3 + uVar4 + 0x20" (binary_expression "puVar3 + uVar4" (identifier "puVar3") (+ "+") (identifier "uVar4")) (+ "+") (number_literal "0x20")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar4 = uVar4 + 4;" (assignment_expression "uVar4 = uVar4 + 4" (identifier "uVar4") (= "=") (binary_expression "uVar4 + 4" (identifier "uVar4") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar4 < 0x1c)" (( "(") (binary_expression "uVar4 < 0x1c" (identifier "uVar4") (< "<") (number_literal "0x1c")) () ")")) (; ";")) (expression_statement "*(undefined4 *)(puVar3 + 0x24) = 1;" (assignment_expression "*(undefined4 *)(puVar3 + 0x24) = 1" (pointer_expression "*(undefined4 *)(puVar3 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x24)" (( "(") (binary_expression "puVar3 + 0x24" (identifier "puVar3") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined1 **)(puVar3 + 0x20) = puVar3 + 0x38;" (assignment_expression "*(undefined1 **)(puVar3 + 0x20) = puVar3 + 0x38" (pointer_expression "*(undefined1 **)(puVar3 + 0x20)" (* "*") (cast_expression "(undefined1 **)(puVar3 + 0x20)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar3 + 0x20)" (( "(") (binary_expression "puVar3 + 0x20" (identifier "puVar3") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "puVar3 + 0x38" (identifier "puVar3") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined4 *)(puVar3 + 0x28) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x28) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x28)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x28)" (( "(") (binary_expression "puVar3 + 0x28" (identifier "puVar3") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar3 + 0x2c) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x2c) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x2c)" (( "(") (binary_expression "puVar3 + 0x2c" (identifier "puVar3") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar3 + 0x30) = 0x3f800000;" (assignment_expression "*(undefined4 *)(puVar3 + 0x30) = 0x3f800000" (pointer_expression "*(undefined4 *)(puVar3 + 0x30)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x30)" (( "(") (binary_expression "puVar3 + 0x30" (identifier "puVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "*(undefined4 *)(puVar3 + 0x34) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x34) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x34)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x34)" (( "(") (binary_expression "puVar3 + 0x34" (identifier "puVar3") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar3 + 0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x38) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x38)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x38)" (( "(") (binary_expression "puVar3 + 0x38" (identifier "puVar3") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x2c] = (int)puVar3;" (assignment_expression "param_1[0x2c] = (int)puVar3" (subscript_expression "param_1[0x2c]" (identifier "param_1") ([ "[") (number_literal "0x2c") (] "]")) (= "=") (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3"))) (; ";")) (expression_statement "piVar1 = param_1 + 0x2d;" (assignment_expression "piVar1 = param_1 + 0x2d" (identifier "piVar1") (= "=") (binary_expression "param_1 + 0x2d" (identifier "param_1") (+ "+") (number_literal "0x2d"))) (; ";")) (expression_statement "param_1[0x2e] = (int)piVar1;" (assignment_expression "param_1[0x2e] = (int)piVar1" (subscript_expression "param_1[0x2e]" (identifier "param_1") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "param_1[0x2d] = (int)piVar1;" (assignment_expression "param_1[0x2d] = (int)piVar1" (subscript_expression "param_1[0x2d]" (identifier "param_1") ([ "[") (number_literal "0x2d") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "param_1[0x2f] = 0;" (assignment_expression "param_1[0x2f] = 0" (subscript_expression "param_1[0x2f]" (identifier "param_1") ([ "[") (number_literal "0x2f") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x30] = (int)piVar1;" (assignment_expression "param_1[0x30] = (int)piVar1" (subscript_expression "param_1[0x30]" (identifier "param_1") ([ "[") (number_literal "0x30") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0x31) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x31) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x31)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x31)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x31)" (( "(") (binary_expression "param_1 + 0x31" (identifier "param_1") (+ "+") (number_literal "0x31")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" (identifier "param_1") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x34] = 0;" (assignment_expression "param_1[0x34] = 0" (subscript_expression "param_1[0x34]" (identifier "param_1") ([ "[") (number_literal "0x34") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x35] = 0;" (assignment_expression "param_1[0x35] = 0" (subscript_expression "param_1[0x35]" (identifier "param_1") ([ "[") (number_literal "0x35") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x36] = 0;" (assignment_expression "param_1[0x36] = 0" (subscript_expression "param_1[0x36]" (identifier "param_1") ([ "[") (number_literal "0x36") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x37] = 0;" (assignment_expression "param_1[0x37] = 0" (subscript_expression "param_1[0x37]" (identifier "param_1") ([ "[") (number_literal "0x37") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x38] = 0;" (assignment_expression "param_1[0x38] = 0" (subscript_expression "param_1[0x38]" (identifier "param_1") ([ "[") (number_literal "0x38") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x39] = 0;" (assignment_expression "param_1[0x39] = 0" (subscript_expression "param_1[0x39]" (identifier "param_1") ([ "[") (number_literal "0x39") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((param_4 & 2) == 0) {\n    bVar2 = *(byte *)(param_1 + 7);\n    if ((bVar2 & 1) != 0) {\n                    \n                    \n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }\n    param_1[1] = 0;\n    param_1[2] = 0;\n    *(byte *)(param_1 + 7) = bVar2 | 1;\n  }" (if "if") (parenthesized_expression "((param_4 & 2) == 0)" (( "(") (binary_expression "(param_4 & 2) == 0" (parenthesized_expression "(param_4 & 2)" (( "(") (binary_expression "param_4 & 2" (identifier "param_4") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    bVar2 = *(byte *)(param_1 + 7);\n    if ((bVar2 & 1) != 0) {\n                    \n                    \n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }\n    param_1[1] = 0;\n    param_1[2] = 0;\n    *(byte *)(param_1 + 7) = bVar2 | 1;\n  }" ({ "{") (expression_statement "bVar2 = *(byte *)(param_1 + 7);" (assignment_expression "bVar2 = *(byte *)(param_1 + 7)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)(param_1 + 7)" (* "*") (cast_expression "(byte *)(param_1 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")"))))) (; ";")) (if_statement "if ((bVar2 & 1) != 0) {\n                    \n                    \n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }" (if "if") (parenthesized_expression "((bVar2 & 1) != 0)" (( "(") (binary_expression "(bVar2 & 1) != 0" (parenthesized_expression "(bVar2 & 1)" (( "(") (binary_expression "bVar2 & 1" (identifier "bVar2") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);\n    }" ({ "{") (expression_statement "FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);" (call_expression "FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2)" (identifier "FUN_00069d00") (argument_list "(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2)" (( "(") (binary_expression "unaff_EDI + 0x199ce3" (identifier "unaff_EDI") (+ "+") (number_literal "0x199ce3")) (, ",") (number_literal "0x142") (, ",") (binary_expression "unaff_EDI + 0x1a5db7" (identifier "unaff_EDI") (+ "+") (number_literal "0x1a5db7")) (, ",") (identifier "bVar2") () ")"))) (; ";")) (} "}"))) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(byte *)(param_1 + 7) = bVar2 | 1;" (assignment_expression "*(byte *)(param_1 + 7) = bVar2 | 1" (pointer_expression "*(byte *)(param_1 + 7)" (* "*") (cast_expression "(byte *)(param_1 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar2 | 1" (identifier "bVar2") (| "|") (number_literal "1"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */
/* DWARF original prototype: void Output_section(Output_section * this, char * name, Elf_Word type,
   Elf_Xword flags) */

void __thiscall
gold::function_1::function_1(function_1 *this,char *name,type_1 type,type_2 var_9)

{
  type_3 *puVar1;
  type_4 *pFVar2;
  type_5 var_10;
  type_6 *pOVar4;
  type_7 var_7;
  int var_2;
  
  var_1();
  (this->super_Output_data)._vptr_Output_data =
       (type_8 **)("N4gold9PluginobjE" + var_2 + 3);
  *(type_9 *)&(this->super_Output_data).address_ = 0;
  this->name_ = name;
  *(type_9 *)((int)&(this->super_Output_data).address_ + 4) = 0;
  this->type_ = type;
  *(type_9 *)&(this->super_Output_data).data_size_ = 0;
  *(type_9 *)((int)&(this->super_Output_data).data_size_ + 4) = 0;
  *(type_9 *)&(this->super_Output_data).offset_ = 0xffffffff;
  *(type_9 *)((int)&(this->super_Output_data).offset_ + 4) = 0xffffffff;
  puVar1 = &(this->super_Output_data).field_0x1c;
  *puVar1 = *puVar1 & 0xe0;
  *(type_9 *)&this->addralign_ = 0;
  *(type_9 *)((int)&this->addralign_ + 4) = 0;
  *(type_9 *)&this->entsize_ = 0;
  *(type_9 *)((int)&this->entsize_ + 4) = 0;
  *(type_9 *)&this->load_address_ = 0;
  *(type_9 *)((int)&this->load_address_ + 4) = 0;
  this->link_section_ = (type_10 *)0x0;
  this->link_ = 0;
  this->info_section_ = (function_1 *)0x0;
  this->info_symndx_ = (type_11 *)0x0;
  this->info_ = 0;
  *(type_9 *)&this->flags_ = (type_9)var_9;
  *(type_7 *)&this->field_0x90 = *(type_7 *)&this->field_0x90 & 0xff000000;
  *(type_9 *)((int)&this->flags_ + 4) = var_9._4_4_;
  this->order_ = ORDER_INVALID;
  this->out_shndx_ = 0xffffffff;
  this->symtab_index_ = 0;
  this->dynsym_index_ = 0;
  (this->input_sections_).
  super__Vector_base<gold::Output_section::var_3,_std::allocator<gold::Output_section::var_3>var_4>
  ._M_impl._M_start = (type_12)0x0;
  (this->input_sections_).
  super__Vector_base<gold::Output_section::var_3,_std::allocator<gold::Output_section::var_3>var_4>
  ._M_impl._M_finish = (type_12)0x0;
  (this->input_sections_).
  super__Vector_base<gold::Output_section::var_3,_std::allocator<gold::Output_section::var_3>var_4>
  ._M_impl._M_end_of_storage = (type_12)0x0;
  *(type_9 *)&this->first_input_offset_ = 0;
  *(type_9 *)((int)&this->first_input_offset_ + 4) = 0;
  (this->fills_).
  super__Vector_base<gold::Output_section::var_5,_std::allocator<gold::Output_section::var_5>var_4>.
  _M_impl._M_start = (type_12)0x0;
  (this->fills_).
  super__Vector_base<gold::Output_section::var_5,_std::allocator<gold::Output_section::var_5>var_4>.
  _M_impl._M_finish = (type_12)0x0;
  (this->fills_).
  super__Vector_base<gold::Output_section::var_5,_std::allocator<gold::Output_section::var_5>var_4>.
  _M_impl._M_end_of_storage = (type_12)0x0;
  this->postprocessing_buffer_ = (type_13 *)0x0;
  *(type_9 *)&this->tls_offset_ = 0;
  *(type_9 *)((int)&this->tls_offset_ + 4) = 0;
  *(type_9 *)&this->extra_segment_flags_ = 0;
  *(type_9 *)((int)&this->extra_segment_flags_ + 4) = 0;
  *(type_9 *)&this->segment_alignment_ = 0;
  *(type_9 *)((int)&this->segment_alignment_ + 4) = 0;
  this->checkpoint_ = (type_14 *)0x0;
                    /* try { // try from 000ee330 to 000ee334 has its CatchHandler @ 000ee482 */
  pOVar4 = (type_6 *)var_6(0x3c);
  pOVar4->is_valid_ = true;
  var_7 = 0;
  do {
    *(type_9 *)((int)&(pOVar4->merge_sections_by_properties_)._M_h._M_buckets + var_7) = 0;
    var_7 = var_7 + 4;
  } while (var_7 < 0x1c);
  (pOVar4->merge_sections_by_properties_)._M_h._M_bucket_count = 1;
  (pOVar4->merge_sections_by_properties_)._M_h._M_before_begin._M_nxt = (type_15 *)0x0;
  (pOVar4->merge_sections_by_properties_)._M_h._M_element_count = 0;
  (pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (pOVar4->merge_sections_by_properties_)._M_h._M_rehash_policy._M_next_resize = 0;
  (pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket = (type_16)0x0;
  (pOVar4->merge_sections_by_properties_)._M_h._M_buckets =
       &(pOVar4->merge_sections_by_properties_)._M_h._M_single_bucket;
  var_7 = 0;
  do {
    *(type_9 *)((int)&(pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets + var_7) = 0;
    var_7 = var_7 + 4;
  } while (var_7 < 0x1c);
  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_bucket_count = 1;
  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_buckets =
       &(pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket;
  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_before_begin._M_nxt = (type_15 *)0x0;
  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_element_count = 0;
  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_rehash_policy._M_next_resize = 0;
  (pOVar4->relaxed_input_sections_by_id_)._M_h._M_single_bucket = (type_16)0x0;
  this->lookup_maps_ = pOVar4;
  pFVar2 = &this->free_list_;
  (this->free_list_).list_.
  super__List_base<gold::Free_list::var_8,_std::allocator<gold::Free_list::var_8>var_4>
  ._M_impl._M_node.super__List_node_base._M_prev = (type_17 *)pFVar2;
  (this->free_list_).list_.
  super__List_base<gold::Free_list::var_8,_std::allocator<gold::Free_list::var_8>var_4>
  ._M_impl._M_node.super__List_node_base._M_next = (type_17 *)pFVar2;
  (this->free_list_).list_.
  super__List_base<gold::Free_list::var_8,_std::allocator<gold::Free_list::var_8>var_4>
  ._M_impl._M_node._M_size = 0;
  (this->free_list_).last_remove_._M_node = (type_17 *)pFVar2;
  (this->free_list_).extend_ = false;
  *(type_9 *)&(this->free_list_).length_ = 0;
  *(type_9 *)((int)&(this->free_list_).length_ + 4) = 0;
  *(type_9 *)&(this->free_list_).min_hole_ = 0;
  *(type_9 *)((int)&(this->free_list_).min_hole_ + 4) = 0;
  this->free_space_fill_ = (type_18 *)0x0;
  *(type_9 *)&this->patch_space_ = 0;
  *(type_9 *)((int)&this->patch_space_ + 4) = 0;
  this->reloc_section_ = (function_1 *)0x0;
  if ((var_9 & 2) == 0) {
    var_10 = (this->super_Output_data).field_0x1c;
    if ((var_10 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */
      var_11((char *)(var_2 + 0x199ce3),0x142,(char *)(var_2 + 0x1a5db7));
    }
    *(type_9 *)&(this->super_Output_data).address_ = 0;
    *(type_9 *)((int)&(this->super_Output_data).address_ + 4) = 0;
    (this->super_Output_data).field_0x1c = var_10 | 1;
  }
  return;
}


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

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

{
  int *piVar1;
  byte bVar2;
  undefined1 *puVar3;
  uint uVar4;
  int unaff_EDI;
  
  FUN_000559ee();
  *param_1 = (int)("N4gold9PluginobjE" + unaff_EDI + 3);
  param_1[1] = 0;
  param_1[8] = param_2;
  param_1[2] = 0;
  param_1[0x14] = param_3;
  param_1[3] = 0;
  param_1[4] = 0;
  param_1[5] = -1;
  param_1[6] = -1;
  *(byte *)(param_1 + 7) = *(byte *)(param_1 + 7) & 0xe0;
  param_1[9] = 0;
  param_1[10] = 0;
  param_1[0xb] = 0;
  param_1[0xc] = 0;
  param_1[0xd] = 0;
  param_1[0xe] = 0;
  param_1[0xf] = 0;
  param_1[0x10] = 0;
  param_1[0x11] = 0;
  param_1[0x12] = 0;
  param_1[0x13] = 0;
  param_1[0x15] = param_4;
  param_1[0x24] = param_1[0x24] & 0xff000000;
  param_1[0x16] = param_5;
  param_1[0x17] = 0;
  param_1[0x18] = -1;
  param_1[0x19] = 0;
  param_1[0x1a] = 0;
  param_1[0x1b] = 0;
  param_1[0x1c] = 0;
  param_1[0x1d] = 0;
  param_1[0x1e] = 0;
  param_1[0x1f] = 0;
  param_1[0x20] = 0;
  param_1[0x21] = 0;
  param_1[0x22] = 0;
  param_1[0x23] = 0;
  param_1[0x25] = 0;
  param_1[0x26] = 0;
  param_1[0x27] = 0;
  param_1[0x28] = 0;
  param_1[0x29] = 0;
  param_1[0x2a] = 0;
  param_1[0x2b] = 0;
                    /* try { // try from 000ee330 to 000ee334 has its CatchHandler @ 000ee482 */
  puVar3 = (undefined1 *)FUN_001e5200(0x3c);
  *puVar3 = 1;
  uVar4 = 0;
  do {
    *(undefined4 *)(puVar3 + uVar4 + 4) = 0;
    uVar4 = uVar4 + 4;
  } while (uVar4 < 0x1c);
  *(undefined4 *)(puVar3 + 8) = 1;
  *(undefined4 *)(puVar3 + 0xc) = 0;
  *(undefined4 *)(puVar3 + 0x10) = 0;
  *(undefined4 *)(puVar3 + 0x14) = 0x3f800000;
  *(undefined4 *)(puVar3 + 0x18) = 0;
  *(undefined4 *)(puVar3 + 0x1c) = 0;
  *(undefined1 **)(puVar3 + 4) = puVar3 + 0x1c;
  uVar4 = 0;
  do {
    *(undefined4 *)(puVar3 + uVar4 + 0x20) = 0;
    uVar4 = uVar4 + 4;
  } while (uVar4 < 0x1c);
  *(undefined4 *)(puVar3 + 0x24) = 1;
  *(undefined1 **)(puVar3 + 0x20) = puVar3 + 0x38;
  *(undefined4 *)(puVar3 + 0x28) = 0;
  *(undefined4 *)(puVar3 + 0x2c) = 0;
  *(undefined4 *)(puVar3 + 0x30) = 0x3f800000;
  *(undefined4 *)(puVar3 + 0x34) = 0;
  *(undefined4 *)(puVar3 + 0x38) = 0;
  param_1[0x2c] = (int)puVar3;
  piVar1 = param_1 + 0x2d;
  param_1[0x2e] = (int)piVar1;
  param_1[0x2d] = (int)piVar1;
  param_1[0x2f] = 0;
  param_1[0x30] = (int)piVar1;
  *(undefined1 *)(param_1 + 0x31) = 0;
  param_1[0x32] = 0;
  param_1[0x33] = 0;
  param_1[0x34] = 0;
  param_1[0x35] = 0;
  param_1[0x36] = 0;
  param_1[0x37] = 0;
  param_1[0x38] = 0;
  param_1[0x39] = 0;
  if ((param_4 & 2) == 0) {
    bVar2 = *(byte *)(param_1 + 7);
    if ((bVar2 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000ee47d to 000ee481 has its CatchHandler @ 000ee48a */
      FUN_00069d00(unaff_EDI + 0x199ce3,0x142,unaff_EDI + 0x1a5db7,bVar2);
    }
    param_1[1] = 0;
    param_1[2] = 0;
    *(byte *)(param_1 + 7) = bVar2 | 1;
  }
  return;
}

