
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void add_relocation(Output_data_plt_x86_64<32> * this, Symbol_table *
   symtab, Layout * layout, Symbol * gsym, uint got_offset) */

void __thiscall
anon_unknown.dwarf_32964f::Output_data_plt_x86_64<32>::add_relocation
          (Output_data_plt_x86_64<32> *this,Symbol_table *symtab,Layout *layout,Symbol *gsym,
          uint got_offset)

{
  undefined1 *puVar1;
  size_t *psVar2;
  int iVar3;
  Output_data *pOVar4;
  iterator iVar5;
  uint uVar6;
  General_options *pGVar7;
  bool bVar8;
  int in_EAX;
  int iVar9;
  Reloc_section *pRVar10;
  Output_reloc<4,_true,_32,_false> *pOVar11;
  Output_data_plt_x86_64<32> *in_stack_ffffff94;
  Symbol_table *in_stack_ffffff98;
  General_options *in_stack_ffffff9c;
  bool is_global;
  anon_union_4_4_c82d8563_for_u1_ local_54;
  Sized_relobj<32,_false> *local_50;
  Address local_4c;
  uint local_48;
  uint local_44;
  uint local_40;
  undefined4 local_3c;
  anon_union_4_4_c82d8563_for_u1_ local_38;
  Sized_relobj<32,_false> *local_34;
  Address local_30;
  uint local_2c;
  uint local_28;
  uint local_24;
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x6207b;
  if ((this->field_0x28 & 0xf) == 10) {
    if ((this->field_0x2a & 7) == 0) {
      if (((*(byte *)(*(int *)&this->field_0x8 + 0x2c) & 1) == 0) &&
         ((*(int *)&this->field_0xc != 0 || ((this->field_0x2b & 0x20) == 0)))) goto LAB_000621b8;
    }
    else if ((this->field_0x2a & 7) != 4) {
LAB_000621b8:
      if (((this->field_0x29 & 3) == 0) && ((this->field_0x2b & 0x10) == 0)) {
        pGVar7 = gold::parameters->options_;
        if (pGVar7 == (General_options *)0x0) {
LAB_00062372:
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
        }
        if ((pGVar7->shared_).value != false) {
          bVar8 = gold::Version_script_info::get_symbol_version
                            (&(pGVar7->dynamic_list_).version_script_info_,
                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);
          if ((!bVar8) || (is_global != false)) {
            in_stack_ffffff9c = gold::parameters->options_;
            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;
            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||
               (((this->field_0x28 & 0xf) != 1 &&
                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;
          }
          goto LAB_00062097;
        }
      }
LAB_00062260:
      pRVar10 = rela_irelative(in_stack_ffffff94,in_stack_ffffff98,(Layout *)in_stack_ffffff9c);
      pOVar4 = *(Output_data **)(in_EAX + 0x40);
      gold::Output_reloc<9,_true,_32,_false>::Output_reloc
                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,
                 (Address)symtab,false,true,false);
      local_3c = 0;
      iVar5._M_current =
           (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.
           super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>
           ._M_impl._M_finish;
      if (iVar5._M_current ==
          (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.
          super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>
          ._M_impl._M_end_of_storage) {
        std::
        vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>
        ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>
                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,
                   (Output_reloc<4,_true,_32,_false> *)&local_54);
        pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.
                  super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>
                  ._M_impl._M_finish;
      }
      else {
        pOVar11 = iVar5._M_current + 1;
        ((iVar5._M_current)->rel_).u1_ = local_54;
        ((iVar5._M_current)->rel_).u2_.relobj = local_50;
        ((iVar5._M_current)->rel_).address_ = local_4c;
        ((iVar5._M_current)->rel_).local_sym_index_ = local_48;
        *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_44;
        ((iVar5._M_current)->rel_).shndx_ = local_40;
        (iVar5._M_current)->addend_ = 0;
        (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.
        super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>
        ._M_impl._M_finish = pOVar11;
      }
      iVar9 = (int)pOVar11 -
              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.
                   super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>
                   ._M_impl._M_start >> 2;
      if (((pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).
           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data
           .super_Output_data.field_0x1c & 2) != 0) goto LAB_00062359;
      *(int *)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).
               super_Output_data_reloc_generic.super_Output_section_data_build.
               super_Output_section_data.super_Output_data.data_size_ = iVar9 * -0x6db6db6c;
      *(undefined4 *)
       ((int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).
              super_Output_data_reloc_generic.super_Output_section_data_build.
              super_Output_section_data.super_Output_data.data_size_ + 4) = 0;
      puVar1 = &pOVar4->field_0x1c;
      *puVar1 = *puVar1 | 0x10;
      if ((local_44 & 0x10000000) != 0) {
        psVar2 = &(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).
                  super_Output_data_reloc_generic.relative_reloc_count_;
        *psVar2 = *psVar2 + 1;
      }
      goto joined_r0x0006230d;
    }
  }
LAB_00062097:
  this->field_0x2a = this->field_0x2a | 0x40;
  iVar3 = *(int *)(in_EAX + 0x2c);
  pOVar4 = *(Output_data **)(in_EAX + 0x3c);
  gold::Output_reloc<9,_true,_32,_false>::Output_reloc
            ((Output_reloc<9,_true,_32,_false> *)&local_38,(Symbol *)this,7,pOVar4,(Address)symtab,
             false,false,false);
  local_20 = 0;
  iVar5._M_current = *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38);
  if (iVar5._M_current == *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x3c)) {
    std::
    vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>
    ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>
              ((vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>
                *)(iVar3 + 0x34),iVar5,(Output_reloc<4,_true,_32,_false> *)&local_38);
    pOVar11 = *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38);
  }
  else {
    pOVar11 = iVar5._M_current + 1;
    ((iVar5._M_current)->rel_).u1_ = local_38;
    ((iVar5._M_current)->rel_).u2_.relobj = local_34;
    ((iVar5._M_current)->rel_).address_ = local_30;
    ((iVar5._M_current)->rel_).local_sym_index_ = local_2c;
    *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_28;
    ((iVar5._M_current)->rel_).shndx_ = local_24;
    (iVar5._M_current)->addend_ = 0;
    *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38) = pOVar11;
  }
  iVar9 = (int)pOVar11 - *(int *)(iVar3 + 0x34) >> 2;
  if ((*(byte *)(iVar3 + 0x1c) & 2) != 0) {
LAB_00062359:
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");
  }
  *(int *)(iVar3 + 0xc) = iVar9 * -0x6db6db6c;
  *(undefined4 *)(iVar3 + 0x10) = 0;
  puVar1 = &pOVar4->field_0x1c;
  *puVar1 = *puVar1 | 0x10;
  local_50 = local_34;
  local_40 = local_24;
  if ((local_28 & 0x10000000) != 0) {
    *(int *)(iVar3 + 0x2c) = *(int *)(iVar3 + 0x2c) + 1;
  }
joined_r0x0006230d:
  if ((local_40 != 0xfffffffc) && (local_50 != (Sized_relobj<32,_false> *)0x0)) {
    uVar6 = (local_50->super_Relobj).dyn_reloc_count_;
    if (uVar6 == 0) {
      (local_50->super_Relobj).first_dyn_reloc_ = iVar9 * -0x49249249 - 1;
    }
    (local_50->super_Relobj).dyn_reloc_count_ = uVar6 + 1;
  }
  return;
}



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

void __regparm2 FUN_00062070(int param_1,undefined4 param_2,undefined4 *param_3,undefined4 param_4)

{
  byte *pbVar1;
  int iVar2;
  undefined4 *puVar3;
  char cVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  undefined4 *puVar8;
  char local_55;
  undefined4 local_54;
  int local_50;
  undefined4 local_4c;
  undefined4 local_48;
  uint local_44;
  int local_40;
  undefined4 local_3c;
  undefined4 local_38;
  int local_34;
  undefined4 local_30;
  undefined4 local_2c;
  uint local_28;
  int local_24;
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x6207b;
  if ((*(byte *)(param_3 + 10) & 0xf) == 10) {
    if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {
      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&
         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;
    }
    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {
LAB_000621b8:
      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&
         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {
        iVar2 = *(int *)(DAT_0033f2f0 + 8);
        if (iVar2 == 0) {
LAB_00062372:
                    /* WARNING: Subroutine does not return */
          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);
        }
        if (*(char *)(iVar2 + 0x1a25) != '\0') {
          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);
          if ((cVar4 == '\0') || (local_55 != '\0')) {
            iVar2 = *(int *)(DAT_0033f2f0 + 8);
            if (iVar2 == 0) goto LAB_00062372;
            if ((*(char *)(iVar2 + 0x825) != '\0') ||
               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))
            goto LAB_00062260;
          }
          goto LAB_00062097;
        }
      }
LAB_00062260:
      iVar7 = FUN_0005eb10();
      iVar2 = *(int *)(param_1 + 0x40);
      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);
      local_3c = 0;
      puVar3 = *(undefined4 **)(iVar7 + 0x38);
      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {
        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);
        puVar8 = *(undefined4 **)(iVar7 + 0x38);
      }
      else {
        puVar8 = puVar3 + 7;
        *puVar3 = local_54;
        puVar3[1] = local_50;
        puVar3[2] = local_4c;
        puVar3[3] = local_48;
        puVar3[4] = local_44;
        puVar3[5] = local_40;
        puVar3[6] = 0;
        *(undefined4 **)(iVar7 + 0x38) = puVar8;
      }
      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;
      iVar6 = iVar5 * -0x6db6db6c;
      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;
      *(int *)(iVar7 + 0xc) = iVar6;
      *(undefined4 *)(iVar7 + 0x10) = 0;
      pbVar1 = (byte *)(iVar2 + 0x1c);
      *pbVar1 = *pbVar1 | 0x10;
      if ((local_44 & 0x10000000) != 0) {
        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;
      }
      goto joined_r0x0006230d;
    }
  }
LAB_00062097:
  *(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40;
  iVar2 = *(int *)(param_1 + 0x2c);
  iVar7 = *(int *)(param_1 + 0x3c);
  FUN_000f5a50(&local_38,param_3,7,iVar7,param_4,0,0,0);
  local_20 = 0;
  puVar3 = *(undefined4 **)(iVar2 + 0x38);
  if (puVar3 == *(undefined4 **)(iVar2 + 0x3c)) {
    FUN_00073560(iVar2 + 0x34,puVar3,&local_38);
    puVar8 = *(undefined4 **)(iVar2 + 0x38);
  }
  else {
    puVar8 = puVar3 + 7;
    *puVar3 = local_38;
    puVar3[1] = local_34;
    puVar3[2] = local_30;
    puVar3[3] = local_2c;
    puVar3[4] = local_28;
    puVar3[5] = local_24;
    puVar3[6] = 0;
    *(undefined4 **)(iVar2 + 0x38) = puVar8;
  }
  iVar5 = (int)puVar8 - *(int *)(iVar2 + 0x34) >> 2;
  iVar6 = iVar5 * -0x6db6db6c;
  if ((*(byte *)(iVar2 + 0x1c) & 2) != 0) {
LAB_00062359:
                    /* WARNING: Subroutine does not return */
    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);
  }
  *(int *)(iVar2 + 0xc) = iVar6;
  *(undefined4 *)(iVar2 + 0x10) = 0;
  pbVar1 = (byte *)(iVar7 + 0x1c);
  *pbVar1 = *pbVar1 | 0x10;
  local_50 = local_34;
  local_40 = local_24;
  if ((local_28 & 0x10000000) != 0) {
    *(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;
  }
joined_r0x0006230d:
  if ((local_40 != -4) && (local_50 != 0)) {
    if (*(int *)(local_50 + 100) == 0) {
      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;
    }
    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;
  }
  return;
}


PUSH EBP
PUSH EDI
MOV EDI,EAX
PUSH ESI
PUSH EBX
CALL 0x00035680
ADD EBX,0x2dcf85
SUB ESP,0x5c
MOV ESI,dword ptr [ESP + 0x70]
MOVZX EAX,byte ptr [ESI + 0x28]
AND EAX,0xf
CMP AL,0xa
JZ 0x00062180
OR byte ptr [ESI + 0x2a],0x40
MOV EBP,dword ptr [EDI + 0x2c]
MOV EDI,dword ptr [EDI + 0x3c]
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESP + 0x80]
PUSH EDI
PUSH 0x7
PUSH ESI
LEA ESI,[ESP + 0x50]
PUSH ESI
CALL 0x000f5a50
MOV dword ptr [ESP + 0x6c],0x0
MOV EAX,dword ptr [EBP + 0x38]
ADD ESP,0x20
CMP EAX,dword ptr [EBP + 0x3c]
JZ 0x00062320
MOV EDX,dword ptr [ESP + 0x34]
ADD EAX,0x1c
MOV dword ptr [EAX + -0x1c],EDX
MOV EDX,dword ptr [ESP + 0x38]
MOV dword ptr [EAX + -0x18],EDX
MOV EDX,dword ptr [ESP + 0x3c]
MOV dword ptr [EAX + -0x14],EDX
MOV EDX,dword ptr [ESP + 0x40]
MOV dword ptr [EAX + -0x10],EDX
MOV EDX,dword ptr [ESP + 0x44]
MOV dword ptr [EAX + -0xc],EDX
MOV EDX,dword ptr [ESP + 0x48]
MOV dword ptr [EAX + -0x8],EDX
MOV EDX,dword ptr [ESP + 0x4c]
MOV dword ptr [EAX + -0x4],EDX
MOV dword ptr [EBP + 0x38],EAX
SUB EAX,dword ptr [EBP + 0x34]
XOR EDX,EDX
SAR EAX,0x2
IMUL ECX,EAX,-0x49249249
LEA EAX,[ECX + ECX*0x2]
SHL EAX,0x2
TEST byte ptr [EBP + 0x1c],0x2
JNZ 0x00062359
MOV dword ptr [EBP + 0xc],EAX
MOV dword ptr [EBP + 0x10],EDX
OR byte ptr [EDI + 0x1c],0x10
TEST byte ptr [ESP + 0x47],0x10
JNZ 0x00062160
CMP dword ptr [ESP + 0x48],-0x4
MOV EAX,dword ptr [ESP + 0x38]
JZ 0x00062155
TEST EAX,EAX
JZ 0x00062155
MOV EDX,dword ptr [EAX + 0x64]
TEST EDX,EDX
JZ 0x00062170
ADD EDX,0x1
MOV dword ptr [EAX + 0x64],EDX
ADD ESP,0x5c
POP EBX
POP ESI
POP EDI
POP EBP
RET
ADD dword ptr [EBP + 0x2c],0x1
JMP 0x00062139
SUB ECX,0x1
MOV dword ptr [EAX + 0x60],ECX
JMP 0x0006214f
MOVZX EAX,byte ptr [ESI + 0x2a]
AND EAX,0x7
JNZ 0x000621b0
MOV EAX,dword ptr [ESI + 0x8]
TEST byte ptr [EAX + 0x2c],0x1
JNZ 0x00062097
MOV EBP,dword ptr [ESI + 0xc]
TEST EBP,EBP
JNZ 0x000621b8
TEST byte ptr [ESI + 0x2b],0x20
JZ 0x000621b8
JMP 0x00062097
CMP AL,0x4
JZ 0x00062097
TEST byte ptr [ESI + 0x29],0x3
JNZ 0x00062260
TEST byte ptr [ESI + 0x2b],0x10
JNZ 0x00062260
LEA EBP,[EBX + 0x2f0]
MOV EAX,dword ptr [EBP]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x00062372
CMP byte ptr [EAX + 0x1a25],0x0
JZ 0x00062260
MOV dword ptr [ESP + 0xc],ECX
ADD EAX,0x59a8
LEA ECX,[ESP + 0x17]
MOV dword ptr [ESP + 0x8],EDX
PUSH ECX
PUSH 0x0
PUSH dword ptr [ESI]
PUSH EAX
CALL 0x001453a0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [ESP + 0xc]
TEST AL,AL
JZ 0x0006221f
CMP byte ptr [ESP + 0x17],0x0
JZ 0x00062097
MOV EAX,dword ptr [EBP]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x00062372
CMP byte ptr [EAX + 0x825],0x0
MOV dword ptr [ESP + 0x8],EAX
JNZ 0x00062260
MOVZX EBP,byte ptr [ESI + 0x28]
AND EBP,0xf
MOV EAX,EBP
CMP AL,0x1
JZ 0x00062097
MOV EAX,dword ptr [ESP + 0x8]
CMP byte ptr [EAX + 0x8a1],0x0
JZ 0x00062097
LEA ESI,[ESI]
MOV EAX,EDI
CALL 0x0005eb10
MOV EDI,dword ptr [EDI + 0x40]
PUSH 0x0
PUSH 0x1
MOV EBP,EAX
PUSH 0x0
PUSH dword ptr [ESP + 0x80]
PUSH EDI
PUSH 0x25
PUSH ESI
LEA ESI,[ESP + 0x34]
PUSH ESI
CALL 0x000f5a50
MOV dword ptr [ESP + 0x50],0x0
MOV EAX,dword ptr [EBP + 0x38]
ADD ESP,0x20
CMP EAX,dword ptr [EBP + 0x3c]
JZ 0x00062340
MOV EDX,dword ptr [ESP + 0x18]
ADD EAX,0x1c
MOV dword ptr [EAX + -0x1c],EDX
MOV EDX,dword ptr [ESP + 0x1c]
MOV dword ptr [EAX + -0x18],EDX
MOV EDX,dword ptr [ESP + 0x20]
MOV dword ptr [EAX + -0x14],EDX
MOV EDX,dword ptr [ESP + 0x24]
MOV dword ptr [EAX + -0x10],EDX
MOV EDX,dword ptr [ESP + 0x28]
MOV dword ptr [EAX + -0xc],EDX
MOV EDX,dword ptr [ESP + 0x2c]
MOV dword ptr [EAX + -0x8],EDX
MOV EDX,dword ptr [ESP + 0x30]
MOV dword ptr [EAX + -0x4],EDX
MOV dword ptr [EBP + 0x38],EAX
SUB EAX,dword ptr [EBP + 0x34]
XOR EDX,EDX
SAR EAX,0x2
IMUL ECX,EAX,-0x49249249
LEA EAX,[ECX + ECX*0x2]
SHL EAX,0x2
TEST byte ptr [EBP + 0x1c],0x2
JNZ 0x00062359
MOV dword ptr [EBP + 0xc],EAX
MOV dword ptr [EBP + 0x10],EDX
OR byte ptr [EDI + 0x1c],0x10
TEST byte ptr [ESP + 0x2b],0x10
JZ 0x00062304
ADD dword ptr [EBP + 0x2c],0x1
CMP dword ptr [ESP + 0x2c],-0x4
MOV EAX,dword ptr [ESP + 0x1c]
JNZ 0x00062144
JMP 0x00062155
SUB ESP,0x4
PUSH ESI
PUSH EAX
LEA EAX,[EBP + 0x34]
PUSH EAX
CALL 0x00073560
MOV EAX,dword ptr [EBP + 0x38]
ADD ESP,0x10
JMP 0x0006210a
SUB ESP,0x4
PUSH ESI
PUSH EAX
LEA EAX,[EBP + 0x34]
PUSH EAX
CALL 0x00073560
MOV EAX,dword ptr [EBP + 0x38]
ADD ESP,0x10
JMP 0x000622d5
PUSH EAX
LEA EAX,[EBX + 0xfff12220]
PUSH EAX
LEA EAX,[EBX + 0xfff0c35d]
PUSH 0x231
PUSH EAX
CALL 0x0008b620
LEA EAX,[EBX + 0xfff12338]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xfff0726d]
PUSH 0x5c
PUSH EAX
CALL 0x0008b620
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm2 FUN_00062070(int param_1,undefined4 param_2,undefined4 *param_3,undefined4 param_4)\n\n{\n  byte *pbVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char cVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  char local_55;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  uint local_44;\n  int local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  uint local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x6207b;\n  if ((*(byte *)(param_3 + 10) & 0xf) == 10) {\n    if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }\nLAB_00062097:\n  *(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40;\n  iVar2 = *(int *)(param_1 + 0x2c);\n  iVar7 = *(int *)(param_1 + 0x3c);\n  FUN_000f5a50(&local_38,param_3,7,iVar7,param_4,0,0,0);\n  local_20 = 0;\n  puVar3 = *(undefined4 **)(iVar2 + 0x38);\n  if (puVar3 == *(undefined4 **)(iVar2 + 0x3c)) {\n    FUN_00073560(iVar2 + 0x34,puVar3,&local_38);\n    puVar8 = *(undefined4 **)(iVar2 + 0x38);\n  }\n  else {\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }\n  iVar5 = (int)puVar8 - *(int *)(iVar2 + 0x34) >> 2;\n  iVar6 = iVar5 * -0x6db6db6c;\n  if ((*(byte *)(iVar2 + 0x1c) & 2) != 0) {\nLAB_00062359:\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);\n  }\n  *(int *)(iVar2 + 0xc) = iVar6;\n  *(undefined4 *)(iVar2 + 0x10) = 0;\n  pbVar1 = (byte *)(iVar7 + 0x1c);\n  *pbVar1 = *pbVar1 | 0x10;\n  local_50 = local_34;\n  local_40 = local_24;\n  if ((local_28 & 0x10000000) != 0) {\n    *(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;\n  }\njoined_r0x0006230d:\n  if ((local_40 != -4) && (local_50 != 0)) {\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }\n  return;\n}\n\n" comment (function_definition "void __regparm2 FUN_00062070(int param_1,undefined4 param_2,undefined4 *param_3,undefined4 param_4)\n\n{\n  byte *pbVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char cVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  char local_55;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  uint local_44;\n  int local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  uint local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x6207b;\n  if ((*(byte *)(param_3 + 10) & 0xf) == 10) {\n    if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }\nLAB_00062097:\n  *(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40;\n  iVar2 = *(int *)(param_1 + 0x2c);\n  iVar7 = *(int *)(param_1 + 0x3c);\n  FUN_000f5a50(&local_38,param_3,7,iVar7,param_4,0,0,0);\n  local_20 = 0;\n  puVar3 = *(undefined4 **)(iVar2 + 0x38);\n  if (puVar3 == *(undefined4 **)(iVar2 + 0x3c)) {\n    FUN_00073560(iVar2 + 0x34,puVar3,&local_38);\n    puVar8 = *(undefined4 **)(iVar2 + 0x38);\n  }\n  else {\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }\n  iVar5 = (int)puVar8 - *(int *)(iVar2 + 0x34) >> 2;\n  iVar6 = iVar5 * -0x6db6db6c;\n  if ((*(byte *)(iVar2 + 0x1c) & 2) != 0) {\nLAB_00062359:\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);\n  }\n  *(int *)(iVar2 + 0xc) = iVar6;\n  *(undefined4 *)(iVar2 + 0x10) = 0;\n  pbVar1 = (byte *)(iVar7 + 0x1c);\n  *pbVar1 = *pbVar1 | 0x10;\n  local_50 = local_34;\n  local_40 = local_24;\n  if ((local_28 & 0x10000000) != 0) {\n    *(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;\n  }\njoined_r0x0006230d:\n  if ((local_40 != -4) && (local_50 != 0)) {\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }\n  return;\n}" primitive_type (ERROR "__regparm2" identifier) (function_declarator "FUN_00062070(int param_1,undefined4 param_2,undefined4 *param_3,undefined4 param_4)" identifier (parameter_list "(int param_1,undefined4 param_2,undefined4 *param_3,undefined4 param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  byte *pbVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char cVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  char local_55;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  uint local_44;\n  int local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  uint local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x6207b;\n  if ((*(byte *)(param_3 + 10) & 0xf) == 10) {\n    if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }\nLAB_00062097:\n  *(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40;\n  iVar2 = *(int *)(param_1 + 0x2c);\n  iVar7 = *(int *)(param_1 + 0x3c);\n  FUN_000f5a50(&local_38,param_3,7,iVar7,param_4,0,0,0);\n  local_20 = 0;\n  puVar3 = *(undefined4 **)(iVar2 + 0x38);\n  if (puVar3 == *(undefined4 **)(iVar2 + 0x3c)) {\n    FUN_00073560(iVar2 + 0x34,puVar3,&local_38);\n    puVar8 = *(undefined4 **)(iVar2 + 0x38);\n  }\n  else {\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }\n  iVar5 = (int)puVar8 - *(int *)(iVar2 + 0x34) >> 2;\n  iVar6 = iVar5 * -0x6db6db6c;\n  if ((*(byte *)(iVar2 + 0x1c) & 2) != 0) {\nLAB_00062359:\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);\n  }\n  *(int *)(iVar2 + 0xc) = iVar6;\n  *(undefined4 *)(iVar2 + 0x10) = 0;\n  pbVar1 = (byte *)(iVar7 + 0x1c);\n  *pbVar1 = *pbVar1 | 0x10;\n  local_50 = local_34;\n  local_40 = local_24;\n  if ((local_28 & 0x10000000) != 0) {\n    *(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;\n  }\njoined_r0x0006230d:\n  if ((local_40 != -4) && (local_50 != 0)) {\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }\n  return;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "char local_55;" primitive_type identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x6207b;" (assignment_expression "uStack_14 = 0x6207b" identifier = number_literal) ;) (if_statement "if ((*(byte *)(param_3 + 10) & 0xf) == 10) {\n    if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }" if (parenthesized_expression "((*(byte *)(param_3 + 10) & 0xf) == 10)" ( (binary_expression "(*(byte *)(param_3 + 10) & 0xf) == 10" (parenthesized_expression "(*(byte *)(param_3 + 10) & 0xf)" ( (binary_expression "*(byte *)(param_3 + 10) & 0xf" (pointer_expression "*(byte *)(param_3 + 10)" * (cast_expression "(byte *)(param_3 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 10)" ( (binary_expression "param_3 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }" { (if_statement "if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }" if (parenthesized_expression "((*(byte *)((int)param_3 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)param_3 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)param_3 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)param_3 + 0x2a) & 7" (pointer_expression "*(byte *)((int)param_3 + 0x2a)" * (cast_expression "(byte *)((int)param_3 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + 0x2a)" ( (binary_expression "(int)param_3 + 0x2a" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }" { (if_statement "if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;" if (parenthesized_expression "(((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0))))" ( (binary_expression "((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))" (parenthesized_expression "((*(byte *)(param_3[2] + 0x2c) & 1) == 0)" ( (binary_expression "(*(byte *)(param_3[2] + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_3[2] + 0x2c) & 1)" ( (binary_expression "*(byte *)(param_3[2] + 0x2c) & 1" (pointer_expression "*(byte *)(param_3[2] + 0x2c)" * (cast_expression "(byte *)(param_3[2] + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3[2] + 0x2c)" ( (binary_expression "param_3[2] + 0x2c" (subscript_expression "param_3[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))" ( (parenthesized_expression "(param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0))" ( (binary_expression "param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)" (binary_expression "param_3[3] != 0" (subscript_expression "param_3[3]" identifier [ number_literal ]) != number_literal) || (parenthesized_expression "((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)param_3 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)param_3 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)param_3 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)param_3 + 0x2b)" * (cast_expression "(byte *)((int)param_3 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + 0x2b)" ( (binary_expression "(int)param_3 + 0x2b" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_000621b8;" goto statement_identifier ;)) }) (else_clause "else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }" else (if_statement "if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }" if (parenthesized_expression "((*(byte *)((int)param_3 + 0x2a) & 7) != 4)" ( (binary_expression "(*(byte *)((int)param_3 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)param_3 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)param_3 + 0x2a) & 7" (pointer_expression "*(byte *)((int)param_3 + 0x2a)" * (cast_expression "(byte *)((int)param_3 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + 0x2a)" ( (binary_expression "(int)param_3 + 0x2a" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }" { (labeled_statement "LAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }" statement_identifier : (if_statement "if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }" if (parenthesized_expression "(((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0))" ( (binary_expression "((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)" (parenthesized_expression "((*(byte *)((int)param_3 + 0x29) & 3) == 0)" ( (binary_expression "(*(byte *)((int)param_3 + 0x29) & 3) == 0" (parenthesized_expression "(*(byte *)((int)param_3 + 0x29) & 3)" ( (binary_expression "*(byte *)((int)param_3 + 0x29) & 3" (pointer_expression "*(byte *)((int)param_3 + 0x29)" * (cast_expression "(byte *)((int)param_3 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + 0x29)" ( (binary_expression "(int)param_3 + 0x29" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)param_3 + 0x2b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)param_3 + 0x2b) & 0x10)" ( (binary_expression "*(byte *)((int)param_3 + 0x2b) & 0x10" (pointer_expression "*(byte *)((int)param_3 + 0x2b)" * (cast_expression "(byte *)((int)param_3 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + 0x2b)" ( (binary_expression "(int)param_3 + 0x2b" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }" { (expression_statement "iVar2 = *(int *)(DAT_0033f2f0 + 8);" (assignment_expression "iVar2 = *(int *)(DAT_0033f2f0 + 8)" identifier = (pointer_expression "*(int *)(DAT_0033f2f0 + 8)" * (cast_expression "(int *)(DAT_0033f2f0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0033f2f0 + 8)" ( (binary_expression "DAT_0033f2f0 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }" { (labeled_statement "LAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);" statement_identifier : comment (expression_statement "FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);" (call_expression "FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2)" identifier (argument_list "("../../gold/parameters.h",0x5c,"options",param_2)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") , identifier ))) ;)) })) (if_statement "if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }" if (parenthesized_expression "(*(char *)(iVar2 + 0x1a25) != '\0')" ( (binary_expression "*(char *)(iVar2 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar2 + 0x1a25)" * (cast_expression "(char *)(iVar2 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1a25)" ( (binary_expression "iVar2 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }" { (expression_statement "cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);" (assignment_expression "cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55)" identifier = (call_expression "FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55)" identifier (argument_list "(iVar2 + 0x59a8,*param_3,0,&local_55)" ( (binary_expression "iVar2 + 0x59a8" identifier + number_literal) , (pointer_expression "*param_3" * identifier) , number_literal , (pointer_expression "&local_55" & identifier) )))) ;) (if_statement "if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }" if (parenthesized_expression "((cVar4 == '\0') || (local_55 != '\0'))" ( (binary_expression "(cVar4 == '\0') || (local_55 != '\0')" (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(local_55 != '\0')" ( (binary_expression "local_55 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }" { (expression_statement "iVar2 = *(int *)(DAT_0033f2f0 + 8);" (assignment_expression "iVar2 = *(int *)(DAT_0033f2f0 + 8)" identifier = (pointer_expression "*(int *)(DAT_0033f2f0 + 8)" * (cast_expression "(int *)(DAT_0033f2f0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0033f2f0 + 8)" ( (binary_expression "DAT_0033f2f0 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) goto LAB_00062372;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00062372;" goto statement_identifier ;)) (if_statement "if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;" if (parenthesized_expression "((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))" ( (binary_expression "(*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0')))" (parenthesized_expression "(*(char *)(iVar2 + 0x825) != '\0')" ( (binary_expression "*(char *)(iVar2 + 0x825) != '\0'" (pointer_expression "*(char *)(iVar2 + 0x825)" * (cast_expression "(char *)(iVar2 + 0x825)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x825)" ( (binary_expression "iVar2 + 0x825" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0')))" ( (parenthesized_expression "((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))" ( (binary_expression "(*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0')" (binary_expression "(*(byte *)(param_3 + 10) & 0xf) != 1" (parenthesized_expression "(*(byte *)(param_3 + 10) & 0xf)" ( (binary_expression "*(byte *)(param_3 + 10) & 0xf" (pointer_expression "*(byte *)(param_3 + 10)" * (cast_expression "(byte *)(param_3 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 10)" ( (binary_expression "param_3 + 10" identifier + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "(*(char *)(iVar2 + 0x8a1) != '\0')" ( (binary_expression "*(char *)(iVar2 + 0x8a1) != '\0'" (pointer_expression "*(char *)(iVar2 + 0x8a1)" * (cast_expression "(char *)(iVar2 + 0x8a1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x8a1)" ( (binary_expression "iVar2 + 0x8a1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (goto_statement "goto LAB_00062260;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00062097;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00062260:\n      iVar7 = FUN_0005eb10();" statement_identifier : (expression_statement "iVar7 = FUN_0005eb10();" (assignment_expression "iVar7 = FUN_0005eb10()" identifier = (call_expression "FUN_0005eb10()" identifier (argument_list "()" ( )))) ;)) (expression_statement "iVar2 = *(int *)(param_1 + 0x40);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x40)" identifier = (pointer_expression "*(int *)(param_1 + 0x40)" * (cast_expression "(int *)(param_1 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);" (call_expression "FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0)" identifier (argument_list "(&local_54,param_3,0x25,iVar2,param_4,0,1,0)" ( (pointer_expression "&local_54" & identifier) , identifier , number_literal , identifier , identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "puVar3 = *(undefined4 **)(iVar7 + 0x38);" (assignment_expression "puVar3 = *(undefined4 **)(iVar7 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(iVar7 + 0x38)" * (cast_expression "(undefined4 **)(iVar7 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }" if (parenthesized_expression "(puVar3 == *(undefined4 **)(iVar7 + 0x3c))" ( (binary_expression "puVar3 == *(undefined4 **)(iVar7 + 0x3c)" identifier == (pointer_expression "*(undefined4 **)(iVar7 + 0x3c)" * (cast_expression "(undefined4 **)(iVar7 + 0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x3c)" ( (binary_expression "iVar7 + 0x3c" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }" { (expression_statement "FUN_00073560(iVar7 + 0x34,puVar3,&local_54);" (call_expression "FUN_00073560(iVar7 + 0x34,puVar3,&local_54)" identifier (argument_list "(iVar7 + 0x34,puVar3,&local_54)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) , identifier , (pointer_expression "&local_54" & identifier) ))) ;) (expression_statement "puVar8 = *(undefined4 **)(iVar7 + 0x38);" (assignment_expression "puVar8 = *(undefined4 **)(iVar7 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(iVar7 + 0x38)" * (cast_expression "(undefined4 **)(iVar7 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }" else (compound_statement "{\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }" { (expression_statement "puVar8 = puVar3 + 7;" (assignment_expression "puVar8 = puVar3 + 7" identifier = (binary_expression "puVar3 + 7" identifier + number_literal)) ;) (expression_statement "*puVar3 = local_54;" (assignment_expression "*puVar3 = local_54" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "puVar3[1] = local_50;" (assignment_expression "puVar3[1] = local_50" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[2] = local_4c;" (assignment_expression "puVar3[2] = local_4c" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[3] = local_48;" (assignment_expression "puVar3[3] = local_48" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[4] = local_44;" (assignment_expression "puVar3[4] = local_44" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[5] = local_40;" (assignment_expression "puVar3[5] = local_40" (subscript_expression "puVar3[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[6] = 0;" (assignment_expression "puVar3[6] = 0" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 **)(iVar7 + 0x38) = puVar8;" (assignment_expression "*(undefined4 **)(iVar7 + 0x38) = puVar8" (pointer_expression "*(undefined4 **)(iVar7 + 0x38)" * (cast_expression "(undefined4 **)(iVar7 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;" (assignment_expression "iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2" identifier = (binary_expression "(int)puVar8 - *(int *)(iVar7 + 0x34) >> 2" (binary_expression "(int)puVar8 - *(int *)(iVar7 + 0x34)" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(iVar7 + 0x34)" * (cast_expression "(int *)(iVar7 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) ))))) >> number_literal)) ;) (expression_statement "iVar6 = iVar5 * -0x6db6db6c;" (assignment_expression "iVar6 = iVar5 * -0x6db6db6c" identifier = (binary_expression "iVar5 * -0x6db6db6c" identifier * number_literal)) ;) (if_statement "if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;" if (parenthesized_expression "((*(byte *)(iVar7 + 0x1c) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar7 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar7 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar7 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar7 + 0x1c)" * (cast_expression "(byte *)(iVar7 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00062359;" goto statement_identifier ;)) (expression_statement "*(int *)(iVar7 + 0xc) = iVar6;" (assignment_expression "*(int *)(iVar7 + 0xc) = iVar6" (pointer_expression "*(int *)(iVar7 + 0xc)" * (cast_expression "(int *)(iVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 0x10)" * (cast_expression "(undefined4 *)(iVar7 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pbVar1 = (byte *)(iVar2 + 0x1c);" (assignment_expression "pbVar1 = (byte *)(iVar2 + 0x1c)" identifier = (cast_expression "(byte *)(iVar2 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) ;) (expression_statement "*pbVar1 = *pbVar1 | 0x10;" (assignment_expression "*pbVar1 = *pbVar1 | 0x10" (pointer_expression "*pbVar1" * identifier) = (binary_expression "*pbVar1 | 0x10" (pointer_expression "*pbVar1" * identifier) | number_literal)) ;) (if_statement "if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }" if (parenthesized_expression "((local_44 & 0x10000000) != 0)" ( (binary_expression "(local_44 & 0x10000000) != 0" (parenthesized_expression "(local_44 & 0x10000000)" ( (binary_expression "local_44 & 0x10000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }" { (expression_statement "*(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;" (assignment_expression "*(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1" (pointer_expression "*(int *)(iVar7 + 0x2c)" * (cast_expression "(int *)(iVar7 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2c)" ( (binary_expression "iVar7 + 0x2c" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar7 + 0x2c) + 1" (pointer_expression "*(int *)(iVar7 + 0x2c)" * (cast_expression "(int *)(iVar7 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2c)" ( (binary_expression "iVar7 + 0x2c" identifier + number_literal) )))) + number_literal)) ;) })) (goto_statement "goto joined_r0x0006230d;" goto statement_identifier ;) })))) })) (labeled_statement "LAB_00062097:\n  *(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40;" statement_identifier : (expression_statement "*(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40;" (assignment_expression "*(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40" (pointer_expression "*(byte *)((int)param_3 + 0x2a)" * (cast_expression "(byte *)((int)param_3 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + 0x2a)" ( (binary_expression "(int)param_3 + 0x2a" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)param_3 + 0x2a) | 0x40" (pointer_expression "*(byte *)((int)param_3 + 0x2a)" * (cast_expression "(byte *)((int)param_3 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + 0x2a)" ( (binary_expression "(int)param_3 + 0x2a" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;)) (expression_statement "iVar2 = *(int *)(param_1 + 0x2c);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x2c)" identifier = (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(param_1 + 0x3c);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x3c)" identifier = (pointer_expression "*(int *)(param_1 + 0x3c)" * (cast_expression "(int *)(param_1 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "FUN_000f5a50(&local_38,param_3,7,iVar7,param_4,0,0,0);" (call_expression "FUN_000f5a50(&local_38,param_3,7,iVar7,param_4,0,0,0)" identifier (argument_list "(&local_38,param_3,7,iVar7,param_4,0,0,0)" ( (pointer_expression "&local_38" & identifier) , identifier , number_literal , identifier , identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "puVar3 = *(undefined4 **)(iVar2 + 0x38);" (assignment_expression "puVar3 = *(undefined4 **)(iVar2 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(iVar2 + 0x38)" * (cast_expression "(undefined4 **)(iVar2 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x38)" ( (binary_expression "iVar2 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 == *(undefined4 **)(iVar2 + 0x3c)) {\n    FUN_00073560(iVar2 + 0x34,puVar3,&local_38);\n    puVar8 = *(undefined4 **)(iVar2 + 0x38);\n  }\n  else {\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }" if (parenthesized_expression "(puVar3 == *(undefined4 **)(iVar2 + 0x3c))" ( (binary_expression "puVar3 == *(undefined4 **)(iVar2 + 0x3c)" identifier == (pointer_expression "*(undefined4 **)(iVar2 + 0x3c)" * (cast_expression "(undefined4 **)(iVar2 + 0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x3c)" ( (binary_expression "iVar2 + 0x3c" identifier + number_literal) ))))) )) (compound_statement "{\n    FUN_00073560(iVar2 + 0x34,puVar3,&local_38);\n    puVar8 = *(undefined4 **)(iVar2 + 0x38);\n  }" { (expression_statement "FUN_00073560(iVar2 + 0x34,puVar3,&local_38);" (call_expression "FUN_00073560(iVar2 + 0x34,puVar3,&local_38)" identifier (argument_list "(iVar2 + 0x34,puVar3,&local_38)" ( (binary_expression "iVar2 + 0x34" identifier + number_literal) , identifier , (pointer_expression "&local_38" & identifier) ))) ;) (expression_statement "puVar8 = *(undefined4 **)(iVar2 + 0x38);" (assignment_expression "puVar8 = *(undefined4 **)(iVar2 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(iVar2 + 0x38)" * (cast_expression "(undefined4 **)(iVar2 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x38)" ( (binary_expression "iVar2 + 0x38" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }" else (compound_statement "{\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }" { (expression_statement "puVar8 = puVar3 + 7;" (assignment_expression "puVar8 = puVar3 + 7" identifier = (binary_expression "puVar3 + 7" identifier + number_literal)) ;) (expression_statement "*puVar3 = local_38;" (assignment_expression "*puVar3 = local_38" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "puVar3[1] = local_34;" (assignment_expression "puVar3[1] = local_34" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[2] = local_30;" (assignment_expression "puVar3[2] = local_30" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[3] = local_2c;" (assignment_expression "puVar3[3] = local_2c" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[4] = local_28;" (assignment_expression "puVar3[4] = local_28" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[5] = local_24;" (assignment_expression "puVar3[5] = local_24" (subscript_expression "puVar3[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[6] = 0;" (assignment_expression "puVar3[6] = 0" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 **)(iVar2 + 0x38) = puVar8;" (assignment_expression "*(undefined4 **)(iVar2 + 0x38) = puVar8" (pointer_expression "*(undefined4 **)(iVar2 + 0x38)" * (cast_expression "(undefined4 **)(iVar2 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x38)" ( (binary_expression "iVar2 + 0x38" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "iVar5 = (int)puVar8 - *(int *)(iVar2 + 0x34) >> 2;" (assignment_expression "iVar5 = (int)puVar8 - *(int *)(iVar2 + 0x34) >> 2" identifier = (binary_expression "(int)puVar8 - *(int *)(iVar2 + 0x34) >> 2" (binary_expression "(int)puVar8 - *(int *)(iVar2 + 0x34)" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(iVar2 + 0x34)" * (cast_expression "(int *)(iVar2 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x34)" ( (binary_expression "iVar2 + 0x34" identifier + number_literal) ))))) >> number_literal)) ;) (expression_statement "iVar6 = iVar5 * -0x6db6db6c;" (assignment_expression "iVar6 = iVar5 * -0x6db6db6c" identifier = (binary_expression "iVar5 * -0x6db6db6c" identifier * number_literal)) ;) (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 2) != 0) {\nLAB_00062359:\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);\n  }" if (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar2 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar2 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar2 + 0x1c)" * (cast_expression "(byte *)(iVar2 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00062359:\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);\n  }" { (labeled_statement "LAB_00062359:\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);" statement_identifier : comment (expression_statement "FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);" (call_expression "FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6)" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") , identifier ))) ;)) })) (expression_statement "*(int *)(iVar2 + 0xc) = iVar6;" (assignment_expression "*(int *)(iVar2 + 0xc) = iVar6" (pointer_expression "*(int *)(iVar2 + 0xc)" * (cast_expression "(int *)(iVar2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" * (cast_expression "(undefined4 *)(iVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pbVar1 = (byte *)(iVar7 + 0x1c);" (assignment_expression "pbVar1 = (byte *)(iVar7 + 0x1c)" identifier = (cast_expression "(byte *)(iVar7 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) ;) (expression_statement "*pbVar1 = *pbVar1 | 0x10;" (assignment_expression "*pbVar1 = *pbVar1 | 0x10" (pointer_expression "*pbVar1" * identifier) = (binary_expression "*pbVar1 | 0x10" (pointer_expression "*pbVar1" * identifier) | number_literal)) ;) (expression_statement "local_50 = local_34;" (assignment_expression "local_50 = local_34" identifier = identifier) ;) (expression_statement "local_40 = local_24;" (assignment_expression "local_40 = local_24" identifier = identifier) ;) (if_statement "if ((local_28 & 0x10000000) != 0) {\n    *(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;\n  }" if (parenthesized_expression "((local_28 & 0x10000000) != 0)" ( (binary_expression "(local_28 & 0x10000000) != 0" (parenthesized_expression "(local_28 & 0x10000000)" ( (binary_expression "local_28 & 0x10000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    *(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;\n  }" { (expression_statement "*(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;" (assignment_expression "*(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1" (pointer_expression "*(int *)(iVar2 + 0x2c)" * (cast_expression "(int *)(iVar2 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2c)" ( (binary_expression "iVar2 + 0x2c" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar2 + 0x2c) + 1" (pointer_expression "*(int *)(iVar2 + 0x2c)" * (cast_expression "(int *)(iVar2 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2c)" ( (binary_expression "iVar2 + 0x2c" identifier + number_literal) )))) + number_literal)) ;) })) (labeled_statement "joined_r0x0006230d:\n  if ((local_40 != -4) && (local_50 != 0)) {\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }" statement_identifier : (if_statement "if ((local_40 != -4) && (local_50 != 0)) {\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }" if (parenthesized_expression "((local_40 != -4) && (local_50 != 0))" ( (binary_expression "(local_40 != -4) && (local_50 != 0)" (parenthesized_expression "(local_40 != -4)" ( (binary_expression "local_40 != -4" identifier != number_literal) )) && (parenthesized_expression "(local_50 != 0)" ( (binary_expression "local_50 != 0" identifier != number_literal) ))) )) (compound_statement "{\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }" { (if_statement "if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }" if (parenthesized_expression "(*(int *)(local_50 + 100) == 0)" ( (binary_expression "*(int *)(local_50 + 100) == 0" (pointer_expression "*(int *)(local_50 + 100)" * (cast_expression "(int *)(local_50 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_50 + 100)" ( (binary_expression "local_50 + 100" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }" { (expression_statement "*(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;" (assignment_expression "*(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1" (pointer_expression "*(int *)(local_50 + 0x60)" * (cast_expression "(int *)(local_50 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_50 + 0x60)" ( (binary_expression "local_50 + 0x60" identifier + number_literal) )))) = (binary_expression "iVar5 * -0x49249249 + -1" (binary_expression "iVar5 * -0x49249249" identifier * number_literal) + number_literal)) ;) })) (expression_statement "*(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;" (assignment_expression "*(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1" (pointer_expression "*(int *)(local_50 + 100)" * (cast_expression "(int *)(local_50 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_50 + 100)" ( (binary_expression "local_50 + 100" identifier + number_literal) )))) = (binary_expression "*(int *)(local_50 + 100) + 1" (pointer_expression "*(int *)(local_50 + 100)" * (cast_expression "(int *)(local_50 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_50 + 100)" ( (binary_expression "local_50 + 100" identifier + number_literal) )))) + number_literal)) ;) }))) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: void add_relocation(Output_data_plt_x86_64<32> * this, Symbol_table *\n   symtab, Layout * layout, Symbol * gsym, uint got_offset) */\n\nvoid __thiscall\nanon_unknown.dwarf_32964f::Output_data_plt_x86_64<32>::add_relocation\n          (Output_data_plt_x86_64<32> *this,Symbol_table *symtab,Layout *layout,Symbol *gsym,\n          uint got_offset)\n\n{\n  undefined1 *puVar1;\n  size_t *psVar2;\n  int iVar3;\n  Output_data *pOVar4;\n  iterator iVar5;\n  uint uVar6;\n  General_options *pGVar7;\n  bool bVar8;\n  int in_EAX;\n  int iVar9;\n  Reloc_section *pRVar10;\n  Output_reloc<4,_true,_32,_false> *pOVar11;\n  Output_data_plt_x86_64<32> *in_stack_ffffff94;\n  Symbol_table *in_stack_ffffff98;\n  General_options *in_stack_ffffff9c;\n  bool is_global;\n  anon_union_4_4_c82d8563_for_u1_ local_54;\n  Sized_relobj<32,_false> *local_50;\n  Address local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  undefined4 local_3c;\n  anon_union_4_4_c82d8563_for_u1_ local_38;\n  Sized_relobj<32,_false> *local_34;\n  Address local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x6207b;\n  if ((this->field_0x28 & 0xf) == 10) {\n    if ((this->field_0x2a & 7) == 0) {\n      if (((*(byte *)(*(int *)&this->field_0x8 + 0x2c) & 1) == 0) &&\n         ((*(int *)&this->field_0xc != 0 || ((this->field_0x2b & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((this->field_0x2a & 7) != 4) {\nLAB_000621b8:\n      if (((this->field_0x29 & 3) == 0) && ((this->field_0x2b & 0x10) == 0)) {\n        pGVar7 = gold::parameters->options_;\n        if (pGVar7 == (General_options *)0x0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar7->shared_).value != false) {\n          bVar8 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);\n          if ((!bVar8) || (is_global != false)) {\n            in_stack_ffffff9c = gold::parameters->options_;\n            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;\n            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      pRVar10 = rela_irelative(in_stack_ffffff94,in_stack_ffffff98,(Layout *)in_stack_ffffff9c);\n      pOVar4 = *(Output_data **)(in_EAX + 0x40);\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false);\n      local_3c = 0;\n      iVar5._M_current =\n           (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n           ._M_impl._M_finish;\n      if (iVar5._M_current ==\n          (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54);\n        pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                  ._M_impl._M_finish;\n      }\n      else {\n        pOVar11 = iVar5._M_current + 1;\n        ((iVar5._M_current)->rel_).u1_ = local_54;\n        ((iVar5._M_current)->rel_).u2_.relobj = local_50;\n        ((iVar5._M_current)->rel_).address_ = local_4c;\n        ((iVar5._M_current)->rel_).local_sym_index_ = local_48;\n        *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_44;\n        ((iVar5._M_current)->rel_).shndx_ = local_40;\n        (iVar5._M_current)->addend_ = 0;\n        (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar11;\n      }\n      iVar9 = (int)pOVar11 -\n              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                   ._M_impl._M_start >> 2;\n      if (((pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data\n           .super_Output_data.field_0x1c & 2) != 0) goto LAB_00062359;\n      *(int *)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.data_size_ = iVar9 * -0x6db6db6c;\n      *(undefined4 *)\n       ((int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_ + 4) = 0;\n      puVar1 = &pOVar4->field_0x1c;\n      *puVar1 = *puVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        psVar2 = &(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar2 = *psVar2 + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }\nLAB_00062097:\n  this->field_0x2a = this->field_0x2a | 0x40;\n  iVar3 = *(int *)(in_EAX + 0x2c);\n  pOVar4 = *(Output_data **)(in_EAX + 0x3c);\n  gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_38,(Symbol *)this,7,pOVar4,(Address)symtab,\n             false,false,false);\n  local_20 = 0;\n  iVar5._M_current = *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38);\n  if (iVar5._M_current == *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x3c)) {\n    std::\n    vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n    ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n              ((vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                *)(iVar3 + 0x34),iVar5,(Output_reloc<4,_true,_32,_false> *)&local_38);\n    pOVar11 = *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38);\n  }\n  else {\n    pOVar11 = iVar5._M_current + 1;\n    ((iVar5._M_current)->rel_).u1_ = local_38;\n    ((iVar5._M_current)->rel_).u2_.relobj = local_34;\n    ((iVar5._M_current)->rel_).address_ = local_30;\n    ((iVar5._M_current)->rel_).local_sym_index_ = local_2c;\n    *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_28;\n    ((iVar5._M_current)->rel_).shndx_ = local_24;\n    (iVar5._M_current)->addend_ = 0;\n    *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38) = pOVar11;\n  }\n  iVar9 = (int)pOVar11 - *(int *)(iVar3 + 0x34) >> 2;\n  if ((*(byte *)(iVar3 + 0x1c) & 2) != 0) {\nLAB_00062359:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }\n  *(int *)(iVar3 + 0xc) = iVar9 * -0x6db6db6c;\n  *(undefined4 *)(iVar3 + 0x10) = 0;\n  puVar1 = &pOVar4->field_0x1c;\n  *puVar1 = *puVar1 | 0x10;\n  local_50 = local_34;\n  local_40 = local_24;\n  if ((local_28 & 0x10000000) != 0) {\n    *(int *)(iVar3 + 0x2c) = *(int *)(iVar3 + 0x2c) + 1;\n  }\njoined_r0x0006230d:\n  if ((local_40 != 0xfffffffc) && (local_50 != (Sized_relobj<32,_false> *)0x0)) {\n    uVar6 = (local_50->super_Relobj).dyn_reloc_count_;\n    if (uVar6 == 0) {\n      (local_50->super_Relobj).first_dyn_reloc_ = iVar9 * -0x49249249 - 1;\n    }\n    (local_50->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n  }\n  return;\n}\n\n" comment comment comment comment comment (function_definition "void __thiscall\nanon_unknown.dwarf_32964f::Output_data_plt_x86_64<32>::add_relocation\n          (Output_data_plt_x86_64<32> *this,Symbol_table *symtab,Layout *layout,Symbol *gsym,\n          uint got_offset)\n\n{\n  undefined1 *puVar1;\n  size_t *psVar2;\n  int iVar3;\n  Output_data *pOVar4;\n  iterator iVar5;\n  uint uVar6;\n  General_options *pGVar7;\n  bool bVar8;\n  int in_EAX;\n  int iVar9;\n  Reloc_section *pRVar10;\n  Output_reloc<4,_true,_32,_false> *pOVar11;\n  Output_data_plt_x86_64<32> *in_stack_ffffff94;\n  Symbol_table *in_stack_ffffff98;\n  General_options *in_stack_ffffff9c;\n  bool is_global;\n  anon_union_4_4_c82d8563_for_u1_ local_54;\n  Sized_relobj<32,_false> *local_50;\n  Address local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  undefined4 local_3c;\n  anon_union_4_4_c82d8563_for_u1_ local_38;\n  Sized_relobj<32,_false> *local_34;\n  Address local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x6207b;\n  if ((this->field_0x28 & 0xf) == 10) {\n    if ((this->field_0x2a & 7) == 0) {\n      if (((*(byte *)(*(int *)&this->field_0x8 + 0x2c) & 1) == 0) &&\n         ((*(int *)&this->field_0xc != 0 || ((this->field_0x2b & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((this->field_0x2a & 7) != 4) {\nLAB_000621b8:\n      if (((this->field_0x29 & 3) == 0) && ((this->field_0x2b & 0x10) == 0)) {\n        pGVar7 = gold::parameters->options_;\n        if (pGVar7 == (General_options *)0x0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar7->shared_).value != false) {\n          bVar8 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);\n          if ((!bVar8) || (is_global != false)) {\n            in_stack_ffffff9c = gold::parameters->options_;\n            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;\n            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      pRVar10 = rela_irelative(in_stack_ffffff94,in_stack_ffffff98,(Layout *)in_stack_ffffff9c);\n      pOVar4 = *(Output_data **)(in_EAX + 0x40);\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false);\n      local_3c = 0;\n      iVar5._M_current =\n           (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n           ._M_impl._M_finish;\n      if (iVar5._M_current ==\n          (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54);\n        pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                  ._M_impl._M_finish;\n      }\n      else {\n        pOVar11 = iVar5._M_current + 1;\n        ((iVar5._M_current)->rel_).u1_ = local_54;\n        ((iVar5._M_current)->rel_).u2_.relobj = local_50;\n        ((iVar5._M_current)->rel_).address_ = local_4c;\n        ((iVar5._M_current)->rel_).local_sym_index_ = local_48;\n        *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_44;\n        ((iVar5._M_current)->rel_).shndx_ = local_40;\n        (iVar5._M_current)->addend_ = 0;\n        (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar11;\n      }\n      iVar9 = (int)pOVar11 -\n              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                   ._M_impl._M_start >> 2;\n      if (((pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data\n           .super_Output_data.field_0x1c & 2) != 0) goto LAB_00062359;\n      *(int *)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.data_size_ = iVar9 * -0x6db6db6c;\n      *(undefined4 *)\n       ((int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_ + 4) = 0;\n      puVar1 = &pOVar4->field_0x1c;\n      *puVar1 = *puVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        psVar2 = &(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar2 = *psVar2 + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }\nLAB_00062097:\n  this->field_0x2a = this->field_0x2a | 0x40;\n  iVar3 = *(int *)(in_EAX + 0x2c);\n  pOVar4 = *(Output_data **)(in_EAX + 0x3c);\n  gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_38,(Symbol *)this,7,pOVar4,(Address)symtab,\n             false,false,false);\n  local_20 = 0;\n  iVar5._M_current = *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38);\n  if (iVar5._M_current == *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x3c)) {\n    std::\n    vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n    ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n              ((vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                *)(iVar3 + 0x34),iVar5,(Output_reloc<4,_true,_32,_false> *)&local_38);\n    pOVar11 = *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38);\n  }\n  else {\n    pOVar11 = iVar5._M_current + 1;\n    ((iVar5._M_current)->rel_).u1_ = local_38;\n    ((iVar5._M_current)->rel_).u2_.relobj = local_34;\n    ((iVar5._M_current)->rel_).address_ = local_30;\n    ((iVar5._M_current)->rel_).local_sym_index_ = local_2c;\n    *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_28;\n    ((iVar5._M_current)->rel_).shndx_ = local_24;\n    (iVar5._M_current)->addend_ = 0;\n    *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38) = pOVar11;\n  }\n  iVar9 = (int)pOVar11 - *(int *)(iVar3 + 0x34) >> 2;\n  if ((*(byte *)(iVar3 + 0x1c) & 2) != 0) {\nLAB_00062359:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }\n  *(int *)(iVar3 + 0xc) = iVar9 * -0x6db6db6c;\n  *(undefined4 *)(iVar3 + 0x10) = 0;\n  puVar1 = &pOVar4->field_0x1c;\n  *puVar1 = *puVar1 | 0x10;\n  local_50 = local_34;\n  local_40 = local_24;\n  if ((local_28 & 0x10000000) != 0) {\n    *(int *)(iVar3 + 0x2c) = *(int *)(iVar3 + 0x2c) + 1;\n  }\njoined_r0x0006230d:\n  if ((local_40 != 0xfffffffc) && (local_50 != (Sized_relobj<32,_false> *)0x0)) {\n    uVar6 = (local_50->super_Relobj).dyn_reloc_count_;\n    if (uVar6 == 0) {\n      (local_50->super_Relobj).first_dyn_reloc_ = iVar9 * -0x49249249 - 1;\n    }\n    (local_50->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_32964f::Output_data_plt_x86_64<32>::" identifier . identifier : : identifier < number_literal > : :) (function_declarator "add_relocation\n          (Output_data_plt_x86_64<32> *this,Symbol_table *symtab,Layout *layout,Symbol *gsym,\n          uint got_offset)" identifier (parameter_list "(Output_data_plt_x86_64<32> *this,Symbol_table *symtab,Layout *layout,Symbol *gsym,\n          uint got_offset)" ( (parameter_declaration "Output_data_plt_x86_64<32> *this" type_identifier (ERROR "<32>" < number_literal >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "Symbol *gsym" type_identifier (pointer_declarator "*gsym" * identifier)) , (parameter_declaration "uint got_offset" type_identifier identifier) ))) (compound_statement "{\n  undefined1 *puVar1;\n  size_t *psVar2;\n  int iVar3;\n  Output_data *pOVar4;\n  iterator iVar5;\n  uint uVar6;\n  General_options *pGVar7;\n  bool bVar8;\n  int in_EAX;\n  int iVar9;\n  Reloc_section *pRVar10;\n  Output_reloc<4,_true,_32,_false> *pOVar11;\n  Output_data_plt_x86_64<32> *in_stack_ffffff94;\n  Symbol_table *in_stack_ffffff98;\n  General_options *in_stack_ffffff9c;\n  bool is_global;\n  anon_union_4_4_c82d8563_for_u1_ local_54;\n  Sized_relobj<32,_false> *local_50;\n  Address local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  undefined4 local_3c;\n  anon_union_4_4_c82d8563_for_u1_ local_38;\n  Sized_relobj<32,_false> *local_34;\n  Address local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x6207b;\n  if ((this->field_0x28 & 0xf) == 10) {\n    if ((this->field_0x2a & 7) == 0) {\n      if (((*(byte *)(*(int *)&this->field_0x8 + 0x2c) & 1) == 0) &&\n         ((*(int *)&this->field_0xc != 0 || ((this->field_0x2b & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((this->field_0x2a & 7) != 4) {\nLAB_000621b8:\n      if (((this->field_0x29 & 3) == 0) && ((this->field_0x2b & 0x10) == 0)) {\n        pGVar7 = gold::parameters->options_;\n        if (pGVar7 == (General_options *)0x0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar7->shared_).value != false) {\n          bVar8 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);\n          if ((!bVar8) || (is_global != false)) {\n            in_stack_ffffff9c = gold::parameters->options_;\n            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;\n            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      pRVar10 = rela_irelative(in_stack_ffffff94,in_stack_ffffff98,(Layout *)in_stack_ffffff9c);\n      pOVar4 = *(Output_data **)(in_EAX + 0x40);\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false);\n      local_3c = 0;\n      iVar5._M_current =\n           (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n           ._M_impl._M_finish;\n      if (iVar5._M_current ==\n          (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54);\n        pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                  ._M_impl._M_finish;\n      }\n      else {\n        pOVar11 = iVar5._M_current + 1;\n        ((iVar5._M_current)->rel_).u1_ = local_54;\n        ((iVar5._M_current)->rel_).u2_.relobj = local_50;\n        ((iVar5._M_current)->rel_).address_ = local_4c;\n        ((iVar5._M_current)->rel_).local_sym_index_ = local_48;\n        *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_44;\n        ((iVar5._M_current)->rel_).shndx_ = local_40;\n        (iVar5._M_current)->addend_ = 0;\n        (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar11;\n      }\n      iVar9 = (int)pOVar11 -\n              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                   ._M_impl._M_start >> 2;\n      if (((pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data\n           .super_Output_data.field_0x1c & 2) != 0) goto LAB_00062359;\n      *(int *)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.data_size_ = iVar9 * -0x6db6db6c;\n      *(undefined4 *)\n       ((int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_ + 4) = 0;\n      puVar1 = &pOVar4->field_0x1c;\n      *puVar1 = *puVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        psVar2 = &(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar2 = *psVar2 + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }\nLAB_00062097:\n  this->field_0x2a = this->field_0x2a | 0x40;\n  iVar3 = *(int *)(in_EAX + 0x2c);\n  pOVar4 = *(Output_data **)(in_EAX + 0x3c);\n  gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_38,(Symbol *)this,7,pOVar4,(Address)symtab,\n             false,false,false);\n  local_20 = 0;\n  iVar5._M_current = *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38);\n  if (iVar5._M_current == *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x3c)) {\n    std::\n    vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n    ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n              ((vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                *)(iVar3 + 0x34),iVar5,(Output_reloc<4,_true,_32,_false> *)&local_38);\n    pOVar11 = *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38);\n  }\n  else {\n    pOVar11 = iVar5._M_current + 1;\n    ((iVar5._M_current)->rel_).u1_ = local_38;\n    ((iVar5._M_current)->rel_).u2_.relobj = local_34;\n    ((iVar5._M_current)->rel_).address_ = local_30;\n    ((iVar5._M_current)->rel_).local_sym_index_ = local_2c;\n    *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_28;\n    ((iVar5._M_current)->rel_).shndx_ = local_24;\n    (iVar5._M_current)->addend_ = 0;\n    *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38) = pOVar11;\n  }\n  iVar9 = (int)pOVar11 - *(int *)(iVar3 + 0x34) >> 2;\n  if ((*(byte *)(iVar3 + 0x1c) & 2) != 0) {\nLAB_00062359:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }\n  *(int *)(iVar3 + 0xc) = iVar9 * -0x6db6db6c;\n  *(undefined4 *)(iVar3 + 0x10) = 0;\n  puVar1 = &pOVar4->field_0x1c;\n  *puVar1 = *puVar1 | 0x10;\n  local_50 = local_34;\n  local_40 = local_24;\n  if ((local_28 & 0x10000000) != 0) {\n    *(int *)(iVar3 + 0x2c) = *(int *)(iVar3 + 0x2c) + 1;\n  }\njoined_r0x0006230d:\n  if ((local_40 != 0xfffffffc) && (local_50 != (Sized_relobj<32,_false> *)0x0)) {\n    uVar6 = (local_50->super_Relobj).dyn_reloc_count_;\n    if (uVar6 == 0) {\n      (local_50->super_Relobj).first_dyn_reloc_ = iVar9 * -0x49249249 - 1;\n    }\n    (local_50->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n  }\n  return;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "size_t *psVar2;" primitive_type (pointer_declarator "*psVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "Output_data *pOVar4;" type_identifier (pointer_declarator "*pOVar4" * identifier) ;) (declaration "iterator iVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "General_options *pGVar7;" type_identifier (pointer_declarator "*pGVar7" * identifier) ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "int in_EAX;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "Reloc_section *pRVar10;" type_identifier (pointer_declarator "*pRVar10" * identifier) ;) (expression_statement "Output_reloc<4,_true,_32,_false> *pOVar11;" (comma_expression "Output_reloc<4,_true,_32,_false> *pOVar11" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false> *pOVar11" identifier , (comma_expression "_32,_false> *pOVar11" identifier , (binary_expression "_false> *pOVar11" identifier > (pointer_expression "*pOVar11" * identifier))))) ;) (expression_statement "Output_data_plt_x86_64<32> *in_stack_ffffff94;" (binary_expression "Output_data_plt_x86_64<32> *in_stack_ffffff94" (binary_expression "Output_data_plt_x86_64<32" identifier < number_literal) > (pointer_expression "*in_stack_ffffff94" * identifier)) ;) (declaration "Symbol_table *in_stack_ffffff98;" type_identifier (pointer_declarator "*in_stack_ffffff98" * identifier) ;) (declaration "General_options *in_stack_ffffff9c;" type_identifier (pointer_declarator "*in_stack_ffffff9c" * identifier) ;) (declaration "bool is_global;" primitive_type identifier ;) (declaration "anon_union_4_4_c82d8563_for_u1_ local_54;" type_identifier identifier ;) (expression_statement "Sized_relobj<32,_false> *local_50;" (comma_expression "Sized_relobj<32,_false> *local_50" (binary_expression "Sized_relobj<32" identifier < number_literal) , (binary_expression "_false> *local_50" identifier > (pointer_expression "*local_50" * identifier))) ;) (declaration "Address local_4c;" type_identifier identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "anon_union_4_4_c82d8563_for_u1_ local_38;" type_identifier identifier ;) (expression_statement "Sized_relobj<32,_false> *local_34;" (comma_expression "Sized_relobj<32,_false> *local_34" (binary_expression "Sized_relobj<32" identifier < number_literal) , (binary_expression "_false> *local_34" identifier > (pointer_expression "*local_34" * identifier))) ;) (declaration "Address local_30;" type_identifier identifier ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x6207b;" (assignment_expression "uStack_14 = 0x6207b" identifier = number_literal) ;) (if_statement "if ((this->field_0x28 & 0xf) == 10) {\n    if ((this->field_0x2a & 7) == 0) {\n      if (((*(byte *)(*(int *)&this->field_0x8 + 0x2c) & 1) == 0) &&\n         ((*(int *)&this->field_0xc != 0 || ((this->field_0x2b & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((this->field_0x2a & 7) != 4) {\nLAB_000621b8:\n      if (((this->field_0x29 & 3) == 0) && ((this->field_0x2b & 0x10) == 0)) {\n        pGVar7 = gold::parameters->options_;\n        if (pGVar7 == (General_options *)0x0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar7->shared_).value != false) {\n          bVar8 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);\n          if ((!bVar8) || (is_global != false)) {\n            in_stack_ffffff9c = gold::parameters->options_;\n            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;\n            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      pRVar10 = rela_irelative(in_stack_ffffff94,in_stack_ffffff98,(Layout *)in_stack_ffffff9c);\n      pOVar4 = *(Output_data **)(in_EAX + 0x40);\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false);\n      local_3c = 0;\n      iVar5._M_current =\n           (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n           ._M_impl._M_finish;\n      if (iVar5._M_current ==\n          (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54);\n        pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                  ._M_impl._M_finish;\n      }\n      else {\n        pOVar11 = iVar5._M_current + 1;\n        ((iVar5._M_current)->rel_).u1_ = local_54;\n        ((iVar5._M_current)->rel_).u2_.relobj = local_50;\n        ((iVar5._M_current)->rel_).address_ = local_4c;\n        ((iVar5._M_current)->rel_).local_sym_index_ = local_48;\n        *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_44;\n        ((iVar5._M_current)->rel_).shndx_ = local_40;\n        (iVar5._M_current)->addend_ = 0;\n        (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar11;\n      }\n      iVar9 = (int)pOVar11 -\n              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                   ._M_impl._M_start >> 2;\n      if (((pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data\n           .super_Output_data.field_0x1c & 2) != 0) goto LAB_00062359;\n      *(int *)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.data_size_ = iVar9 * -0x6db6db6c;\n      *(undefined4 *)\n       ((int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_ + 4) = 0;\n      puVar1 = &pOVar4->field_0x1c;\n      *puVar1 = *puVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        psVar2 = &(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar2 = *psVar2 + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }" if (parenthesized_expression "((this->field_0x28 & 0xf) == 10)" ( (binary_expression "(this->field_0x28 & 0xf) == 10" (parenthesized_expression "(this->field_0x28 & 0xf)" ( (binary_expression "this->field_0x28 & 0xf" (field_expression "this->field_0x28" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n    if ((this->field_0x2a & 7) == 0) {\n      if (((*(byte *)(*(int *)&this->field_0x8 + 0x2c) & 1) == 0) &&\n         ((*(int *)&this->field_0xc != 0 || ((this->field_0x2b & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((this->field_0x2a & 7) != 4) {\nLAB_000621b8:\n      if (((this->field_0x29 & 3) == 0) && ((this->field_0x2b & 0x10) == 0)) {\n        pGVar7 = gold::parameters->options_;\n        if (pGVar7 == (General_options *)0x0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar7->shared_).value != false) {\n          bVar8 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);\n          if ((!bVar8) || (is_global != false)) {\n            in_stack_ffffff9c = gold::parameters->options_;\n            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;\n            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      pRVar10 = rela_irelative(in_stack_ffffff94,in_stack_ffffff98,(Layout *)in_stack_ffffff9c);\n      pOVar4 = *(Output_data **)(in_EAX + 0x40);\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false);\n      local_3c = 0;\n      iVar5._M_current =\n           (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n           ._M_impl._M_finish;\n      if (iVar5._M_current ==\n          (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54);\n        pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                  ._M_impl._M_finish;\n      }\n      else {\n        pOVar11 = iVar5._M_current + 1;\n        ((iVar5._M_current)->rel_).u1_ = local_54;\n        ((iVar5._M_current)->rel_).u2_.relobj = local_50;\n        ((iVar5._M_current)->rel_).address_ = local_4c;\n        ((iVar5._M_current)->rel_).local_sym_index_ = local_48;\n        *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_44;\n        ((iVar5._M_current)->rel_).shndx_ = local_40;\n        (iVar5._M_current)->addend_ = 0;\n        (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar11;\n      }\n      iVar9 = (int)pOVar11 -\n              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                   ._M_impl._M_start >> 2;\n      if (((pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data\n           .super_Output_data.field_0x1c & 2) != 0) goto LAB_00062359;\n      *(int *)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.data_size_ = iVar9 * -0x6db6db6c;\n      *(undefined4 *)\n       ((int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_ + 4) = 0;\n      puVar1 = &pOVar4->field_0x1c;\n      *puVar1 = *puVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        psVar2 = &(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar2 = *psVar2 + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }" { (if_statement "if ((this->field_0x2a & 7) == 0) {\n      if (((*(byte *)(*(int *)&this->field_0x8 + 0x2c) & 1) == 0) &&\n         ((*(int *)&this->field_0xc != 0 || ((this->field_0x2b & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((this->field_0x2a & 7) != 4) {\nLAB_000621b8:\n      if (((this->field_0x29 & 3) == 0) && ((this->field_0x2b & 0x10) == 0)) {\n        pGVar7 = gold::parameters->options_;\n        if (pGVar7 == (General_options *)0x0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar7->shared_).value != false) {\n          bVar8 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);\n          if ((!bVar8) || (is_global != false)) {\n            in_stack_ffffff9c = gold::parameters->options_;\n            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;\n            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      pRVar10 = rela_irelative(in_stack_ffffff94,in_stack_ffffff98,(Layout *)in_stack_ffffff9c);\n      pOVar4 = *(Output_data **)(in_EAX + 0x40);\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false);\n      local_3c = 0;\n      iVar5._M_current =\n           (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n           ._M_impl._M_finish;\n      if (iVar5._M_current ==\n          (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54);\n        pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                  ._M_impl._M_finish;\n      }\n      else {\n        pOVar11 = iVar5._M_current + 1;\n        ((iVar5._M_current)->rel_).u1_ = local_54;\n        ((iVar5._M_current)->rel_).u2_.relobj = local_50;\n        ((iVar5._M_current)->rel_).address_ = local_4c;\n        ((iVar5._M_current)->rel_).local_sym_index_ = local_48;\n        *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_44;\n        ((iVar5._M_current)->rel_).shndx_ = local_40;\n        (iVar5._M_current)->addend_ = 0;\n        (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar11;\n      }\n      iVar9 = (int)pOVar11 -\n              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                   ._M_impl._M_start >> 2;\n      if (((pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data\n           .super_Output_data.field_0x1c & 2) != 0) goto LAB_00062359;\n      *(int *)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.data_size_ = iVar9 * -0x6db6db6c;\n      *(undefined4 *)\n       ((int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_ + 4) = 0;\n      puVar1 = &pOVar4->field_0x1c;\n      *puVar1 = *puVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        psVar2 = &(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar2 = *psVar2 + 1;\n      }\n      goto joined_r0x0006230d;\n    }" if (parenthesized_expression "((this->field_0x2a & 7) == 0)" ( (binary_expression "(this->field_0x2a & 7) == 0" (parenthesized_expression "(this->field_0x2a & 7)" ( (binary_expression "this->field_0x2a & 7" (field_expression "this->field_0x2a" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (((*(byte *)(*(int *)&this->field_0x8 + 0x2c) & 1) == 0) &&\n         ((*(int *)&this->field_0xc != 0 || ((this->field_0x2b & 0x20) == 0)))) goto LAB_000621b8;\n    }" { (if_statement "if (((*(byte *)(*(int *)&this->field_0x8 + 0x2c) & 1) == 0) &&\n         ((*(int *)&this->field_0xc != 0 || ((this->field_0x2b & 0x20) == 0)))) goto LAB_000621b8;" if (parenthesized_expression "(((*(byte *)(*(int *)&this->field_0x8 + 0x2c) & 1) == 0) &&\n         ((*(int *)&this->field_0xc != 0 || ((this->field_0x2b & 0x20) == 0))))" ( (binary_expression "((*(byte *)(*(int *)&this->field_0x8 + 0x2c) & 1) == 0) &&\n         ((*(int *)&this->field_0xc != 0 || ((this->field_0x2b & 0x20) == 0)))" (parenthesized_expression "((*(byte *)(*(int *)&this->field_0x8 + 0x2c) & 1) == 0)" ( (binary_expression "(*(byte *)(*(int *)&this->field_0x8 + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(*(int *)&this->field_0x8 + 0x2c) & 1)" ( (binary_expression "*(byte *)(*(int *)&this->field_0x8 + 0x2c) & 1" (pointer_expression "*(byte *)(*(int *)&this->field_0x8 + 0x2c)" * (cast_expression "(byte *)(*(int *)&this->field_0x8 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)&this->field_0x8 + 0x2c)" ( (binary_expression "*(int *)&this->field_0x8 + 0x2c" (pointer_expression "*(int *)&this->field_0x8" * (cast_expression "(int *)&this->field_0x8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x8" & (field_expression "this->field_0x8" identifier -> field_identifier)))) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(int *)&this->field_0xc != 0 || ((this->field_0x2b & 0x20) == 0)))" ( (parenthesized_expression "(*(int *)&this->field_0xc != 0 || ((this->field_0x2b & 0x20) == 0))" ( (binary_expression "*(int *)&this->field_0xc != 0 || ((this->field_0x2b & 0x20) == 0)" (binary_expression "*(int *)&this->field_0xc != 0" (pointer_expression "*(int *)&this->field_0xc" * (cast_expression "(int *)&this->field_0xc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0xc" & (field_expression "this->field_0xc" identifier -> field_identifier)))) != number_literal) || (parenthesized_expression "((this->field_0x2b & 0x20) == 0)" ( (binary_expression "(this->field_0x2b & 0x20) == 0" (parenthesized_expression "(this->field_0x2b & 0x20)" ( (binary_expression "this->field_0x2b & 0x20" (field_expression "this->field_0x2b" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_000621b8;" goto statement_identifier ;)) }) (else_clause "else if ((this->field_0x2a & 7) != 4) {\nLAB_000621b8:\n      if (((this->field_0x29 & 3) == 0) && ((this->field_0x2b & 0x10) == 0)) {\n        pGVar7 = gold::parameters->options_;\n        if (pGVar7 == (General_options *)0x0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar7->shared_).value != false) {\n          bVar8 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);\n          if ((!bVar8) || (is_global != false)) {\n            in_stack_ffffff9c = gold::parameters->options_;\n            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;\n            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      pRVar10 = rela_irelative(in_stack_ffffff94,in_stack_ffffff98,(Layout *)in_stack_ffffff9c);\n      pOVar4 = *(Output_data **)(in_EAX + 0x40);\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false);\n      local_3c = 0;\n      iVar5._M_current =\n           (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n           ._M_impl._M_finish;\n      if (iVar5._M_current ==\n          (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54);\n        pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                  ._M_impl._M_finish;\n      }\n      else {\n        pOVar11 = iVar5._M_current + 1;\n        ((iVar5._M_current)->rel_).u1_ = local_54;\n        ((iVar5._M_current)->rel_).u2_.relobj = local_50;\n        ((iVar5._M_current)->rel_).address_ = local_4c;\n        ((iVar5._M_current)->rel_).local_sym_index_ = local_48;\n        *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_44;\n        ((iVar5._M_current)->rel_).shndx_ = local_40;\n        (iVar5._M_current)->addend_ = 0;\n        (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar11;\n      }\n      iVar9 = (int)pOVar11 -\n              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                   ._M_impl._M_start >> 2;\n      if (((pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data\n           .super_Output_data.field_0x1c & 2) != 0) goto LAB_00062359;\n      *(int *)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.data_size_ = iVar9 * -0x6db6db6c;\n      *(undefined4 *)\n       ((int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_ + 4) = 0;\n      puVar1 = &pOVar4->field_0x1c;\n      *puVar1 = *puVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        psVar2 = &(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar2 = *psVar2 + 1;\n      }\n      goto joined_r0x0006230d;\n    }" else (if_statement "if ((this->field_0x2a & 7) != 4) {\nLAB_000621b8:\n      if (((this->field_0x29 & 3) == 0) && ((this->field_0x2b & 0x10) == 0)) {\n        pGVar7 = gold::parameters->options_;\n        if (pGVar7 == (General_options *)0x0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar7->shared_).value != false) {\n          bVar8 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);\n          if ((!bVar8) || (is_global != false)) {\n            in_stack_ffffff9c = gold::parameters->options_;\n            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;\n            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      pRVar10 = rela_irelative(in_stack_ffffff94,in_stack_ffffff98,(Layout *)in_stack_ffffff9c);\n      pOVar4 = *(Output_data **)(in_EAX + 0x40);\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false);\n      local_3c = 0;\n      iVar5._M_current =\n           (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n           ._M_impl._M_finish;\n      if (iVar5._M_current ==\n          (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54);\n        pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                  ._M_impl._M_finish;\n      }\n      else {\n        pOVar11 = iVar5._M_current + 1;\n        ((iVar5._M_current)->rel_).u1_ = local_54;\n        ((iVar5._M_current)->rel_).u2_.relobj = local_50;\n        ((iVar5._M_current)->rel_).address_ = local_4c;\n        ((iVar5._M_current)->rel_).local_sym_index_ = local_48;\n        *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_44;\n        ((iVar5._M_current)->rel_).shndx_ = local_40;\n        (iVar5._M_current)->addend_ = 0;\n        (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar11;\n      }\n      iVar9 = (int)pOVar11 -\n              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                   ._M_impl._M_start >> 2;\n      if (((pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data\n           .super_Output_data.field_0x1c & 2) != 0) goto LAB_00062359;\n      *(int *)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.data_size_ = iVar9 * -0x6db6db6c;\n      *(undefined4 *)\n       ((int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_ + 4) = 0;\n      puVar1 = &pOVar4->field_0x1c;\n      *puVar1 = *puVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        psVar2 = &(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar2 = *psVar2 + 1;\n      }\n      goto joined_r0x0006230d;\n    }" if (parenthesized_expression "((this->field_0x2a & 7) != 4)" ( (binary_expression "(this->field_0x2a & 7) != 4" (parenthesized_expression "(this->field_0x2a & 7)" ( (binary_expression "this->field_0x2a & 7" (field_expression "this->field_0x2a" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000621b8:\n      if (((this->field_0x29 & 3) == 0) && ((this->field_0x2b & 0x10) == 0)) {\n        pGVar7 = gold::parameters->options_;\n        if (pGVar7 == (General_options *)0x0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar7->shared_).value != false) {\n          bVar8 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);\n          if ((!bVar8) || (is_global != false)) {\n            in_stack_ffffff9c = gold::parameters->options_;\n            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;\n            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      pRVar10 = rela_irelative(in_stack_ffffff94,in_stack_ffffff98,(Layout *)in_stack_ffffff9c);\n      pOVar4 = *(Output_data **)(in_EAX + 0x40);\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false);\n      local_3c = 0;\n      iVar5._M_current =\n           (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n           ._M_impl._M_finish;\n      if (iVar5._M_current ==\n          (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54);\n        pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                  ._M_impl._M_finish;\n      }\n      else {\n        pOVar11 = iVar5._M_current + 1;\n        ((iVar5._M_current)->rel_).u1_ = local_54;\n        ((iVar5._M_current)->rel_).u2_.relobj = local_50;\n        ((iVar5._M_current)->rel_).address_ = local_4c;\n        ((iVar5._M_current)->rel_).local_sym_index_ = local_48;\n        *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_44;\n        ((iVar5._M_current)->rel_).shndx_ = local_40;\n        (iVar5._M_current)->addend_ = 0;\n        (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar11;\n      }\n      iVar9 = (int)pOVar11 -\n              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                   ._M_impl._M_start >> 2;\n      if (((pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data\n           .super_Output_data.field_0x1c & 2) != 0) goto LAB_00062359;\n      *(int *)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.data_size_ = iVar9 * -0x6db6db6c;\n      *(undefined4 *)\n       ((int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_ + 4) = 0;\n      puVar1 = &pOVar4->field_0x1c;\n      *puVar1 = *puVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        psVar2 = &(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar2 = *psVar2 + 1;\n      }\n      goto joined_r0x0006230d;\n    }" { (labeled_statement "LAB_000621b8:\n      if (((this->field_0x29 & 3) == 0) && ((this->field_0x2b & 0x10) == 0)) {\n        pGVar7 = gold::parameters->options_;\n        if (pGVar7 == (General_options *)0x0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar7->shared_).value != false) {\n          bVar8 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);\n          if ((!bVar8) || (is_global != false)) {\n            in_stack_ffffff9c = gold::parameters->options_;\n            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;\n            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }" statement_identifier : (if_statement "if (((this->field_0x29 & 3) == 0) && ((this->field_0x2b & 0x10) == 0)) {\n        pGVar7 = gold::parameters->options_;\n        if (pGVar7 == (General_options *)0x0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar7->shared_).value != false) {\n          bVar8 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);\n          if ((!bVar8) || (is_global != false)) {\n            in_stack_ffffff9c = gold::parameters->options_;\n            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;\n            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }" if (parenthesized_expression "(((this->field_0x29 & 3) == 0) && ((this->field_0x2b & 0x10) == 0))" ( (binary_expression "((this->field_0x29 & 3) == 0) && ((this->field_0x2b & 0x10) == 0)" (parenthesized_expression "((this->field_0x29 & 3) == 0)" ( (binary_expression "(this->field_0x29 & 3) == 0" (parenthesized_expression "(this->field_0x29 & 3)" ( (binary_expression "this->field_0x29 & 3" (field_expression "this->field_0x29" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "((this->field_0x2b & 0x10) == 0)" ( (binary_expression "(this->field_0x2b & 0x10) == 0" (parenthesized_expression "(this->field_0x2b & 0x10)" ( (binary_expression "this->field_0x2b & 0x10" (field_expression "this->field_0x2b" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        pGVar7 = gold::parameters->options_;\n        if (pGVar7 == (General_options *)0x0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar7->shared_).value != false) {\n          bVar8 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);\n          if ((!bVar8) || (is_global != false)) {\n            in_stack_ffffff9c = gold::parameters->options_;\n            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;\n            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }" { (expression_statement "pGVar7 = gold::parameters->options_;" (field_expression "pGVar7 = gold::parameters->options_" (assignment_expression "pGVar7 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar7 == (General_options *)0x0) {\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }" if (parenthesized_expression "(pGVar7 == (General_options *)0x0)" ( (binary_expression "pGVar7 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }" { (labeled_statement "LAB_00062372:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;))) })) (if_statement "if ((pGVar7->shared_).value != false) {\n          bVar8 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);\n          if ((!bVar8) || (is_global != false)) {\n            in_stack_ffffff9c = gold::parameters->options_;\n            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;\n            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }" if (parenthesized_expression "((pGVar7->shared_).value != false)" ( (binary_expression "(pGVar7->shared_).value != false" (field_expression "(pGVar7->shared_).value" (parenthesized_expression "(pGVar7->shared_)" ( (field_expression "pGVar7->shared_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n          bVar8 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);\n          if ((!bVar8) || (is_global != false)) {\n            in_stack_ffffff9c = gold::parameters->options_;\n            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;\n            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }" { (ERROR "bVar8 = gold::" (assignment_expression "bVar8 = gold" identifier = identifier) : :) (labeled_statement "Version_script_info::get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);" statement_identifier : (ERROR ":" :) (expression_statement "get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global);" (call_expression "get_symbol_version\n                            (&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global)" identifier (argument_list "(&(pGVar7->dynamic_list_).version_script_info_,\n                             (char *)this->plt_eh_frame_cie_size,(string *)0x0,&is_global)" ( (pointer_expression "&(pGVar7->dynamic_list_).version_script_info_" & (field_expression "(pGVar7->dynamic_list_).version_script_info_" (parenthesized_expression "(pGVar7->dynamic_list_)" ( (field_expression "pGVar7->dynamic_list_" identifier -> field_identifier) )) . field_identifier)) , (cast_expression "(char *)this->plt_eh_frame_cie_size" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "this->plt_eh_frame_cie_size" identifier -> field_identifier)) , (cast_expression "(string *)0x0" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (pointer_expression "&is_global" & identifier) ))) ;)) (if_statement "if ((!bVar8) || (is_global != false)) {\n            in_stack_ffffff9c = gold::parameters->options_;\n            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;\n            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;\n          }" if (parenthesized_expression "((!bVar8) || (is_global != false))" ( (binary_expression "(!bVar8) || (is_global != false)" (parenthesized_expression "(!bVar8)" ( (unary_expression "!bVar8" ! identifier) )) || (parenthesized_expression "(is_global != false)" ( (binary_expression "is_global != false" identifier != false) ))) )) (compound_statement "{\n            in_stack_ffffff9c = gold::parameters->options_;\n            if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;\n            if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;\n          }" { (expression_statement "in_stack_ffffff9c = gold::parameters->options_;" (field_expression "in_stack_ffffff9c = gold::parameters->options_" (assignment_expression "in_stack_ffffff9c = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (in_stack_ffffff9c == (General_options *)0x0) goto LAB_00062372;" if (parenthesized_expression "(in_stack_ffffff9c == (General_options *)0x0)" ( (binary_expression "in_stack_ffffff9c == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00062372;" goto statement_identifier ;)) (if_statement "if (((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))) goto LAB_00062260;" if (parenthesized_expression "(((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false))))" ( (binary_expression "((in_stack_ffffff9c->Bsymbolic_).value != false) ||\n               (((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))" (parenthesized_expression "((in_stack_ffffff9c->Bsymbolic_).value != false)" ( (binary_expression "(in_stack_ffffff9c->Bsymbolic_).value != false" (field_expression "(in_stack_ffffff9c->Bsymbolic_).value" (parenthesized_expression "(in_stack_ffffff9c->Bsymbolic_)" ( (field_expression "in_stack_ffffff9c->Bsymbolic_" identifier -> field_identifier) )) . field_identifier) != false) )) || (parenthesized_expression "(((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)))" ( (parenthesized_expression "((this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false))" ( (binary_expression "(this->field_0x28 & 0xf) != 1 &&\n                ((in_stack_ffffff9c->Bsymbolic_functions_).value != false)" (binary_expression "(this->field_0x28 & 0xf) != 1" (parenthesized_expression "(this->field_0x28 & 0xf)" ( (binary_expression "this->field_0x28 & 0xf" (field_expression "this->field_0x28" identifier -> field_identifier) & number_literal) )) != number_literal) && (parenthesized_expression "((in_stack_ffffff9c->Bsymbolic_functions_).value != false)" ( (binary_expression "(in_stack_ffffff9c->Bsymbolic_functions_).value != false" (field_expression "(in_stack_ffffff9c->Bsymbolic_functions_).value" (parenthesized_expression "(in_stack_ffffff9c->Bsymbolic_functions_)" ( (field_expression "in_stack_ffffff9c->Bsymbolic_functions_" identifier -> field_identifier) )) . field_identifier) != false) ))) )) ))) )) (goto_statement "goto LAB_00062260;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00062097;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00062260:\n      pRVar10 = rela_irelative(in_stack_ffffff94,in_stack_ffffff98,(Layout *)in_stack_ffffff9c);" statement_identifier : (expression_statement "pRVar10 = rela_irelative(in_stack_ffffff94,in_stack_ffffff98,(Layout *)in_stack_ffffff9c);" (assignment_expression "pRVar10 = rela_irelative(in_stack_ffffff94,in_stack_ffffff98,(Layout *)in_stack_ffffff9c)" identifier = (call_expression "rela_irelative(in_stack_ffffff94,in_stack_ffffff98,(Layout *)in_stack_ffffff9c)" identifier (argument_list "(in_stack_ffffff94,in_stack_ffffff98,(Layout *)in_stack_ffffff9c)" ( identifier , identifier , (cast_expression "(Layout *)in_stack_ffffff9c" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;)) (expression_statement "pOVar4 = *(Output_data **)(in_EAX + 0x40);" (assignment_expression "pOVar4 = *(Output_data **)(in_EAX + 0x40)" identifier = (pointer_expression "*(Output_data **)(in_EAX + 0x40)" * (cast_expression "(Output_data **)(in_EAX + 0x40)" ( (type_descriptor "Output_data **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_EAX + 0x40)" ( (binary_expression "in_EAX + 0x40" identifier + number_literal) ))))) ;) (labeled_statement "gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false);" statement_identifier : (ERROR ":" :) (expression_statement "Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false);" (comma_expression "Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false)" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false)" identifier , (comma_expression "_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false)" identifier , (binary_expression "_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false)" identifier > (ERROR "::" : :) (call_expression "Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false)" identifier (argument_list "((Output_reloc<9,_true,_32,_false> *)&local_54,(Symbol *)this,0x25,pOVar4,\n                 (Address)symtab,false,true,false)" ( (binary_expression "(Output_reloc<9,_true,_32,_false> *)&local_54" (parenthesized_expression "(Output_reloc<9,_true,_32,_false> *)" ( (comma_expression "Output_reloc<9,_true,_32,_false> *" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false> *" identifier , (comma_expression "_32,_false> *" identifier , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))))) )) & identifier) , (cast_expression "(Symbol *)this" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , identifier , (cast_expression "(Address)symtab" ( (type_descriptor "Address" type_identifier) ) identifier) , false , true , false ))))))) ;)) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (ERROR "iVar5._M_current =\n           (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::" (comma_expression "iVar5._M_current =\n           (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std" (binary_expression "iVar5._M_current =\n           (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold::Output_reloc<4" (assignment_expression "iVar5._M_current =\n           (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold" (field_expression "iVar5._M_current" identifier . field_identifier) = (binary_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar10->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar10->super_Output_data_reloc_base<4" (field_expression "pRVar10->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_reloc" : : identifier) < number_literal) , (comma_expression "_true,_32,_false>,_std" identifier , (comma_expression "_32,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : identifier < identifier : :) (expression_statement "Output_reloc<4,_true,_32,_false>_>_>\n           ._M_impl._M_finish;" (comma_expression "Output_reloc<4,_true,_32,_false>_>_>\n           ._M_impl._M_finish" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n           ._M_impl._M_finish" identifier , (comma_expression "_32,_false>_>_>\n           ._M_impl._M_finish" identifier , (field_expression "_false>_>_>\n           ._M_impl._M_finish" (field_expression "_false>_>_>\n           ._M_impl" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)))) ;) (if_statement "if (iVar5._M_current ==\n          (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54);\n        pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                  ._M_impl._M_finish;\n      }\n      else {\n        pOVar11 = iVar5._M_current + 1;\n        ((iVar5._M_current)->rel_).u1_ = local_54;\n        ((iVar5._M_current)->rel_).u2_.relobj = local_50;\n        ((iVar5._M_current)->rel_).address_ = local_4c;\n        ((iVar5._M_current)->rel_).local_sym_index_ = local_48;\n        *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_44;\n        ((iVar5._M_current)->rel_).shndx_ = local_40;\n        (iVar5._M_current)->addend_ = 0;\n        (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar11;\n      }" if (parenthesized_expression "(iVar5._M_current ==\n          (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n          ._M_impl._M_end_of_storage)" ( (ERROR "iVar5._M_current ==\n          (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::" (comma_expression "iVar5._M_current ==\n          (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std" (binary_expression "iVar5._M_current ==\n          (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold::Output_reloc<4" (binary_expression "iVar5._M_current ==\n          (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold" (field_expression "iVar5._M_current" identifier . field_identifier) == (binary_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar10->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar10->super_Output_data_reloc_base<4" (field_expression "pRVar10->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_reloc" : : identifier) < number_literal) , (comma_expression "_true,_32,_false>,_std" identifier , (comma_expression "_32,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : identifier < identifier : :) (comma_expression "Output_reloc<4,_true,_32,_false>_>_>\n          ._M_impl._M_end_of_storage" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n          ._M_impl._M_end_of_storage" identifier , (comma_expression "_32,_false>_>_>\n          ._M_impl._M_end_of_storage" identifier , (field_expression "_false>_>_>\n          ._M_impl._M_end_of_storage" (field_expression "_false>_>_>\n          ._M_impl" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)))) )) (compound_statement "{\n        std::\n        vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54);\n        pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                  ._M_impl._M_finish;\n      }" { (labeled_statement "std::\n        vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54);" statement_identifier (ERROR "::\n        vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ::_M_realloc_insert<const_gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Output_reloc<4,_true,_32,_false>,_std" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>,_std" identifier , (comma_expression "_32,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Output_reloc<4,_true,_32,_false>_>_>\n        ::_M_realloc_insert<const_gold" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n        ::_M_realloc_insert<const_gold" identifier , (comma_expression "_32,_false>_>_>\n        ::_M_realloc_insert<const_gold" identifier , (binary_expression "_false>_>_>\n        ::_M_realloc_insert<const_gold" (binary_expression "_false>_>_>\n        ::_M_realloc_insert" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)))) :) : (expression_statement "Output_reloc<4,_true,_32,_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54);" (comma_expression "Output_reloc<4,_true,_32,_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54)" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54)" identifier , (comma_expression "_32,_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54)" identifier , (binary_expression "_false>&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54)" identifier > (pointer_expression "&>\n                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54)" & (ERROR ">" >) (parenthesized_expression "(&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54)" ( (comma_expression "&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54" (pointer_expression "&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" & (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar10->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar10->super_Output_data_reloc_base<4" (field_expression "pRVar10->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier)) , (comma_expression "iVar5,\n                   (Output_reloc<4,_true,_32,_false> *)&local_54" identifier , (binary_expression "(Output_reloc<4,_true,_32,_false> *)&local_54" (parenthesized_expression "(Output_reloc<4,_true,_32,_false> *)" ( (comma_expression "Output_reloc<4,_true,_32,_false> *" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false> *" identifier , (comma_expression "_32,_false> *" identifier , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))))) )) & identifier))) ))))))) ;)) (ERROR "pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::" (comma_expression "pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std" (binary_expression "pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base<gold::Output_reloc<4" (assignment_expression "pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base<gold" identifier = (binary_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base<gold" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                  super__Vector_base" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar10->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar10->super_Output_data_reloc_base<4" (field_expression "pRVar10->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_reloc" : : identifier) < number_literal) , (comma_expression "_true,_32,_false>,_std" identifier , (comma_expression "_32,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_reloc<4,_true,_32,_false>_>_>\n                  ._M_impl._M_finish;" (comma_expression "Output_reloc<4,_true,_32,_false>_>_>\n                  ._M_impl._M_finish" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n                  ._M_impl._M_finish" identifier , (comma_expression "_32,_false>_>_>\n                  ._M_impl._M_finish" identifier , (field_expression "_false>_>_>\n                  ._M_impl._M_finish" (field_expression "_false>_>_>\n                  ._M_impl" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)))) ;) }) (else_clause "else {\n        pOVar11 = iVar5._M_current + 1;\n        ((iVar5._M_current)->rel_).u1_ = local_54;\n        ((iVar5._M_current)->rel_).u2_.relobj = local_50;\n        ((iVar5._M_current)->rel_).address_ = local_4c;\n        ((iVar5._M_current)->rel_).local_sym_index_ = local_48;\n        *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_44;\n        ((iVar5._M_current)->rel_).shndx_ = local_40;\n        (iVar5._M_current)->addend_ = 0;\n        (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar11;\n      }" else (compound_statement "{\n        pOVar11 = iVar5._M_current + 1;\n        ((iVar5._M_current)->rel_).u1_ = local_54;\n        ((iVar5._M_current)->rel_).u2_.relobj = local_50;\n        ((iVar5._M_current)->rel_).address_ = local_4c;\n        ((iVar5._M_current)->rel_).local_sym_index_ = local_48;\n        *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_44;\n        ((iVar5._M_current)->rel_).shndx_ = local_40;\n        (iVar5._M_current)->addend_ = 0;\n        (pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar11;\n      }" { (expression_statement "pOVar11 = iVar5._M_current + 1;" (assignment_expression "pOVar11 = iVar5._M_current + 1" identifier = (binary_expression "iVar5._M_current + 1" (field_expression "iVar5._M_current" identifier . field_identifier) + number_literal)) ;) (expression_statement "((iVar5._M_current)->rel_).u1_ = local_54;" (assignment_expression "((iVar5._M_current)->rel_).u1_ = local_54" (field_expression "((iVar5._M_current)->rel_).u1_" (parenthesized_expression "((iVar5._M_current)->rel_)" ( (field_expression "(iVar5._M_current)->rel_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "((iVar5._M_current)->rel_).u2_.relobj = local_50;" (assignment_expression "((iVar5._M_current)->rel_).u2_.relobj = local_50" (field_expression "((iVar5._M_current)->rel_).u2_.relobj" (field_expression "((iVar5._M_current)->rel_).u2_" (parenthesized_expression "((iVar5._M_current)->rel_)" ( (field_expression "(iVar5._M_current)->rel_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "((iVar5._M_current)->rel_).address_ = local_4c;" (assignment_expression "((iVar5._M_current)->rel_).address_ = local_4c" (field_expression "((iVar5._M_current)->rel_).address_" (parenthesized_expression "((iVar5._M_current)->rel_)" ( (field_expression "(iVar5._M_current)->rel_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "((iVar5._M_current)->rel_).local_sym_index_ = local_48;" (assignment_expression "((iVar5._M_current)->rel_).local_sym_index_ = local_48" (field_expression "((iVar5._M_current)->rel_).local_sym_index_" (parenthesized_expression "((iVar5._M_current)->rel_)" ( (field_expression "(iVar5._M_current)->rel_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "*(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_44;" (assignment_expression "*(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_44" (pointer_expression "*(uint *)&((iVar5._M_current)->rel_).field_0x10" * (cast_expression "(uint *)&((iVar5._M_current)->rel_).field_0x10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((iVar5._M_current)->rel_).field_0x10" & (field_expression "((iVar5._M_current)->rel_).field_0x10" (parenthesized_expression "((iVar5._M_current)->rel_)" ( (field_expression "(iVar5._M_current)->rel_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "((iVar5._M_current)->rel_).shndx_ = local_40;" (assignment_expression "((iVar5._M_current)->rel_).shndx_ = local_40" (field_expression "((iVar5._M_current)->rel_).shndx_" (parenthesized_expression "((iVar5._M_current)->rel_)" ( (field_expression "(iVar5._M_current)->rel_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(iVar5._M_current)->addend_ = 0;" (assignment_expression "(iVar5._M_current)->addend_ = 0" (field_expression "(iVar5._M_current)->addend_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (ERROR "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::" (comma_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std" (binary_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4" (binary_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar10->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar10->super_Output_data_reloc_base<4" (field_expression "pRVar10->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) (ERROR "::Output_reloc" : : identifier) < number_literal) , (comma_expression "_true,_32,_false>,_std" identifier , (comma_expression "_32,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_reloc<4,_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar11;" (comma_expression "Output_reloc<4,_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar11" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar11" identifier , (comma_expression "_32,_false>_>_>\n        ._M_impl._M_finish = pOVar11" identifier , (assignment_expression "_false>_>_>\n        ._M_impl._M_finish = pOVar11" (field_expression "_false>_>_>\n        ._M_impl._M_finish" (field_expression "_false>_>_>\n        ._M_impl" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier)))) ;) }))) (ERROR "iVar9 = (int)pOVar11 -\n              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::" (comma_expression "iVar9 = (int)pOVar11 -\n              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std" (binary_expression "iVar9 = (int)pOVar11 -\n              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base<gold::Output_reloc<4" (assignment_expression "iVar9 = (int)pOVar11 -\n              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base<gold" identifier = (binary_expression "(int)pOVar11 -\n              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base<gold" (binary_expression "(int)pOVar11 -\n              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base" (cast_expression "(int)pOVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                   super__Vector_base" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar10->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar10->super_Output_data_reloc_base<4" (field_expression "pRVar10->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier))) < identifier)) (ERROR "::Output_reloc" : : identifier) < number_literal) , (comma_expression "_true,_32,_false>,_std" identifier , (comma_expression "_32,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : identifier < identifier : :) (expression_statement "Output_reloc<4,_true,_32,_false>_>_>\n                   ._M_impl._M_start >> 2;" (comma_expression "Output_reloc<4,_true,_32,_false>_>_>\n                   ._M_impl._M_start >> 2" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n                   ._M_impl._M_start >> 2" identifier , (comma_expression "_32,_false>_>_>\n                   ._M_impl._M_start >> 2" identifier , (binary_expression "_false>_>_>\n                   ._M_impl._M_start >> 2" (field_expression "_false>_>_>\n                   ._M_impl._M_start" (field_expression "_false>_>_>\n                   ._M_impl" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal)))) ;) (if_statement "if (((pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data\n           .super_Output_data.field_0x1c & 2) != 0) goto LAB_00062359;" if (parenthesized_expression "(((pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data\n           .super_Output_data.field_0x1c & 2) != 0)" ( (binary_expression "((pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data\n           .super_Output_data.field_0x1c & 2) != 0" (parenthesized_expression "((pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data\n           .super_Output_data.field_0x1c & 2)" ( (binary_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data\n           .super_Output_data.field_0x1c & 2" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data\n           .super_Output_data.field_0x1c" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data\n           .super_Output_data" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic" (parenthesized_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar10->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar10->super_Output_data_reloc_base<4" (field_expression "pRVar10->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00062359;" goto statement_identifier ;)) (expression_statement "*(int *)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.data_size_ = iVar9 * -0x6db6db6c;" (assignment_expression "*(int *)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.data_size_ = iVar9 * -0x6db6db6c" (pointer_expression "*(int *)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.data_size_" * (cast_expression "(int *)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.data_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.data_size_" & (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.data_size_" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n               super_Output_data_reloc_generic" (parenthesized_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar10->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar10->super_Output_data_reloc_base<4" (field_expression "pRVar10->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)))) = (binary_expression "iVar9 * -0x6db6db6c" identifier * number_literal)) ;) (expression_statement "*(undefined4 *)\n       ((int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_ + 4) = 0;" (assignment_expression "*(undefined4 *)\n       ((int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_ + 4) = 0" (pointer_expression "*(undefined4 *)\n       ((int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_ + 4)" * (cast_expression "(undefined4 *)\n       ((int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_ + 4" (cast_expression "(int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_" & (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data.data_size_" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data.super_Output_data" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build.\n              super_Output_section_data" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.super_Output_section_data_build" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic" (parenthesized_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar10->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar10->super_Output_data_reloc_base<4" (field_expression "pRVar10->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "puVar1 = &pOVar4->field_0x1c;" (assignment_expression "puVar1 = &pOVar4->field_0x1c" identifier = (pointer_expression "&pOVar4->field_0x1c" & (field_expression "pOVar4->field_0x1c" identifier -> field_identifier))) ;) (expression_statement "*puVar1 = *puVar1 | 0x10;" (assignment_expression "*puVar1 = *puVar1 | 0x10" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 | 0x10" (pointer_expression "*puVar1" * identifier) | number_literal)) ;) (if_statement "if ((local_44 & 0x10000000) != 0) {\n        psVar2 = &(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar2 = *psVar2 + 1;\n      }" if (parenthesized_expression "((local_44 & 0x10000000) != 0)" ( (binary_expression "(local_44 & 0x10000000) != 0" (parenthesized_expression "(local_44 & 0x10000000)" ( (binary_expression "local_44 & 0x10000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        psVar2 = &(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar2 = *psVar2 + 1;\n      }" { (expression_statement "psVar2 = &(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;" (assignment_expression "psVar2 = &(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_" identifier = (pointer_expression "&(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_" & (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_" (field_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic" (parenthesized_expression "(pRVar10->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar10->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar10->super_Output_data_reloc_base<4" (field_expression "pRVar10->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier))) ;) (expression_statement "*psVar2 = *psVar2 + 1;" (assignment_expression "*psVar2 = *psVar2 + 1" (pointer_expression "*psVar2" * identifier) = (binary_expression "*psVar2 + 1" (pointer_expression "*psVar2" * identifier) + number_literal)) ;) })) (goto_statement "goto joined_r0x0006230d;" goto statement_identifier ;) })))) })) (labeled_statement "LAB_00062097:\n  this->field_0x2a = this->field_0x2a | 0x40;" statement_identifier : (expression_statement "this->field_0x2a = this->field_0x2a | 0x40;" (assignment_expression "this->field_0x2a = this->field_0x2a | 0x40" (field_expression "this->field_0x2a" identifier -> field_identifier) = (binary_expression "this->field_0x2a | 0x40" (field_expression "this->field_0x2a" identifier -> field_identifier) | number_literal)) ;)) (expression_statement "iVar3 = *(int *)(in_EAX + 0x2c);" (assignment_expression "iVar3 = *(int *)(in_EAX + 0x2c)" identifier = (pointer_expression "*(int *)(in_EAX + 0x2c)" * (cast_expression "(int *)(in_EAX + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_EAX + 0x2c)" ( (binary_expression "in_EAX + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "pOVar4 = *(Output_data **)(in_EAX + 0x3c);" (assignment_expression "pOVar4 = *(Output_data **)(in_EAX + 0x3c)" identifier = (pointer_expression "*(Output_data **)(in_EAX + 0x3c)" * (cast_expression "(Output_data **)(in_EAX + 0x3c)" ( (type_descriptor "Output_data **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_EAX + 0x3c)" ( (binary_expression "in_EAX + 0x3c" identifier + number_literal) ))))) ;) (labeled_statement "gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_38,(Symbol *)this,7,pOVar4,(Address)symtab,\n             false,false,false);" statement_identifier : (ERROR ":" :) (expression_statement "Output_reloc<9,_true,_32,_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_38,(Symbol *)this,7,pOVar4,(Address)symtab,\n             false,false,false);" (comma_expression "Output_reloc<9,_true,_32,_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_38,(Symbol *)this,7,pOVar4,(Address)symtab,\n             false,false,false)" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_38,(Symbol *)this,7,pOVar4,(Address)symtab,\n             false,false,false)" identifier , (comma_expression "_32,_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_38,(Symbol *)this,7,pOVar4,(Address)symtab,\n             false,false,false)" identifier , (binary_expression "_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_38,(Symbol *)this,7,pOVar4,(Address)symtab,\n             false,false,false)" identifier > (ERROR "::" : :) (call_expression "Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_38,(Symbol *)this,7,pOVar4,(Address)symtab,\n             false,false,false)" identifier (argument_list "((Output_reloc<9,_true,_32,_false> *)&local_38,(Symbol *)this,7,pOVar4,(Address)symtab,\n             false,false,false)" ( (binary_expression "(Output_reloc<9,_true,_32,_false> *)&local_38" (parenthesized_expression "(Output_reloc<9,_true,_32,_false> *)" ( (comma_expression "Output_reloc<9,_true,_32,_false> *" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false> *" identifier , (comma_expression "_32,_false> *" identifier , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))))) )) & identifier) , (cast_expression "(Symbol *)this" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , identifier , (cast_expression "(Address)symtab" ( (type_descriptor "Address" type_identifier) ) identifier) , false , false , false ))))))) ;)) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "iVar5._M_current = *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38);" (assignment_expression "iVar5._M_current = *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38)" (field_expression "iVar5._M_current" identifier . field_identifier) = (pointer_expression "*(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38)" * (call_expression "(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38)" (parenthesized_expression "(Output_reloc<4,_true,_32,_false> **)" ( (comma_expression "Output_reloc<4,_true,_32,_false> **" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false> **" identifier , (comma_expression "_32,_false> **" identifier , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))))) )) (argument_list "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (iVar5._M_current == *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x3c)) {\n    std::\n    vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n    ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n              ((vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                *)(iVar3 + 0x34),iVar5,(Output_reloc<4,_true,_32,_false> *)&local_38);\n    pOVar11 = *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38);\n  }\n  else {\n    pOVar11 = iVar5._M_current + 1;\n    ((iVar5._M_current)->rel_).u1_ = local_38;\n    ((iVar5._M_current)->rel_).u2_.relobj = local_34;\n    ((iVar5._M_current)->rel_).address_ = local_30;\n    ((iVar5._M_current)->rel_).local_sym_index_ = local_2c;\n    *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_28;\n    ((iVar5._M_current)->rel_).shndx_ = local_24;\n    (iVar5._M_current)->addend_ = 0;\n    *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38) = pOVar11;\n  }" if (parenthesized_expression "(iVar5._M_current == *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x3c))" ( (binary_expression "iVar5._M_current == *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x3c)" (field_expression "iVar5._M_current" identifier . field_identifier) == (pointer_expression "*(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x3c)" * (call_expression "(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x3c)" (parenthesized_expression "(Output_reloc<4,_true,_32,_false> **)" ( (comma_expression "Output_reloc<4,_true,_32,_false> **" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false> **" identifier , (comma_expression "_32,_false> **" identifier , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))))) )) (argument_list "(iVar3 + 0x3c)" ( (binary_expression "iVar3 + 0x3c" identifier + number_literal) ))))) )) (compound_statement "{\n    std::\n    vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n    ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n              ((vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                *)(iVar3 + 0x34),iVar5,(Output_reloc<4,_true,_32,_false> *)&local_38);\n    pOVar11 = *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38);\n  }" { (labeled_statement "std::\n    vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n    ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_32,_false>&>\n              ((vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                *)(iVar3 + 0x34),iVar5,(Output_reloc<4,_true,_32,_false> *)&local_38);" statement_identifier (ERROR "::\n    vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n    ::_M_realloc_insert<const_gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Output_reloc<4,_true,_32,_false>,_std" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>,_std" identifier , (comma_expression "_32,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Output_reloc<4,_true,_32,_false>_>_>\n    ::_M_realloc_insert<const_gold" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n    ::_M_realloc_insert<const_gold" identifier , (comma_expression "_32,_false>_>_>\n    ::_M_realloc_insert<const_gold" identifier , (binary_expression "_false>_>_>\n    ::_M_realloc_insert<const_gold" (binary_expression "_false>_>_>\n    ::_M_realloc_insert" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)))) :) : (expression_statement "Output_reloc<4,_true,_32,_false>&>\n              ((vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                *)(iVar3 + 0x34),iVar5,(Output_reloc<4,_true,_32,_false> *)&local_38);" (comma_expression "Output_reloc<4,_true,_32,_false>&>\n              ((vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                *)(iVar3 + 0x34),iVar5,(Output_reloc<4,_true,_32,_false> *)&local_38)" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>&>\n              ((vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                *)(iVar3 + 0x34),iVar5,(Output_reloc<4,_true,_32,_false> *)&local_38)" identifier , (comma_expression "_32,_false>&>\n              ((vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                *)(iVar3 + 0x34),iVar5,(Output_reloc<4,_true,_32,_false> *)&local_38)" identifier , (binary_expression "_false>&>\n              ((vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                *)(iVar3 + 0x34),iVar5,(Output_reloc<4,_true,_32,_false> *)&local_38)" identifier > (pointer_expression "&>\n              ((vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                *)(iVar3 + 0x34),iVar5,(Output_reloc<4,_true,_32,_false> *)&local_38)" & (ERROR ">" >) (parenthesized_expression "((vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                *)(iVar3 + 0x34),iVar5,(Output_reloc<4,_true,_32,_false> *)&local_38)" ( (comma_expression "(vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                *)(iVar3 + 0x34),iVar5,(Output_reloc<4,_true,_32,_false> *)&local_38" (call_expression "(vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                *)(iVar3 + 0x34)" (parenthesized_expression "(vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::Output_reloc<4,_true,_32,_false>_>_>\n                *)" ( (ERROR "vector<gold::Output_reloc<4,_true,_32,_false>,_std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Output_reloc<4,_true,_32,_false>,_std" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>,_std" identifier , (comma_expression "_32,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Output_reloc<4,_true,_32,_false>_>_>\n                *" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n                *" identifier , (comma_expression "_32,_false>_>_>\n                *" identifier , (binary_expression "_false>_>_>\n                *" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) > (pointer_expression "*" * identifier))))) )) (argument_list "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))) , (comma_expression "iVar5,(Output_reloc<4,_true,_32,_false> *)&local_38" identifier , (binary_expression "(Output_reloc<4,_true,_32,_false> *)&local_38" (parenthesized_expression "(Output_reloc<4,_true,_32,_false> *)" ( (comma_expression "Output_reloc<4,_true,_32,_false> *" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false> *" identifier , (comma_expression "_32,_false> *" identifier , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))))) )) & identifier))) ))))))) ;)) (expression_statement "pOVar11 = *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38);" (assignment_expression "pOVar11 = *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38)" identifier = (pointer_expression "*(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38)" * (call_expression "(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38)" (parenthesized_expression "(Output_reloc<4,_true,_32,_false> **)" ( (comma_expression "Output_reloc<4,_true,_32,_false> **" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false> **" identifier , (comma_expression "_32,_false> **" identifier , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))))) )) (argument_list "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    pOVar11 = iVar5._M_current + 1;\n    ((iVar5._M_current)->rel_).u1_ = local_38;\n    ((iVar5._M_current)->rel_).u2_.relobj = local_34;\n    ((iVar5._M_current)->rel_).address_ = local_30;\n    ((iVar5._M_current)->rel_).local_sym_index_ = local_2c;\n    *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_28;\n    ((iVar5._M_current)->rel_).shndx_ = local_24;\n    (iVar5._M_current)->addend_ = 0;\n    *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38) = pOVar11;\n  }" else (compound_statement "{\n    pOVar11 = iVar5._M_current + 1;\n    ((iVar5._M_current)->rel_).u1_ = local_38;\n    ((iVar5._M_current)->rel_).u2_.relobj = local_34;\n    ((iVar5._M_current)->rel_).address_ = local_30;\n    ((iVar5._M_current)->rel_).local_sym_index_ = local_2c;\n    *(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_28;\n    ((iVar5._M_current)->rel_).shndx_ = local_24;\n    (iVar5._M_current)->addend_ = 0;\n    *(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38) = pOVar11;\n  }" { (expression_statement "pOVar11 = iVar5._M_current + 1;" (assignment_expression "pOVar11 = iVar5._M_current + 1" identifier = (binary_expression "iVar5._M_current + 1" (field_expression "iVar5._M_current" identifier . field_identifier) + number_literal)) ;) (expression_statement "((iVar5._M_current)->rel_).u1_ = local_38;" (assignment_expression "((iVar5._M_current)->rel_).u1_ = local_38" (field_expression "((iVar5._M_current)->rel_).u1_" (parenthesized_expression "((iVar5._M_current)->rel_)" ( (field_expression "(iVar5._M_current)->rel_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "((iVar5._M_current)->rel_).u2_.relobj = local_34;" (assignment_expression "((iVar5._M_current)->rel_).u2_.relobj = local_34" (field_expression "((iVar5._M_current)->rel_).u2_.relobj" (field_expression "((iVar5._M_current)->rel_).u2_" (parenthesized_expression "((iVar5._M_current)->rel_)" ( (field_expression "(iVar5._M_current)->rel_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "((iVar5._M_current)->rel_).address_ = local_30;" (assignment_expression "((iVar5._M_current)->rel_).address_ = local_30" (field_expression "((iVar5._M_current)->rel_).address_" (parenthesized_expression "((iVar5._M_current)->rel_)" ( (field_expression "(iVar5._M_current)->rel_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "((iVar5._M_current)->rel_).local_sym_index_ = local_2c;" (assignment_expression "((iVar5._M_current)->rel_).local_sym_index_ = local_2c" (field_expression "((iVar5._M_current)->rel_).local_sym_index_" (parenthesized_expression "((iVar5._M_current)->rel_)" ( (field_expression "(iVar5._M_current)->rel_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "*(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_28;" (assignment_expression "*(uint *)&((iVar5._M_current)->rel_).field_0x10 = local_28" (pointer_expression "*(uint *)&((iVar5._M_current)->rel_).field_0x10" * (cast_expression "(uint *)&((iVar5._M_current)->rel_).field_0x10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((iVar5._M_current)->rel_).field_0x10" & (field_expression "((iVar5._M_current)->rel_).field_0x10" (parenthesized_expression "((iVar5._M_current)->rel_)" ( (field_expression "(iVar5._M_current)->rel_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "((iVar5._M_current)->rel_).shndx_ = local_24;" (assignment_expression "((iVar5._M_current)->rel_).shndx_ = local_24" (field_expression "((iVar5._M_current)->rel_).shndx_" (parenthesized_expression "((iVar5._M_current)->rel_)" ( (field_expression "(iVar5._M_current)->rel_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(iVar5._M_current)->addend_ = 0;" (assignment_expression "(iVar5._M_current)->addend_ = 0" (field_expression "(iVar5._M_current)->addend_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (expression_statement "*(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38) = pOVar11;" (assignment_expression "*(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38) = pOVar11" (pointer_expression "*(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38)" * (call_expression "(Output_reloc<4,_true,_32,_false> **)(iVar3 + 0x38)" (parenthesized_expression "(Output_reloc<4,_true,_32,_false> **)" ( (comma_expression "Output_reloc<4,_true,_32,_false> **" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false> **" identifier , (comma_expression "_32,_false> **" identifier , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))))) )) (argument_list "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "iVar9 = (int)pOVar11 - *(int *)(iVar3 + 0x34) >> 2;" (assignment_expression "iVar9 = (int)pOVar11 - *(int *)(iVar3 + 0x34) >> 2" identifier = (binary_expression "(int)pOVar11 - *(int *)(iVar3 + 0x34) >> 2" (binary_expression "(int)pOVar11 - *(int *)(iVar3 + 0x34)" (cast_expression "(int)pOVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(iVar3 + 0x34)" * (cast_expression "(int *)(iVar3 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if ((*(byte *)(iVar3 + 0x1c) & 2) != 0) {\nLAB_00062359:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }" if (parenthesized_expression "((*(byte *)(iVar3 + 0x1c) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar3 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar3 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar3 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar3 + 0x1c)" * (cast_expression "(byte *)(iVar3 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00062359:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }" { (labeled_statement "LAB_00062359:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child")" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") ))) ;))) })) (expression_statement "*(int *)(iVar3 + 0xc) = iVar9 * -0x6db6db6c;" (assignment_expression "*(int *)(iVar3 + 0xc) = iVar9 * -0x6db6db6c" (pointer_expression "*(int *)(iVar3 + 0xc)" * (cast_expression "(int *)(iVar3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) = (binary_expression "iVar9 * -0x6db6db6c" identifier * number_literal)) ;) (expression_statement "*(undefined4 *)(iVar3 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 0x10)" * (cast_expression "(undefined4 *)(iVar3 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar1 = &pOVar4->field_0x1c;" (assignment_expression "puVar1 = &pOVar4->field_0x1c" identifier = (pointer_expression "&pOVar4->field_0x1c" & (field_expression "pOVar4->field_0x1c" identifier -> field_identifier))) ;) (expression_statement "*puVar1 = *puVar1 | 0x10;" (assignment_expression "*puVar1 = *puVar1 | 0x10" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 | 0x10" (pointer_expression "*puVar1" * identifier) | number_literal)) ;) (expression_statement "local_50 = local_34;" (assignment_expression "local_50 = local_34" identifier = identifier) ;) (expression_statement "local_40 = local_24;" (assignment_expression "local_40 = local_24" identifier = identifier) ;) (if_statement "if ((local_28 & 0x10000000) != 0) {\n    *(int *)(iVar3 + 0x2c) = *(int *)(iVar3 + 0x2c) + 1;\n  }" if (parenthesized_expression "((local_28 & 0x10000000) != 0)" ( (binary_expression "(local_28 & 0x10000000) != 0" (parenthesized_expression "(local_28 & 0x10000000)" ( (binary_expression "local_28 & 0x10000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    *(int *)(iVar3 + 0x2c) = *(int *)(iVar3 + 0x2c) + 1;\n  }" { (expression_statement "*(int *)(iVar3 + 0x2c) = *(int *)(iVar3 + 0x2c) + 1;" (assignment_expression "*(int *)(iVar3 + 0x2c) = *(int *)(iVar3 + 0x2c) + 1" (pointer_expression "*(int *)(iVar3 + 0x2c)" * (cast_expression "(int *)(iVar3 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2c)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar3 + 0x2c) + 1" (pointer_expression "*(int *)(iVar3 + 0x2c)" * (cast_expression "(int *)(iVar3 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2c)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) )))) + number_literal)) ;) })) (labeled_statement "joined_r0x0006230d:\n  if ((local_40 != 0xfffffffc) && (local_50 != (Sized_relobj<32,_false> *)0x0)) {\n    uVar6 = (local_50->super_Relobj).dyn_reloc_count_;\n    if (uVar6 == 0) {\n      (local_50->super_Relobj).first_dyn_reloc_ = iVar9 * -0x49249249 - 1;\n    }\n    (local_50->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n  }" statement_identifier : (if_statement "if ((local_40 != 0xfffffffc) && (local_50 != (Sized_relobj<32,_false> *)0x0)) {\n    uVar6 = (local_50->super_Relobj).dyn_reloc_count_;\n    if (uVar6 == 0) {\n      (local_50->super_Relobj).first_dyn_reloc_ = iVar9 * -0x49249249 - 1;\n    }\n    (local_50->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n  }" if (parenthesized_expression "((local_40 != 0xfffffffc) && (local_50 != (Sized_relobj<32,_false> *)0x0))" ( (binary_expression "(local_40 != 0xfffffffc) && (local_50 != (Sized_relobj<32,_false> *)0x0))" (parenthesized_expression "(local_40 != 0xfffffffc)" ( (binary_expression "local_40 != 0xfffffffc" identifier != number_literal) )) && (parenthesized_expression "(local_50 != (Sized_relobj<32,_false> *)0x0))" ( (binary_expression "local_50 != (Sized_relobj<32,_false> *)0x0)" identifier != (parenthesized_expression "(Sized_relobj<32,_false> *)0x0)" ( (comma_expression "Sized_relobj<32,_false> *)0x0" (binary_expression "Sized_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ))) )) (compound_statement "{\n    uVar6 = (local_50->super_Relobj).dyn_reloc_count_;\n    if (uVar6 == 0) {\n      (local_50->super_Relobj).first_dyn_reloc_ = iVar9 * -0x49249249 - 1;\n    }\n    (local_50->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n  }" { (expression_statement "uVar6 = (local_50->super_Relobj).dyn_reloc_count_;" (assignment_expression "uVar6 = (local_50->super_Relobj).dyn_reloc_count_" identifier = (field_expression "(local_50->super_Relobj).dyn_reloc_count_" (parenthesized_expression "(local_50->super_Relobj)" ( (field_expression "local_50->super_Relobj" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (uVar6 == 0) {\n      (local_50->super_Relobj).first_dyn_reloc_ = iVar9 * -0x49249249 - 1;\n    }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      (local_50->super_Relobj).first_dyn_reloc_ = iVar9 * -0x49249249 - 1;\n    }" { (expression_statement "(local_50->super_Relobj).first_dyn_reloc_ = iVar9 * -0x49249249 - 1;" (assignment_expression "(local_50->super_Relobj).first_dyn_reloc_ = iVar9 * -0x49249249 - 1" (field_expression "(local_50->super_Relobj).first_dyn_reloc_" (parenthesized_expression "(local_50->super_Relobj)" ( (field_expression "local_50->super_Relobj" identifier -> field_identifier) )) . field_identifier) = (binary_expression "iVar9 * -0x49249249 - 1" (binary_expression "iVar9 * -0x49249249" identifier * number_literal) - number_literal)) ;) })) (expression_statement "(local_50->super_Relobj).dyn_reloc_count_ = uVar6 + 1;" (assignment_expression "(local_50->super_Relobj).dyn_reloc_count_ = uVar6 + 1" (field_expression "(local_50->super_Relobj).dyn_reloc_count_" (parenthesized_expression "(local_50->super_Relobj)" ( (field_expression "local_50->super_Relobj" identifier -> field_identifier) )) . field_identifier) = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) }))) (return_statement "return;" return ;) })))
(translation_unit "void __regparm2 FUN_00062070(int param_1,undefined4 param_2,undefined4 *param_3,undefined4 param_4)\n\n{\n  byte *pbVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char cVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  char local_55;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  uint local_44;\n  int local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  uint local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x6207b;\n  if ((*(byte *)(param_3 + 10) & 0xf) == 10) {\n    if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }\nLAB_00062097:\n  *(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40;\n  iVar2 = *(int *)(param_1 + 0x2c);\n  iVar7 = *(int *)(param_1 + 0x3c);\n  FUN_000f5a50(&local_38,param_3,7,iVar7,param_4,0,0,0);\n  local_20 = 0;\n  puVar3 = *(undefined4 **)(iVar2 + 0x38);\n  if (puVar3 == *(undefined4 **)(iVar2 + 0x3c)) {\n    FUN_00073560(iVar2 + 0x34,puVar3,&local_38);\n    puVar8 = *(undefined4 **)(iVar2 + 0x38);\n  }\n  else {\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }\n  iVar5 = (int)puVar8 - *(int *)(iVar2 + 0x34) >> 2;\n  iVar6 = iVar5 * -0x6db6db6c;\n  if ((*(byte *)(iVar2 + 0x1c) & 2) != 0) {\nLAB_00062359:\n                    \n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);\n  }\n  *(int *)(iVar2 + 0xc) = iVar6;\n  *(undefined4 *)(iVar2 + 0x10) = 0;\n  pbVar1 = (byte *)(iVar7 + 0x1c);\n  *pbVar1 = *pbVar1 | 0x10;\n  local_50 = local_34;\n  local_40 = local_24;\n  if ((local_28 & 0x10000000) != 0) {\n    *(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;\n  }\njoined_r0x0006230d:\n  if ((local_40 != -4) && (local_50 != 0)) {\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }\n  return;\n}\n\n" (function_definition "void __regparm2 FUN_00062070(int param_1,undefined4 param_2,undefined4 *param_3,undefined4 param_4)\n\n{\n  byte *pbVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char cVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  char local_55;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  uint local_44;\n  int local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  uint local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x6207b;\n  if ((*(byte *)(param_3 + 10) & 0xf) == 10) {\n    if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }\nLAB_00062097:\n  *(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40;\n  iVar2 = *(int *)(param_1 + 0x2c);\n  iVar7 = *(int *)(param_1 + 0x3c);\n  FUN_000f5a50(&local_38,param_3,7,iVar7,param_4,0,0,0);\n  local_20 = 0;\n  puVar3 = *(undefined4 **)(iVar2 + 0x38);\n  if (puVar3 == *(undefined4 **)(iVar2 + 0x3c)) {\n    FUN_00073560(iVar2 + 0x34,puVar3,&local_38);\n    puVar8 = *(undefined4 **)(iVar2 + 0x38);\n  }\n  else {\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }\n  iVar5 = (int)puVar8 - *(int *)(iVar2 + 0x34) >> 2;\n  iVar6 = iVar5 * -0x6db6db6c;\n  if ((*(byte *)(iVar2 + 0x1c) & 2) != 0) {\nLAB_00062359:\n                    \n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);\n  }\n  *(int *)(iVar2 + 0xc) = iVar6;\n  *(undefined4 *)(iVar2 + 0x10) = 0;\n  pbVar1 = (byte *)(iVar7 + 0x1c);\n  *pbVar1 = *pbVar1 | 0x10;\n  local_50 = local_34;\n  local_40 = local_24;\n  if ((local_28 & 0x10000000) != 0) {\n    *(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;\n  }\njoined_r0x0006230d:\n  if ((local_40 != -4) && (local_50 != 0)) {\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }\n  return;\n}" primitive_type (ERROR "__regparm2" identifier) (function_declarator "FUN_00062070(int param_1,undefined4 param_2,undefined4 *param_3,undefined4 param_4)" identifier (parameter_list "(int param_1,undefined4 param_2,undefined4 *param_3,undefined4 param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  byte *pbVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char cVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  char local_55;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  uint local_44;\n  int local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  uint local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x6207b;\n  if ((*(byte *)(param_3 + 10) & 0xf) == 10) {\n    if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }\nLAB_00062097:\n  *(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40;\n  iVar2 = *(int *)(param_1 + 0x2c);\n  iVar7 = *(int *)(param_1 + 0x3c);\n  FUN_000f5a50(&local_38,param_3,7,iVar7,param_4,0,0,0);\n  local_20 = 0;\n  puVar3 = *(undefined4 **)(iVar2 + 0x38);\n  if (puVar3 == *(undefined4 **)(iVar2 + 0x3c)) {\n    FUN_00073560(iVar2 + 0x34,puVar3,&local_38);\n    puVar8 = *(undefined4 **)(iVar2 + 0x38);\n  }\n  else {\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }\n  iVar5 = (int)puVar8 - *(int *)(iVar2 + 0x34) >> 2;\n  iVar6 = iVar5 * -0x6db6db6c;\n  if ((*(byte *)(iVar2 + 0x1c) & 2) != 0) {\nLAB_00062359:\n                    \n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);\n  }\n  *(int *)(iVar2 + 0xc) = iVar6;\n  *(undefined4 *)(iVar2 + 0x10) = 0;\n  pbVar1 = (byte *)(iVar7 + 0x1c);\n  *pbVar1 = *pbVar1 | 0x10;\n  local_50 = local_34;\n  local_40 = local_24;\n  if ((local_28 & 0x10000000) != 0) {\n    *(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;\n  }\njoined_r0x0006230d:\n  if ((local_40 != -4) && (local_50 != 0)) {\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }\n  return;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "char local_55;" primitive_type identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x6207b;" (assignment_expression "uStack_14 = 0x6207b" identifier = number_literal) ;) (if_statement "if ((*(byte *)(param_3 + 10) & 0xf) == 10) {\n    if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }" if (parenthesized_expression "((*(byte *)(param_3 + 10) & 0xf) == 10)" ( (binary_expression "(*(byte *)(param_3 + 10) & 0xf) == 10" (parenthesized_expression "(*(byte *)(param_3 + 10) & 0xf)" ( (binary_expression "*(byte *)(param_3 + 10) & 0xf" (pointer_expression "*(byte *)(param_3 + 10)" * (cast_expression "(byte *)(param_3 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 10)" ( (binary_expression "param_3 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }" { (if_statement "if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }" if (parenthesized_expression "((*(byte *)((int)param_3 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)param_3 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)param_3 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)param_3 + 0x2a) & 7" (pointer_expression "*(byte *)((int)param_3 + 0x2a)" * (cast_expression "(byte *)((int)param_3 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + 0x2a)" ( (binary_expression "(int)param_3 + 0x2a" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }" { (if_statement "if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;" if (parenthesized_expression "(((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0))))" ( (binary_expression "((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))" (parenthesized_expression "((*(byte *)(param_3[2] + 0x2c) & 1) == 0)" ( (binary_expression "(*(byte *)(param_3[2] + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_3[2] + 0x2c) & 1)" ( (binary_expression "*(byte *)(param_3[2] + 0x2c) & 1" (pointer_expression "*(byte *)(param_3[2] + 0x2c)" * (cast_expression "(byte *)(param_3[2] + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3[2] + 0x2c)" ( (binary_expression "param_3[2] + 0x2c" (subscript_expression "param_3[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))" ( (parenthesized_expression "(param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0))" ( (binary_expression "param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)" (binary_expression "param_3[3] != 0" (subscript_expression "param_3[3]" identifier [ number_literal ]) != number_literal) || (parenthesized_expression "((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)param_3 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)param_3 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)param_3 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)param_3 + 0x2b)" * (cast_expression "(byte *)((int)param_3 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + 0x2b)" ( (binary_expression "(int)param_3 + 0x2b" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_000621b8;" goto statement_identifier ;)) }) (else_clause "else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }" else (if_statement "if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }" if (parenthesized_expression "((*(byte *)((int)param_3 + 0x2a) & 7) != 4)" ( (binary_expression "(*(byte *)((int)param_3 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)param_3 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)param_3 + 0x2a) & 7" (pointer_expression "*(byte *)((int)param_3 + 0x2a)" * (cast_expression "(byte *)((int)param_3 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + 0x2a)" ( (binary_expression "(int)param_3 + 0x2a" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }" { (labeled_statement "LAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }" statement_identifier : (if_statement "if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }" if (parenthesized_expression "(((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0))" ( (binary_expression "((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)" (parenthesized_expression "((*(byte *)((int)param_3 + 0x29) & 3) == 0)" ( (binary_expression "(*(byte *)((int)param_3 + 0x29) & 3) == 0" (parenthesized_expression "(*(byte *)((int)param_3 + 0x29) & 3)" ( (binary_expression "*(byte *)((int)param_3 + 0x29) & 3" (pointer_expression "*(byte *)((int)param_3 + 0x29)" * (cast_expression "(byte *)((int)param_3 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + 0x29)" ( (binary_expression "(int)param_3 + 0x29" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)param_3 + 0x2b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)param_3 + 0x2b) & 0x10)" ( (binary_expression "*(byte *)((int)param_3 + 0x2b) & 0x10" (pointer_expression "*(byte *)((int)param_3 + 0x2b)" * (cast_expression "(byte *)((int)param_3 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + 0x2b)" ( (binary_expression "(int)param_3 + 0x2b" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }" { (expression_statement "iVar2 = *(int *)(DAT_0033f2f0 + 8);" (assignment_expression "iVar2 = *(int *)(DAT_0033f2f0 + 8)" identifier = (pointer_expression "*(int *)(DAT_0033f2f0 + 8)" * (cast_expression "(int *)(DAT_0033f2f0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0033f2f0 + 8)" ( (binary_expression "DAT_0033f2f0 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }" { (labeled_statement "LAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);" statement_identifier : (expression_statement "FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);" (call_expression "FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2)" identifier (argument_list "("../../gold/parameters.h",0x5c,"options",param_2)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") , identifier ))) ;)) })) (if_statement "if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }" if (parenthesized_expression "(*(char *)(iVar2 + 0x1a25) != '\0')" ( (binary_expression "*(char *)(iVar2 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar2 + 0x1a25)" * (cast_expression "(char *)(iVar2 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1a25)" ( (binary_expression "iVar2 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }" { (expression_statement "cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);" (assignment_expression "cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55)" identifier = (call_expression "FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55)" identifier (argument_list "(iVar2 + 0x59a8,*param_3,0,&local_55)" ( (binary_expression "iVar2 + 0x59a8" identifier + number_literal) , (pointer_expression "*param_3" * identifier) , number_literal , (pointer_expression "&local_55" & identifier) )))) ;) (if_statement "if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }" if (parenthesized_expression "((cVar4 == '\0') || (local_55 != '\0'))" ( (binary_expression "(cVar4 == '\0') || (local_55 != '\0')" (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(local_55 != '\0')" ( (binary_expression "local_55 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }" { (expression_statement "iVar2 = *(int *)(DAT_0033f2f0 + 8);" (assignment_expression "iVar2 = *(int *)(DAT_0033f2f0 + 8)" identifier = (pointer_expression "*(int *)(DAT_0033f2f0 + 8)" * (cast_expression "(int *)(DAT_0033f2f0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0033f2f0 + 8)" ( (binary_expression "DAT_0033f2f0 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) goto LAB_00062372;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00062372;" goto statement_identifier ;)) (if_statement "if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;" if (parenthesized_expression "((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))" ( (binary_expression "(*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0')))" (parenthesized_expression "(*(char *)(iVar2 + 0x825) != '\0')" ( (binary_expression "*(char *)(iVar2 + 0x825) != '\0'" (pointer_expression "*(char *)(iVar2 + 0x825)" * (cast_expression "(char *)(iVar2 + 0x825)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x825)" ( (binary_expression "iVar2 + 0x825" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0')))" ( (parenthesized_expression "((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))" ( (binary_expression "(*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0')" (binary_expression "(*(byte *)(param_3 + 10) & 0xf) != 1" (parenthesized_expression "(*(byte *)(param_3 + 10) & 0xf)" ( (binary_expression "*(byte *)(param_3 + 10) & 0xf" (pointer_expression "*(byte *)(param_3 + 10)" * (cast_expression "(byte *)(param_3 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 10)" ( (binary_expression "param_3 + 10" identifier + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "(*(char *)(iVar2 + 0x8a1) != '\0')" ( (binary_expression "*(char *)(iVar2 + 0x8a1) != '\0'" (pointer_expression "*(char *)(iVar2 + 0x8a1)" * (cast_expression "(char *)(iVar2 + 0x8a1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x8a1)" ( (binary_expression "iVar2 + 0x8a1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (goto_statement "goto LAB_00062260;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00062097;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00062260:\n      iVar7 = FUN_0005eb10();" statement_identifier : (expression_statement "iVar7 = FUN_0005eb10();" (assignment_expression "iVar7 = FUN_0005eb10()" identifier = (call_expression "FUN_0005eb10()" identifier (argument_list "()" ( )))) ;)) (expression_statement "iVar2 = *(int *)(param_1 + 0x40);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x40)" identifier = (pointer_expression "*(int *)(param_1 + 0x40)" * (cast_expression "(int *)(param_1 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);" (call_expression "FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0)" identifier (argument_list "(&local_54,param_3,0x25,iVar2,param_4,0,1,0)" ( (pointer_expression "&local_54" & identifier) , identifier , number_literal , identifier , identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "puVar3 = *(undefined4 **)(iVar7 + 0x38);" (assignment_expression "puVar3 = *(undefined4 **)(iVar7 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(iVar7 + 0x38)" * (cast_expression "(undefined4 **)(iVar7 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }" if (parenthesized_expression "(puVar3 == *(undefined4 **)(iVar7 + 0x3c))" ( (binary_expression "puVar3 == *(undefined4 **)(iVar7 + 0x3c)" identifier == (pointer_expression "*(undefined4 **)(iVar7 + 0x3c)" * (cast_expression "(undefined4 **)(iVar7 + 0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x3c)" ( (binary_expression "iVar7 + 0x3c" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }" { (expression_statement "FUN_00073560(iVar7 + 0x34,puVar3,&local_54);" (call_expression "FUN_00073560(iVar7 + 0x34,puVar3,&local_54)" identifier (argument_list "(iVar7 + 0x34,puVar3,&local_54)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) , identifier , (pointer_expression "&local_54" & identifier) ))) ;) (expression_statement "puVar8 = *(undefined4 **)(iVar7 + 0x38);" (assignment_expression "puVar8 = *(undefined4 **)(iVar7 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(iVar7 + 0x38)" * (cast_expression "(undefined4 **)(iVar7 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }" else (compound_statement "{\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }" { (expression_statement "puVar8 = puVar3 + 7;" (assignment_expression "puVar8 = puVar3 + 7" identifier = (binary_expression "puVar3 + 7" identifier + number_literal)) ;) (expression_statement "*puVar3 = local_54;" (assignment_expression "*puVar3 = local_54" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "puVar3[1] = local_50;" (assignment_expression "puVar3[1] = local_50" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[2] = local_4c;" (assignment_expression "puVar3[2] = local_4c" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[3] = local_48;" (assignment_expression "puVar3[3] = local_48" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[4] = local_44;" (assignment_expression "puVar3[4] = local_44" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[5] = local_40;" (assignment_expression "puVar3[5] = local_40" (subscript_expression "puVar3[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[6] = 0;" (assignment_expression "puVar3[6] = 0" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 **)(iVar7 + 0x38) = puVar8;" (assignment_expression "*(undefined4 **)(iVar7 + 0x38) = puVar8" (pointer_expression "*(undefined4 **)(iVar7 + 0x38)" * (cast_expression "(undefined4 **)(iVar7 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;" (assignment_expression "iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2" identifier = (binary_expression "(int)puVar8 - *(int *)(iVar7 + 0x34) >> 2" (binary_expression "(int)puVar8 - *(int *)(iVar7 + 0x34)" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(iVar7 + 0x34)" * (cast_expression "(int *)(iVar7 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) ))))) >> number_literal)) ;) (expression_statement "iVar6 = iVar5 * -0x6db6db6c;" (assignment_expression "iVar6 = iVar5 * -0x6db6db6c" identifier = (binary_expression "iVar5 * -0x6db6db6c" identifier * number_literal)) ;) (if_statement "if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;" if (parenthesized_expression "((*(byte *)(iVar7 + 0x1c) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar7 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar7 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar7 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar7 + 0x1c)" * (cast_expression "(byte *)(iVar7 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00062359;" goto statement_identifier ;)) (expression_statement "*(int *)(iVar7 + 0xc) = iVar6;" (assignment_expression "*(int *)(iVar7 + 0xc) = iVar6" (pointer_expression "*(int *)(iVar7 + 0xc)" * (cast_expression "(int *)(iVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 0x10)" * (cast_expression "(undefined4 *)(iVar7 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pbVar1 = (byte *)(iVar2 + 0x1c);" (assignment_expression "pbVar1 = (byte *)(iVar2 + 0x1c)" identifier = (cast_expression "(byte *)(iVar2 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) ;) (expression_statement "*pbVar1 = *pbVar1 | 0x10;" (assignment_expression "*pbVar1 = *pbVar1 | 0x10" (pointer_expression "*pbVar1" * identifier) = (binary_expression "*pbVar1 | 0x10" (pointer_expression "*pbVar1" * identifier) | number_literal)) ;) (if_statement "if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }" if (parenthesized_expression "((local_44 & 0x10000000) != 0)" ( (binary_expression "(local_44 & 0x10000000) != 0" (parenthesized_expression "(local_44 & 0x10000000)" ( (binary_expression "local_44 & 0x10000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }" { (expression_statement "*(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;" (assignment_expression "*(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1" (pointer_expression "*(int *)(iVar7 + 0x2c)" * (cast_expression "(int *)(iVar7 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2c)" ( (binary_expression "iVar7 + 0x2c" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar7 + 0x2c) + 1" (pointer_expression "*(int *)(iVar7 + 0x2c)" * (cast_expression "(int *)(iVar7 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2c)" ( (binary_expression "iVar7 + 0x2c" identifier + number_literal) )))) + number_literal)) ;) })) (goto_statement "goto joined_r0x0006230d;" goto statement_identifier ;) })))) })) (labeled_statement "LAB_00062097:\n  *(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40;" statement_identifier : (expression_statement "*(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40;" (assignment_expression "*(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40" (pointer_expression "*(byte *)((int)param_3 + 0x2a)" * (cast_expression "(byte *)((int)param_3 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + 0x2a)" ( (binary_expression "(int)param_3 + 0x2a" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)param_3 + 0x2a) | 0x40" (pointer_expression "*(byte *)((int)param_3 + 0x2a)" * (cast_expression "(byte *)((int)param_3 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + 0x2a)" ( (binary_expression "(int)param_3 + 0x2a" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;)) (expression_statement "iVar2 = *(int *)(param_1 + 0x2c);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x2c)" identifier = (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(param_1 + 0x3c);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x3c)" identifier = (pointer_expression "*(int *)(param_1 + 0x3c)" * (cast_expression "(int *)(param_1 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "FUN_000f5a50(&local_38,param_3,7,iVar7,param_4,0,0,0);" (call_expression "FUN_000f5a50(&local_38,param_3,7,iVar7,param_4,0,0,0)" identifier (argument_list "(&local_38,param_3,7,iVar7,param_4,0,0,0)" ( (pointer_expression "&local_38" & identifier) , identifier , number_literal , identifier , identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "puVar3 = *(undefined4 **)(iVar2 + 0x38);" (assignment_expression "puVar3 = *(undefined4 **)(iVar2 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(iVar2 + 0x38)" * (cast_expression "(undefined4 **)(iVar2 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x38)" ( (binary_expression "iVar2 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 == *(undefined4 **)(iVar2 + 0x3c)) {\n    FUN_00073560(iVar2 + 0x34,puVar3,&local_38);\n    puVar8 = *(undefined4 **)(iVar2 + 0x38);\n  }\n  else {\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }" if (parenthesized_expression "(puVar3 == *(undefined4 **)(iVar2 + 0x3c))" ( (binary_expression "puVar3 == *(undefined4 **)(iVar2 + 0x3c)" identifier == (pointer_expression "*(undefined4 **)(iVar2 + 0x3c)" * (cast_expression "(undefined4 **)(iVar2 + 0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x3c)" ( (binary_expression "iVar2 + 0x3c" identifier + number_literal) ))))) )) (compound_statement "{\n    FUN_00073560(iVar2 + 0x34,puVar3,&local_38);\n    puVar8 = *(undefined4 **)(iVar2 + 0x38);\n  }" { (expression_statement "FUN_00073560(iVar2 + 0x34,puVar3,&local_38);" (call_expression "FUN_00073560(iVar2 + 0x34,puVar3,&local_38)" identifier (argument_list "(iVar2 + 0x34,puVar3,&local_38)" ( (binary_expression "iVar2 + 0x34" identifier + number_literal) , identifier , (pointer_expression "&local_38" & identifier) ))) ;) (expression_statement "puVar8 = *(undefined4 **)(iVar2 + 0x38);" (assignment_expression "puVar8 = *(undefined4 **)(iVar2 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(iVar2 + 0x38)" * (cast_expression "(undefined4 **)(iVar2 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x38)" ( (binary_expression "iVar2 + 0x38" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }" else (compound_statement "{\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }" { (expression_statement "puVar8 = puVar3 + 7;" (assignment_expression "puVar8 = puVar3 + 7" identifier = (binary_expression "puVar3 + 7" identifier + number_literal)) ;) (expression_statement "*puVar3 = local_38;" (assignment_expression "*puVar3 = local_38" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "puVar3[1] = local_34;" (assignment_expression "puVar3[1] = local_34" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[2] = local_30;" (assignment_expression "puVar3[2] = local_30" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[3] = local_2c;" (assignment_expression "puVar3[3] = local_2c" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[4] = local_28;" (assignment_expression "puVar3[4] = local_28" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[5] = local_24;" (assignment_expression "puVar3[5] = local_24" (subscript_expression "puVar3[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[6] = 0;" (assignment_expression "puVar3[6] = 0" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 **)(iVar2 + 0x38) = puVar8;" (assignment_expression "*(undefined4 **)(iVar2 + 0x38) = puVar8" (pointer_expression "*(undefined4 **)(iVar2 + 0x38)" * (cast_expression "(undefined4 **)(iVar2 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x38)" ( (binary_expression "iVar2 + 0x38" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "iVar5 = (int)puVar8 - *(int *)(iVar2 + 0x34) >> 2;" (assignment_expression "iVar5 = (int)puVar8 - *(int *)(iVar2 + 0x34) >> 2" identifier = (binary_expression "(int)puVar8 - *(int *)(iVar2 + 0x34) >> 2" (binary_expression "(int)puVar8 - *(int *)(iVar2 + 0x34)" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(iVar2 + 0x34)" * (cast_expression "(int *)(iVar2 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x34)" ( (binary_expression "iVar2 + 0x34" identifier + number_literal) ))))) >> number_literal)) ;) (expression_statement "iVar6 = iVar5 * -0x6db6db6c;" (assignment_expression "iVar6 = iVar5 * -0x6db6db6c" identifier = (binary_expression "iVar5 * -0x6db6db6c" identifier * number_literal)) ;) (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 2) != 0) {\nLAB_00062359:\n                    \n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);\n  }" if (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar2 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar2 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar2 + 0x1c)" * (cast_expression "(byte *)(iVar2 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00062359:\n                    \n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);\n  }" { (labeled_statement "LAB_00062359:\n                    \n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);" statement_identifier : (expression_statement "FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);" (call_expression "FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6)" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") , identifier ))) ;)) })) (expression_statement "*(int *)(iVar2 + 0xc) = iVar6;" (assignment_expression "*(int *)(iVar2 + 0xc) = iVar6" (pointer_expression "*(int *)(iVar2 + 0xc)" * (cast_expression "(int *)(iVar2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" * (cast_expression "(undefined4 *)(iVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pbVar1 = (byte *)(iVar7 + 0x1c);" (assignment_expression "pbVar1 = (byte *)(iVar7 + 0x1c)" identifier = (cast_expression "(byte *)(iVar7 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) ;) (expression_statement "*pbVar1 = *pbVar1 | 0x10;" (assignment_expression "*pbVar1 = *pbVar1 | 0x10" (pointer_expression "*pbVar1" * identifier) = (binary_expression "*pbVar1 | 0x10" (pointer_expression "*pbVar1" * identifier) | number_literal)) ;) (expression_statement "local_50 = local_34;" (assignment_expression "local_50 = local_34" identifier = identifier) ;) (expression_statement "local_40 = local_24;" (assignment_expression "local_40 = local_24" identifier = identifier) ;) (if_statement "if ((local_28 & 0x10000000) != 0) {\n    *(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;\n  }" if (parenthesized_expression "((local_28 & 0x10000000) != 0)" ( (binary_expression "(local_28 & 0x10000000) != 0" (parenthesized_expression "(local_28 & 0x10000000)" ( (binary_expression "local_28 & 0x10000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    *(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;\n  }" { (expression_statement "*(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;" (assignment_expression "*(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1" (pointer_expression "*(int *)(iVar2 + 0x2c)" * (cast_expression "(int *)(iVar2 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2c)" ( (binary_expression "iVar2 + 0x2c" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar2 + 0x2c) + 1" (pointer_expression "*(int *)(iVar2 + 0x2c)" * (cast_expression "(int *)(iVar2 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2c)" ( (binary_expression "iVar2 + 0x2c" identifier + number_literal) )))) + number_literal)) ;) })) (labeled_statement "joined_r0x0006230d:\n  if ((local_40 != -4) && (local_50 != 0)) {\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }" statement_identifier : (if_statement "if ((local_40 != -4) && (local_50 != 0)) {\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }" if (parenthesized_expression "((local_40 != -4) && (local_50 != 0))" ( (binary_expression "(local_40 != -4) && (local_50 != 0)" (parenthesized_expression "(local_40 != -4)" ( (binary_expression "local_40 != -4" identifier != number_literal) )) && (parenthesized_expression "(local_50 != 0)" ( (binary_expression "local_50 != 0" identifier != number_literal) ))) )) (compound_statement "{\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }" { (if_statement "if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }" if (parenthesized_expression "(*(int *)(local_50 + 100) == 0)" ( (binary_expression "*(int *)(local_50 + 100) == 0" (pointer_expression "*(int *)(local_50 + 100)" * (cast_expression "(int *)(local_50 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_50 + 100)" ( (binary_expression "local_50 + 100" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }" { (expression_statement "*(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;" (assignment_expression "*(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1" (pointer_expression "*(int *)(local_50 + 0x60)" * (cast_expression "(int *)(local_50 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_50 + 0x60)" ( (binary_expression "local_50 + 0x60" identifier + number_literal) )))) = (binary_expression "iVar5 * -0x49249249 + -1" (binary_expression "iVar5 * -0x49249249" identifier * number_literal) + number_literal)) ;) })) (expression_statement "*(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;" (assignment_expression "*(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1" (pointer_expression "*(int *)(local_50 + 100)" * (cast_expression "(int *)(local_50 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_50 + 100)" ( (binary_expression "local_50 + 100" identifier + number_literal) )))) = (binary_expression "*(int *)(local_50 + 100) + 1" (pointer_expression "*(int *)(local_50 + 100)" * (cast_expression "(int *)(local_50 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_50 + 100)" ( (binary_expression "local_50 + 100" identifier + number_literal) )))) + number_literal)) ;) }))) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * 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 ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & 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 IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * IDENT) , LIT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) (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 IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) ))) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , LIT , IDENT , IDENT , LIT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_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) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (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)) ;) })) (goto_statement goto statement_identifier ;) })))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) | LIT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , LIT , IDENT , IDENT , LIT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_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) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;)) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (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)) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_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) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }))) (return_statement return ;) })))
(function_definition "void __regparm2 FUN_00062070(int param_1,undefined4 param_2,undefined4 *param_3,undefined4 param_4)\n\n{\n  byte *pbVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char cVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  char local_55;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  uint local_44;\n  int local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  uint local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x6207b;\n  if ((*(byte *)(param_3 + 10) & 0xf) == 10) {\n    if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }\nLAB_00062097:\n  *(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40;\n  iVar2 = *(int *)(param_1 + 0x2c);\n  iVar7 = *(int *)(param_1 + 0x3c);\n  FUN_000f5a50(&local_38,param_3,7,iVar7,param_4,0,0,0);\n  local_20 = 0;\n  puVar3 = *(undefined4 **)(iVar2 + 0x38);\n  if (puVar3 == *(undefined4 **)(iVar2 + 0x3c)) {\n    FUN_00073560(iVar2 + 0x34,puVar3,&local_38);\n    puVar8 = *(undefined4 **)(iVar2 + 0x38);\n  }\n  else {\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }\n  iVar5 = (int)puVar8 - *(int *)(iVar2 + 0x34) >> 2;\n  iVar6 = iVar5 * -0x6db6db6c;\n  if ((*(byte *)(iVar2 + 0x1c) & 2) != 0) {\nLAB_00062359:\n                    \n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);\n  }\n  *(int *)(iVar2 + 0xc) = iVar6;\n  *(undefined4 *)(iVar2 + 0x10) = 0;\n  pbVar1 = (byte *)(iVar7 + 0x1c);\n  *pbVar1 = *pbVar1 | 0x10;\n  local_50 = local_34;\n  local_40 = local_24;\n  if ((local_28 & 0x10000000) != 0) {\n    *(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;\n  }\njoined_r0x0006230d:\n  if ((local_40 != -4) && (local_50 != 0)) {\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }\n  return;\n}" (primitive_type "void") (ERROR "__regparm2" (identifier "__regparm2")) (function_declarator "FUN_00062070(int param_1,undefined4 param_2,undefined4 *param_3,undefined4 param_4)" (identifier "FUN_00062070") (parameter_list "(int param_1,undefined4 param_2,undefined4 *param_3,undefined4 param_4)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 *param_3" (type_identifier "undefined4") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) () ")"))) (compound_statement "{\n  byte *pbVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char cVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  char local_55;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  uint local_44;\n  int local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  uint local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x6207b;\n  if ((*(byte *)(param_3 + 10) & 0xf) == 10) {\n    if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }\nLAB_00062097:\n  *(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40;\n  iVar2 = *(int *)(param_1 + 0x2c);\n  iVar7 = *(int *)(param_1 + 0x3c);\n  FUN_000f5a50(&local_38,param_3,7,iVar7,param_4,0,0,0);\n  local_20 = 0;\n  puVar3 = *(undefined4 **)(iVar2 + 0x38);\n  if (puVar3 == *(undefined4 **)(iVar2 + 0x3c)) {\n    FUN_00073560(iVar2 + 0x34,puVar3,&local_38);\n    puVar8 = *(undefined4 **)(iVar2 + 0x38);\n  }\n  else {\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }\n  iVar5 = (int)puVar8 - *(int *)(iVar2 + 0x34) >> 2;\n  iVar6 = iVar5 * -0x6db6db6c;\n  if ((*(byte *)(iVar2 + 0x1c) & 2) != 0) {\nLAB_00062359:\n                    \n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);\n  }\n  *(int *)(iVar2 + 0xc) = iVar6;\n  *(undefined4 *)(iVar2 + 0x10) = 0;\n  pbVar1 = (byte *)(iVar7 + 0x1c);\n  *pbVar1 = *pbVar1 | 0x10;\n  local_50 = local_34;\n  local_40 = local_24;\n  if ((local_28 & 0x10000000) != 0) {\n    *(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;\n  }\njoined_r0x0006230d:\n  if ((local_40 != -4) && (local_50 != 0)) {\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }\n  return;\n}" ({ "{") (declaration "byte *pbVar1;" (type_identifier "byte") (pointer_declarator "*pbVar1" (* "*") (identifier "pbVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "char cVar4;" (primitive_type "char") (identifier "cVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "char local_55;" (primitive_type "char") (identifier "local_55") (; ";")) (declaration "undefined4 local_54;" (type_identifier "undefined4") (identifier "local_54") (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "uint local_44;" (type_identifier "uint") (identifier "local_44") (; ";")) (declaration "int local_40;" (primitive_type "int") (identifier "local_40") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "uint local_28;" (type_identifier "uint") (identifier "local_28") (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x6207b;" (assignment_expression "uStack_14 = 0x6207b" (identifier "uStack_14") (= "=") (number_literal "0x6207b")) (; ";")) (if_statement "if ((*(byte *)(param_3 + 10) & 0xf) == 10) {\n    if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }" (if "if") (parenthesized_expression "((*(byte *)(param_3 + 10) & 0xf) == 10)" (( "(") (binary_expression "(*(byte *)(param_3 + 10) & 0xf) == 10" (parenthesized_expression "(*(byte *)(param_3 + 10) & 0xf)" (( "(") (binary_expression "*(byte *)(param_3 + 10) & 0xf" (pointer_expression "*(byte *)(param_3 + 10)" (* "*") (cast_expression "(byte *)(param_3 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 10)" (( "(") (binary_expression "param_3 + 10" (identifier "param_3") (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "10")) () ")")) (compound_statement "{\n    if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }\n  }" ({ "{") (if_statement "if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }\n    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }" (if "if") (parenthesized_expression "((*(byte *)((int)param_3 + 0x2a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((int)param_3 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)param_3 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)param_3 + 0x2a) & 7" (pointer_expression "*(byte *)((int)param_3 + 0x2a)" (* "*") (cast_expression "(byte *)((int)param_3 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_3 + 0x2a)" (( "(") (binary_expression "(int)param_3 + 0x2a" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;\n    }" ({ "{") (if_statement "if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;" (if "if") (parenthesized_expression "(((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0))))" (( "(") (binary_expression "((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&\n         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))" (parenthesized_expression "((*(byte *)(param_3[2] + 0x2c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(param_3[2] + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_3[2] + 0x2c) & 1)" (( "(") (binary_expression "*(byte *)(param_3[2] + 0x2c) & 1" (pointer_expression "*(byte *)(param_3[2] + 0x2c)" (* "*") (cast_expression "(byte *)(param_3[2] + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3[2] + 0x2c)" (( "(") (binary_expression "param_3[2] + 0x2c" (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0x2c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))" (( "(") (parenthesized_expression "(param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0))" (( "(") (binary_expression "param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)" (binary_expression "param_3[3] != 0" (subscript_expression "param_3[3]" (identifier "param_3") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((int)param_3 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)param_3 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)((int)param_3 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)param_3 + 0x2b)" (* "*") (cast_expression "(byte *)((int)param_3 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_3 + 0x2b)" (( "(") (binary_expression "(int)param_3 + 0x2b" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000621b8;" (goto "goto") (statement_identifier "LAB_000621b8") (; ";"))) (} "}")) (else_clause "else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }" (else "else") (if_statement "if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }" (if "if") (parenthesized_expression "((*(byte *)((int)param_3 + 0x2a) & 7) != 4)" (( "(") (binary_expression "(*(byte *)((int)param_3 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)param_3 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)param_3 + 0x2a) & 7" (pointer_expression "*(byte *)((int)param_3 + 0x2a)" (* "*") (cast_expression "(byte *)((int)param_3 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_3 + 0x2a)" (( "(") (binary_expression "(int)param_3 + 0x2a" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\nLAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }\nLAB_00062260:\n      iVar7 = FUN_0005eb10();\n      iVar2 = *(int *)(param_1 + 0x40);\n      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);\n      local_3c = 0;\n      puVar3 = *(undefined4 **)(iVar7 + 0x38);\n      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }\n      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;\n      iVar6 = iVar5 * -0x6db6db6c;\n      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;\n      *(int *)(iVar7 + 0xc) = iVar6;\n      *(undefined4 *)(iVar7 + 0x10) = 0;\n      pbVar1 = (byte *)(iVar2 + 0x1c);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }\n      goto joined_r0x0006230d;\n    }" ({ "{") (labeled_statement "LAB_000621b8:\n      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }" (statement_identifier "LAB_000621b8") (: ":") (if_statement "if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }" (if "if") (parenthesized_expression "(((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0))" (( "(") (binary_expression "((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&\n         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)" (parenthesized_expression "((*(byte *)((int)param_3 + 0x29) & 3) == 0)" (( "(") (binary_expression "(*(byte *)((int)param_3 + 0x29) & 3) == 0" (parenthesized_expression "(*(byte *)((int)param_3 + 0x29) & 3)" (( "(") (binary_expression "*(byte *)((int)param_3 + 0x29) & 3" (pointer_expression "*(byte *)((int)param_3 + 0x29)" (* "*") (cast_expression "(byte *)((int)param_3 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_3 + 0x29)" (( "(") (binary_expression "(int)param_3 + 0x29" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)((int)param_3 + 0x2b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)param_3 + 0x2b) & 0x10)" (( "(") (binary_expression "*(byte *)((int)param_3 + 0x2b) & 0x10" (pointer_expression "*(byte *)((int)param_3 + 0x2b)" (* "*") (cast_expression "(byte *)((int)param_3 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_3 + 0x2b)" (( "(") (binary_expression "(int)param_3 + 0x2b" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        iVar2 = *(int *)(DAT_0033f2f0 + 8);\n        if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }\n        if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }\n      }" ({ "{") (expression_statement "iVar2 = *(int *)(DAT_0033f2f0 + 8);" (assignment_expression "iVar2 = *(int *)(DAT_0033f2f0 + 8)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(DAT_0033f2f0 + 8)" (* "*") (cast_expression "(int *)(DAT_0033f2f0 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0033f2f0 + 8)" (( "(") (binary_expression "DAT_0033f2f0 + 8" (identifier "DAT_0033f2f0") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar2 == 0) {\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);\n        }" ({ "{") (labeled_statement "LAB_00062372:\n                    \n          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);" (statement_identifier "LAB_00062372") (: ":") (expression_statement "FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);" (call_expression "FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2)" (identifier "FUN_0008b620") (argument_list "("../../gold/parameters.h",0x5c,"options",param_2)" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) (, ",") (identifier "param_2") () ")"))) (; ";"))) (} "}"))) (if_statement "if (*(char *)(iVar2 + 0x1a25) != '\0') {\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }" (if "if") (parenthesized_expression "(*(char *)(iVar2 + 0x1a25) != '\0')" (( "(") (binary_expression "*(char *)(iVar2 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar2 + 0x1a25)" (* "*") (cast_expression "(char *)(iVar2 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1a25)" (( "(") (binary_expression "iVar2 + 0x1a25" (identifier "iVar2") (+ "+") (number_literal "0x1a25")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);\n          if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }\n          goto LAB_00062097;\n        }" ({ "{") (expression_statement "cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);" (assignment_expression "cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55)" (identifier "cVar4") (= "=") (call_expression "FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55)" (identifier "FUN_001453a0") (argument_list "(iVar2 + 0x59a8,*param_3,0,&local_55)" (( "(") (binary_expression "iVar2 + 0x59a8" (identifier "iVar2") (+ "+") (number_literal "0x59a8")) (, ",") (pointer_expression "*param_3" (* "*") (identifier "param_3")) (, ",") (number_literal "0") (, ",") (pointer_expression "&local_55" (& "&") (identifier "local_55")) () ")")))) (; ";")) (if_statement "if ((cVar4 == '\0') || (local_55 != '\0')) {\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }" (if "if") (parenthesized_expression "((cVar4 == '\0') || (local_55 != '\0'))" (( "(") (binary_expression "(cVar4 == '\0') || (local_55 != '\0')" (parenthesized_expression "(cVar4 == '\0')" (( "(") (binary_expression "cVar4 == '\0'" (identifier "cVar4") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(local_55 != '\0')" (( "(") (binary_expression "local_55 != '\0'" (identifier "local_55") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            iVar2 = *(int *)(DAT_0033f2f0 + 8);\n            if (iVar2 == 0) goto LAB_00062372;\n            if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;\n          }" ({ "{") (expression_statement "iVar2 = *(int *)(DAT_0033f2f0 + 8);" (assignment_expression "iVar2 = *(int *)(DAT_0033f2f0 + 8)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(DAT_0033f2f0 + 8)" (* "*") (cast_expression "(int *)(DAT_0033f2f0 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0033f2f0 + 8)" (( "(") (binary_expression "DAT_0033f2f0 + 8" (identifier "DAT_0033f2f0") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar2 == 0) goto LAB_00062372;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00062372;" (goto "goto") (statement_identifier "LAB_00062372") (; ";"))) (if_statement "if ((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))\n            goto LAB_00062260;" (if "if") (parenthesized_expression "((*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))" (( "(") (binary_expression "(*(char *)(iVar2 + 0x825) != '\0') ||\n               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0')))" (parenthesized_expression "(*(char *)(iVar2 + 0x825) != '\0')" (( "(") (binary_expression "*(char *)(iVar2 + 0x825) != '\0'" (pointer_expression "*(char *)(iVar2 + 0x825)" (* "*") (cast_expression "(char *)(iVar2 + 0x825)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x825)" (( "(") (binary_expression "iVar2 + 0x825" (identifier "iVar2") (+ "+") (number_literal "0x825")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0')))" (( "(") (parenthesized_expression "((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))" (( "(") (binary_expression "(*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0')" (binary_expression "(*(byte *)(param_3 + 10) & 0xf) != 1" (parenthesized_expression "(*(byte *)(param_3 + 10) & 0xf)" (( "(") (binary_expression "*(byte *)(param_3 + 10) & 0xf" (pointer_expression "*(byte *)(param_3 + 10)" (* "*") (cast_expression "(byte *)(param_3 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 10)" (( "(") (binary_expression "param_3 + 10" (identifier "param_3") (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (!= "!=") (number_literal "1")) (&& "&&") (parenthesized_expression "(*(char *)(iVar2 + 0x8a1) != '\0')" (( "(") (binary_expression "*(char *)(iVar2 + 0x8a1) != '\0'" (pointer_expression "*(char *)(iVar2 + 0x8a1)" (* "*") (cast_expression "(char *)(iVar2 + 0x8a1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x8a1)" (( "(") (binary_expression "iVar2 + 0x8a1" (identifier "iVar2") (+ "+") (number_literal "0x8a1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00062260;" (goto "goto") (statement_identifier "LAB_00062260") (; ";"))) (} "}"))) (goto_statement "goto LAB_00062097;" (goto "goto") (statement_identifier "LAB_00062097") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00062260:\n      iVar7 = FUN_0005eb10();" (statement_identifier "LAB_00062260") (: ":") (expression_statement "iVar7 = FUN_0005eb10();" (assignment_expression "iVar7 = FUN_0005eb10()" (identifier "iVar7") (= "=") (call_expression "FUN_0005eb10()" (identifier "FUN_0005eb10") (argument_list "()" (( "(") () ")")))) (; ";"))) (expression_statement "iVar2 = *(int *)(param_1 + 0x40);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x40)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_1 + 0x40)" (* "*") (cast_expression "(int *)(param_1 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);" (call_expression "FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0)" (identifier "FUN_000f5a50") (argument_list "(&local_54,param_3,0x25,iVar2,param_4,0,1,0)" (( "(") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (identifier "param_3") (, ",") (number_literal "0x25") (, ",") (identifier "iVar2") (, ",") (identifier "param_4") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3 = *(undefined4 **)(iVar7 + 0x38);" (assignment_expression "puVar3 = *(undefined4 **)(iVar7 + 0x38)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(iVar7 + 0x38)" (* "*") (cast_expression "(undefined4 **)(iVar7 + 0x38)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x38)" (( "(") (binary_expression "iVar7 + 0x38" (identifier "iVar7") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (if_statement "if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }\n      else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }" (if "if") (parenthesized_expression "(puVar3 == *(undefined4 **)(iVar7 + 0x3c))" (( "(") (binary_expression "puVar3 == *(undefined4 **)(iVar7 + 0x3c)" (identifier "puVar3") (== "==") (pointer_expression "*(undefined4 **)(iVar7 + 0x3c)" (* "*") (cast_expression "(undefined4 **)(iVar7 + 0x3c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x3c)" (( "(") (binary_expression "iVar7 + 0x3c" (identifier "iVar7") (+ "+") (number_literal "0x3c")) () ")"))))) () ")")) (compound_statement "{\n        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);\n        puVar8 = *(undefined4 **)(iVar7 + 0x38);\n      }" ({ "{") (expression_statement "FUN_00073560(iVar7 + 0x34,puVar3,&local_54);" (call_expression "FUN_00073560(iVar7 + 0x34,puVar3,&local_54)" (identifier "FUN_00073560") (argument_list "(iVar7 + 0x34,puVar3,&local_54)" (( "(") (binary_expression "iVar7 + 0x34" (identifier "iVar7") (+ "+") (number_literal "0x34")) (, ",") (identifier "puVar3") (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")"))) (; ";")) (expression_statement "puVar8 = *(undefined4 **)(iVar7 + 0x38);" (assignment_expression "puVar8 = *(undefined4 **)(iVar7 + 0x38)" (identifier "puVar8") (= "=") (pointer_expression "*(undefined4 **)(iVar7 + 0x38)" (* "*") (cast_expression "(undefined4 **)(iVar7 + 0x38)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x38)" (( "(") (binary_expression "iVar7 + 0x38" (identifier "iVar7") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }" (else "else") (compound_statement "{\n        puVar8 = puVar3 + 7;\n        *puVar3 = local_54;\n        puVar3[1] = local_50;\n        puVar3[2] = local_4c;\n        puVar3[3] = local_48;\n        puVar3[4] = local_44;\n        puVar3[5] = local_40;\n        puVar3[6] = 0;\n        *(undefined4 **)(iVar7 + 0x38) = puVar8;\n      }" ({ "{") (expression_statement "puVar8 = puVar3 + 7;" (assignment_expression "puVar8 = puVar3 + 7" (identifier "puVar8") (= "=") (binary_expression "puVar3 + 7" (identifier "puVar3") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "*puVar3 = local_54;" (assignment_expression "*puVar3 = local_54" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (identifier "local_54")) (; ";")) (expression_statement "puVar3[1] = local_50;" (assignment_expression "puVar3[1] = local_50" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_50")) (; ";")) (expression_statement "puVar3[2] = local_4c;" (assignment_expression "puVar3[2] = local_4c" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_4c")) (; ";")) (expression_statement "puVar3[3] = local_48;" (assignment_expression "puVar3[3] = local_48" (subscript_expression "puVar3[3]" (identifier "puVar3") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "puVar3[4] = local_44;" (assignment_expression "puVar3[4] = local_44" (subscript_expression "puVar3[4]" (identifier "puVar3") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "local_44")) (; ";")) (expression_statement "puVar3[5] = local_40;" (assignment_expression "puVar3[5] = local_40" (subscript_expression "puVar3[5]" (identifier "puVar3") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "local_40")) (; ";")) (expression_statement "puVar3[6] = 0;" (assignment_expression "puVar3[6] = 0" (subscript_expression "puVar3[6]" (identifier "puVar3") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 **)(iVar7 + 0x38) = puVar8;" (assignment_expression "*(undefined4 **)(iVar7 + 0x38) = puVar8" (pointer_expression "*(undefined4 **)(iVar7 + 0x38)" (* "*") (cast_expression "(undefined4 **)(iVar7 + 0x38)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x38)" (( "(") (binary_expression "iVar7 + 0x38" (identifier "iVar7") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "puVar8")) (; ";")) (} "}")))) (expression_statement "iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;" (assignment_expression "iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2" (identifier "iVar5") (= "=") (binary_expression "(int)puVar8 - *(int *)(iVar7 + 0x34) >> 2" (binary_expression "(int)puVar8 - *(int *)(iVar7 + 0x34)" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (- "-") (pointer_expression "*(int *)(iVar7 + 0x34)" (* "*") (cast_expression "(int *)(iVar7 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x34)" (( "(") (binary_expression "iVar7 + 0x34" (identifier "iVar7") (+ "+") (number_literal "0x34")) () ")"))))) (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "iVar6 = iVar5 * -0x6db6db6c;" (assignment_expression "iVar6 = iVar5 * -0x6db6db6c" (identifier "iVar6") (= "=") (binary_expression "iVar5 * -0x6db6db6c" (identifier "iVar5") (* "*") (number_literal "-0x6db6db6c"))) (; ";")) (if_statement "if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;" (if "if") (parenthesized_expression "((*(byte *)(iVar7 + 0x1c) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(iVar7 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar7 + 0x1c) & 2)" (( "(") (binary_expression "*(byte *)(iVar7 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar7 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar7 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1c)" (( "(") (binary_expression "iVar7 + 0x1c" (identifier "iVar7") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00062359;" (goto "goto") (statement_identifier "LAB_00062359") (; ";"))) (expression_statement "*(int *)(iVar7 + 0xc) = iVar6;" (assignment_expression "*(int *)(iVar7 + 0xc) = iVar6" (pointer_expression "*(int *)(iVar7 + 0xc)" (* "*") (cast_expression "(int *)(iVar7 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xc)" (( "(") (binary_expression "iVar7 + 0xc" (identifier "iVar7") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x10)" (( "(") (binary_expression "iVar7 + 0x10" (identifier "iVar7") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar1 = (byte *)(iVar2 + 0x1c);" (assignment_expression "pbVar1 = (byte *)(iVar2 + 0x1c)" (identifier "pbVar1") (= "=") (cast_expression "(byte *)(iVar2 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")")))) (; ";")) (expression_statement "*pbVar1 = *pbVar1 | 0x10;" (assignment_expression "*pbVar1 = *pbVar1 | 0x10" (pointer_expression "*pbVar1" (* "*") (identifier "pbVar1")) (= "=") (binary_expression "*pbVar1 | 0x10" (pointer_expression "*pbVar1" (* "*") (identifier "pbVar1")) (| "|") (number_literal "0x10"))) (; ";")) (if_statement "if ((local_44 & 0x10000000) != 0) {\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }" (if "if") (parenthesized_expression "((local_44 & 0x10000000) != 0)" (( "(") (binary_expression "(local_44 & 0x10000000) != 0" (parenthesized_expression "(local_44 & 0x10000000)" (( "(") (binary_expression "local_44 & 0x10000000" (identifier "local_44") (& "&") (number_literal "0x10000000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;\n      }" ({ "{") (expression_statement "*(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;" (assignment_expression "*(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1" (pointer_expression "*(int *)(iVar7 + 0x2c)" (* "*") (cast_expression "(int *)(iVar7 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x2c)" (( "(") (binary_expression "iVar7 + 0x2c" (identifier "iVar7") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "*(int *)(iVar7 + 0x2c) + 1" (pointer_expression "*(int *)(iVar7 + 0x2c)" (* "*") (cast_expression "(int *)(iVar7 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x2c)" (( "(") (binary_expression "iVar7 + 0x2c" (identifier "iVar7") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (goto_statement "goto joined_r0x0006230d;" (goto "goto") (statement_identifier "joined_r0x0006230d") (; ";")) (} "}"))))) (} "}"))) (labeled_statement "LAB_00062097:\n  *(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40;" (statement_identifier "LAB_00062097") (: ":") (expression_statement "*(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40;" (assignment_expression "*(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40" (pointer_expression "*(byte *)((int)param_3 + 0x2a)" (* "*") (cast_expression "(byte *)((int)param_3 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_3 + 0x2a)" (( "(") (binary_expression "(int)param_3 + 0x2a" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (+ "+") (number_literal "0x2a")) () ")")))) (= "=") (binary_expression "*(byte *)((int)param_3 + 0x2a) | 0x40" (pointer_expression "*(byte *)((int)param_3 + 0x2a)" (* "*") (cast_expression "(byte *)((int)param_3 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_3 + 0x2a)" (( "(") (binary_expression "(int)param_3 + 0x2a" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (+ "+") (number_literal "0x2a")) () ")")))) (| "|") (number_literal "0x40"))) (; ";"))) (expression_statement "iVar2 = *(int *)(param_1 + 0x2c);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x2c)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "iVar7 = *(int *)(param_1 + 0x3c);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x3c)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_1 + 0x3c)" (* "*") (cast_expression "(int *)(param_1 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "FUN_000f5a50(&local_38,param_3,7,iVar7,param_4,0,0,0);" (call_expression "FUN_000f5a50(&local_38,param_3,7,iVar7,param_4,0,0,0)" (identifier "FUN_000f5a50") (argument_list "(&local_38,param_3,7,iVar7,param_4,0,0,0)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (identifier "param_3") (, ",") (number_literal "7") (, ",") (identifier "iVar7") (, ",") (identifier "param_4") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" (identifier "local_20") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3 = *(undefined4 **)(iVar2 + 0x38);" (assignment_expression "puVar3 = *(undefined4 **)(iVar2 + 0x38)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(iVar2 + 0x38)" (* "*") (cast_expression "(undefined4 **)(iVar2 + 0x38)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x38)" (( "(") (binary_expression "iVar2 + 0x38" (identifier "iVar2") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (if_statement "if (puVar3 == *(undefined4 **)(iVar2 + 0x3c)) {\n    FUN_00073560(iVar2 + 0x34,puVar3,&local_38);\n    puVar8 = *(undefined4 **)(iVar2 + 0x38);\n  }\n  else {\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }" (if "if") (parenthesized_expression "(puVar3 == *(undefined4 **)(iVar2 + 0x3c))" (( "(") (binary_expression "puVar3 == *(undefined4 **)(iVar2 + 0x3c)" (identifier "puVar3") (== "==") (pointer_expression "*(undefined4 **)(iVar2 + 0x3c)" (* "*") (cast_expression "(undefined4 **)(iVar2 + 0x3c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x3c)" (( "(") (binary_expression "iVar2 + 0x3c" (identifier "iVar2") (+ "+") (number_literal "0x3c")) () ")"))))) () ")")) (compound_statement "{\n    FUN_00073560(iVar2 + 0x34,puVar3,&local_38);\n    puVar8 = *(undefined4 **)(iVar2 + 0x38);\n  }" ({ "{") (expression_statement "FUN_00073560(iVar2 + 0x34,puVar3,&local_38);" (call_expression "FUN_00073560(iVar2 + 0x34,puVar3,&local_38)" (identifier "FUN_00073560") (argument_list "(iVar2 + 0x34,puVar3,&local_38)" (( "(") (binary_expression "iVar2 + 0x34" (identifier "iVar2") (+ "+") (number_literal "0x34")) (, ",") (identifier "puVar3") (, ",") (pointer_expression "&local_38" (& "&") (identifier "local_38")) () ")"))) (; ";")) (expression_statement "puVar8 = *(undefined4 **)(iVar2 + 0x38);" (assignment_expression "puVar8 = *(undefined4 **)(iVar2 + 0x38)" (identifier "puVar8") (= "=") (pointer_expression "*(undefined4 **)(iVar2 + 0x38)" (* "*") (cast_expression "(undefined4 **)(iVar2 + 0x38)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x38)" (( "(") (binary_expression "iVar2 + 0x38" (identifier "iVar2") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }" (else "else") (compound_statement "{\n    puVar8 = puVar3 + 7;\n    *puVar3 = local_38;\n    puVar3[1] = local_34;\n    puVar3[2] = local_30;\n    puVar3[3] = local_2c;\n    puVar3[4] = local_28;\n    puVar3[5] = local_24;\n    puVar3[6] = 0;\n    *(undefined4 **)(iVar2 + 0x38) = puVar8;\n  }" ({ "{") (expression_statement "puVar8 = puVar3 + 7;" (assignment_expression "puVar8 = puVar3 + 7" (identifier "puVar8") (= "=") (binary_expression "puVar3 + 7" (identifier "puVar3") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "*puVar3 = local_38;" (assignment_expression "*puVar3 = local_38" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (identifier "local_38")) (; ";")) (expression_statement "puVar3[1] = local_34;" (assignment_expression "puVar3[1] = local_34" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_34")) (; ";")) (expression_statement "puVar3[2] = local_30;" (assignment_expression "puVar3[2] = local_30" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_30")) (; ";")) (expression_statement "puVar3[3] = local_2c;" (assignment_expression "puVar3[3] = local_2c" (subscript_expression "puVar3[3]" (identifier "puVar3") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puVar3[4] = local_28;" (assignment_expression "puVar3[4] = local_28" (subscript_expression "puVar3[4]" (identifier "puVar3") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "local_28")) (; ";")) (expression_statement "puVar3[5] = local_24;" (assignment_expression "puVar3[5] = local_24" (subscript_expression "puVar3[5]" (identifier "puVar3") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "local_24")) (; ";")) (expression_statement "puVar3[6] = 0;" (assignment_expression "puVar3[6] = 0" (subscript_expression "puVar3[6]" (identifier "puVar3") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 **)(iVar2 + 0x38) = puVar8;" (assignment_expression "*(undefined4 **)(iVar2 + 0x38) = puVar8" (pointer_expression "*(undefined4 **)(iVar2 + 0x38)" (* "*") (cast_expression "(undefined4 **)(iVar2 + 0x38)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x38)" (( "(") (binary_expression "iVar2 + 0x38" (identifier "iVar2") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "puVar8")) (; ";")) (} "}")))) (expression_statement "iVar5 = (int)puVar8 - *(int *)(iVar2 + 0x34) >> 2;" (assignment_expression "iVar5 = (int)puVar8 - *(int *)(iVar2 + 0x34) >> 2" (identifier "iVar5") (= "=") (binary_expression "(int)puVar8 - *(int *)(iVar2 + 0x34) >> 2" (binary_expression "(int)puVar8 - *(int *)(iVar2 + 0x34)" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (- "-") (pointer_expression "*(int *)(iVar2 + 0x34)" (* "*") (cast_expression "(int *)(iVar2 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x34)" (( "(") (binary_expression "iVar2 + 0x34" (identifier "iVar2") (+ "+") (number_literal "0x34")) () ")"))))) (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "iVar6 = iVar5 * -0x6db6db6c;" (assignment_expression "iVar6 = iVar5 * -0x6db6db6c" (identifier "iVar6") (= "=") (binary_expression "iVar5 * -0x6db6db6c" (identifier "iVar5") (* "*") (number_literal "-0x6db6db6c"))) (; ";")) (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 2) != 0) {\nLAB_00062359:\n                    \n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);\n  }" (if "if") (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(iVar2 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 2)" (( "(") (binary_expression "*(byte *)(iVar2 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar2 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar2 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00062359:\n                    \n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);\n  }" ({ "{") (labeled_statement "LAB_00062359:\n                    \n    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);" (statement_identifier "LAB_00062359") (: ":") (expression_statement "FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);" (call_expression "FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6)" (identifier "FUN_0008b620") (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x231") (, ",") (string_literal ""set_current_data_size_for_child"" (" """) (string_content "set_current_data_size_for_child") (" """)) (, ",") (identifier "iVar6") () ")"))) (; ";"))) (} "}"))) (expression_statement "*(int *)(iVar2 + 0xc) = iVar6;" (assignment_expression "*(int *)(iVar2 + 0xc) = iVar6" (pointer_expression "*(int *)(iVar2 + 0xc)" (* "*") (cast_expression "(int *)(iVar2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc)" (( "(") (binary_expression "iVar2 + 0xc" (identifier "iVar2") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(undefined4 *)(iVar2 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar1 = (byte *)(iVar7 + 0x1c);" (assignment_expression "pbVar1 = (byte *)(iVar7 + 0x1c)" (identifier "pbVar1") (= "=") (cast_expression "(byte *)(iVar7 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1c)" (( "(") (binary_expression "iVar7 + 0x1c" (identifier "iVar7") (+ "+") (number_literal "0x1c")) () ")")))) (; ";")) (expression_statement "*pbVar1 = *pbVar1 | 0x10;" (assignment_expression "*pbVar1 = *pbVar1 | 0x10" (pointer_expression "*pbVar1" (* "*") (identifier "pbVar1")) (= "=") (binary_expression "*pbVar1 | 0x10" (pointer_expression "*pbVar1" (* "*") (identifier "pbVar1")) (| "|") (number_literal "0x10"))) (; ";")) (expression_statement "local_50 = local_34;" (assignment_expression "local_50 = local_34" (identifier "local_50") (= "=") (identifier "local_34")) (; ";")) (expression_statement "local_40 = local_24;" (assignment_expression "local_40 = local_24" (identifier "local_40") (= "=") (identifier "local_24")) (; ";")) (if_statement "if ((local_28 & 0x10000000) != 0) {\n    *(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;\n  }" (if "if") (parenthesized_expression "((local_28 & 0x10000000) != 0)" (( "(") (binary_expression "(local_28 & 0x10000000) != 0" (parenthesized_expression "(local_28 & 0x10000000)" (( "(") (binary_expression "local_28 & 0x10000000" (identifier "local_28") (& "&") (number_literal "0x10000000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;\n  }" ({ "{") (expression_statement "*(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;" (assignment_expression "*(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1" (pointer_expression "*(int *)(iVar2 + 0x2c)" (* "*") (cast_expression "(int *)(iVar2 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x2c)" (( "(") (binary_expression "iVar2 + 0x2c" (identifier "iVar2") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "*(int *)(iVar2 + 0x2c) + 1" (pointer_expression "*(int *)(iVar2 + 0x2c)" (* "*") (cast_expression "(int *)(iVar2 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x2c)" (( "(") (binary_expression "iVar2 + 0x2c" (identifier "iVar2") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (labeled_statement "joined_r0x0006230d:\n  if ((local_40 != -4) && (local_50 != 0)) {\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }" (statement_identifier "joined_r0x0006230d") (: ":") (if_statement "if ((local_40 != -4) && (local_50 != 0)) {\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }" (if "if") (parenthesized_expression "((local_40 != -4) && (local_50 != 0))" (( "(") (binary_expression "(local_40 != -4) && (local_50 != 0)" (parenthesized_expression "(local_40 != -4)" (( "(") (binary_expression "local_40 != -4" (identifier "local_40") (!= "!=") (number_literal "-4")) () ")")) (&& "&&") (parenthesized_expression "(local_50 != 0)" (( "(") (binary_expression "local_50 != 0" (identifier "local_50") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }\n    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;\n  }" ({ "{") (if_statement "if (*(int *)(local_50 + 100) == 0) {\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }" (if "if") (parenthesized_expression "(*(int *)(local_50 + 100) == 0)" (( "(") (binary_expression "*(int *)(local_50 + 100) == 0" (pointer_expression "*(int *)(local_50 + 100)" (* "*") (cast_expression "(int *)(local_50 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_50 + 100)" (( "(") (binary_expression "local_50 + 100" (identifier "local_50") (+ "+") (number_literal "100")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;\n    }" ({ "{") (expression_statement "*(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;" (assignment_expression "*(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1" (pointer_expression "*(int *)(local_50 + 0x60)" (* "*") (cast_expression "(int *)(local_50 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_50 + 0x60)" (( "(") (binary_expression "local_50 + 0x60" (identifier "local_50") (+ "+") (number_literal "0x60")) () ")")))) (= "=") (binary_expression "iVar5 * -0x49249249 + -1" (binary_expression "iVar5 * -0x49249249" (identifier "iVar5") (* "*") (number_literal "-0x49249249")) (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (expression_statement "*(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;" (assignment_expression "*(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1" (pointer_expression "*(int *)(local_50 + 100)" (* "*") (cast_expression "(int *)(local_50 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_50 + 100)" (( "(") (binary_expression "local_50 + 100" (identifier "local_50") (+ "+") (number_literal "100")) () ")")))) (= "=") (binary_expression "*(int *)(local_50 + 100) + 1" (pointer_expression "*(int *)(local_50 + 100)" (* "*") (cast_expression "(int *)(local_50 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_50 + 100)" (( "(") (binary_expression "local_50 + 100" (identifier "local_50") (+ "+") (number_literal "100")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void add_relocation(Output_data_plt_x86_64<32> * this, Symbol_table *
   symtab, Layout * layout, Symbol * gsym, uint got_offset) */

void __thiscall
anon_unknown.dwarf_32964f::type_1<32>::function_1
          (type_1<32> *this,type_2 *symtab,type_3 *layout,type_4 *gsym,
          type_5 got_offset)

{
  type_6 *puVar1;
  size_t *psVar2;
  int var_16;
  type_7 *pOVar4;
  type_8 iVar5;
  type_5 var_20;
  type_9 *var_4;
  bool bVar8;
  int var_10;
  int var_13;
  type_10 *pRVar10;
  var_1<4,_true,_32,var_2> *pOVar11;
  type_1<32> *in_stack_ffffff94;
  type_2 *in_stack_ffffff98;
  type_9 *var_8;
  bool var_7;
  type_11 var_11;
  var_3<32,var_2> *var_19;
  type_12 local_4c;
  type_5 local_48;
  type_5 var_14;
  type_5 var_18;
  type_13 local_3c;
  type_11 var_15;
  var_3<32,var_2> *local_34;
  type_12 local_30;
  type_5 local_2c;
  type_5 var_17;
  type_5 local_24;
  type_13 local_20;
  type_13 uStack_14;
  
  uStack_14 = 0x6207b;
  if ((this->field_0x28 & 0xf) == 10) {
    if ((this->field_0x2a & 7) == 0) {
      if (((*(type_14 *)(*(int *)&this->field_0x8 + 0x2c) & 1) == 0) &&
         ((*(int *)&this->field_0xc != 0 || ((this->field_0x2b & 0x20) == 0)))) goto LAB_000621b8;
    }
    else if ((this->field_0x2a & 7) != 4) {
LAB_000621b8:
      if (((this->field_0x29 & 3) == 0) && ((this->field_0x2b & 0x10) == 0)) {
        var_4 = gold::parameters->options_;
        if (var_4 == (type_9 *)0x0) {
LAB_00062372:
                    /* WARNING: Subroutine does not return */
          gold::var_5("../../gold/parameters.h",0x5c,"options");
        }
        if ((var_4->shared_).value != false) {
          bVar8 = gold::Version_script_info::var_6
                            (&(var_4->dynamic_list_).version_script_info_,
                             (char *)this->plt_eh_frame_cie_size,(type_15 *)0x0,&var_7);
          if ((!bVar8) || (var_7 != false)) {
            var_8 = gold::parameters->options_;
            if (var_8 == (type_9 *)0x0) goto LAB_00062372;
            if (((var_8->Bsymbolic_).value != false) ||
               (((this->field_0x28 & 0xf) != 1 &&
                ((var_8->Bsymbolic_functions_).value != false)))) goto LAB_00062260;
          }
          goto LAB_00062097;
        }
      }
LAB_00062260:
      pRVar10 = var_9(in_stack_ffffff94,in_stack_ffffff98,(type_3 *)var_8);
      pOVar4 = *(type_7 **)(var_10 + 0x40);
      gold::var_1<9,_true,_32,var_2>::var_1
                ((var_1<9,_true,_32,var_2> *)&var_11,(type_4 *)this,0x25,pOVar4,
                 (type_12)symtab,false,true,false);
      local_3c = 0;
      iVar5._M_current =
           (pRVar10->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_.
           super__Vector_base<gold::var_1<4,_true,_32,var_2>,_std::allocator<gold::var_1<4,_true,_32,var_2>var_12>var_12>
           ._M_impl._M_finish;
      if (iVar5._M_current ==
          (pRVar10->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_.
          super__Vector_base<gold::var_1<4,_true,_32,var_2>,_std::allocator<gold::var_1<4,_true,_32,var_2>var_12>var_12>
          ._M_impl._M_end_of_storage) {
        std::
        vector<gold::var_1<4,_true,_32,var_2>,_std::allocator<gold::var_1<4,_true,_32,var_2>var_12>var_12>
        ::_M_realloc_insert<const_gold::var_1<4,_true,_32,var_2>&>
                  (&(pRVar10->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_,iVar5,
                   (var_1<4,_true,_32,var_2> *)&var_11);
        pOVar11 = (pRVar10->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_.
                  super__Vector_base<gold::var_1<4,_true,_32,var_2>,_std::allocator<gold::var_1<4,_true,_32,var_2>var_12>var_12>
                  ._M_impl._M_finish;
      }
      else {
        pOVar11 = iVar5._M_current + 1;
        ((iVar5._M_current)->rel_).u1_ = var_11;
        ((iVar5._M_current)->rel_).u2_.relobj = var_19;
        ((iVar5._M_current)->rel_).address_ = local_4c;
        ((iVar5._M_current)->rel_).local_sym_index_ = local_48;
        *(type_5 *)&((iVar5._M_current)->rel_).field_0x10 = var_14;
        ((iVar5._M_current)->rel_).shndx_ = var_18;
        (iVar5._M_current)->addend_ = 0;
        (pRVar10->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_.
        super__Vector_base<gold::var_1<4,_true,_32,var_2>,_std::allocator<gold::var_1<4,_true,_32,var_2>var_12>var_12>
        ._M_impl._M_finish = pOVar11;
      }
      var_13 = (int)pOVar11 -
              (int)(pRVar10->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_.
                   super__Vector_base<gold::var_1<4,_true,_32,var_2>,_std::allocator<gold::var_1<4,_true,_32,var_2>var_12>var_12>
                   ._M_impl._M_start >> 2;
      if (((pRVar10->super_Output_data_reloc_base<4,_true,_32,var_2>).
           super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data
           .super_Output_data.field_0x1c & 2) != 0) goto LAB_00062359;
      *(int *)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,var_2>).
               super_Output_data_reloc_generic.super_Output_section_data_build.
               super_Output_section_data.super_Output_data.data_size_ = var_13 * -0x6db6db6c;
      *(type_13 *)
       ((int)&(pRVar10->super_Output_data_reloc_base<4,_true,_32,var_2>).
              super_Output_data_reloc_generic.super_Output_section_data_build.
              super_Output_section_data.super_Output_data.data_size_ + 4) = 0;
      puVar1 = &pOVar4->field_0x1c;
      *puVar1 = *puVar1 | 0x10;
      if ((var_14 & 0x10000000) != 0) {
        psVar2 = &(pRVar10->super_Output_data_reloc_base<4,_true,_32,var_2>).
                  super_Output_data_reloc_generic.relative_reloc_count_;
        *psVar2 = *psVar2 + 1;
      }
      goto joined_r0x0006230d;
    }
  }
LAB_00062097:
  this->field_0x2a = this->field_0x2a | 0x40;
  var_16 = *(int *)(var_10 + 0x2c);
  pOVar4 = *(type_7 **)(var_10 + 0x3c);
  gold::var_1<9,_true,_32,var_2>::var_1
            ((var_1<9,_true,_32,var_2> *)&var_15,(type_4 *)this,7,pOVar4,(type_12)symtab,
             false,false,false);
  local_20 = 0;
  iVar5._M_current = *(var_1<4,_true,_32,var_2> **)(var_16 + 0x38);
  if (iVar5._M_current == *(var_1<4,_true,_32,var_2> **)(var_16 + 0x3c)) {
    std::
    vector<gold::var_1<4,_true,_32,var_2>,_std::allocator<gold::var_1<4,_true,_32,var_2>var_12>var_12>
    ::_M_realloc_insert<const_gold::var_1<4,_true,_32,var_2>&>
              ((vector<gold::var_1<4,_true,_32,var_2>,_std::allocator<gold::var_1<4,_true,_32,var_2>var_12>var_12>
                *)(var_16 + 0x34),iVar5,(var_1<4,_true,_32,var_2> *)&var_15);
    pOVar11 = *(var_1<4,_true,_32,var_2> **)(var_16 + 0x38);
  }
  else {
    pOVar11 = iVar5._M_current + 1;
    ((iVar5._M_current)->rel_).u1_ = var_15;
    ((iVar5._M_current)->rel_).u2_.relobj = local_34;
    ((iVar5._M_current)->rel_).address_ = local_30;
    ((iVar5._M_current)->rel_).local_sym_index_ = local_2c;
    *(type_5 *)&((iVar5._M_current)->rel_).field_0x10 = var_17;
    ((iVar5._M_current)->rel_).shndx_ = local_24;
    (iVar5._M_current)->addend_ = 0;
    *(var_1<4,_true,_32,var_2> **)(var_16 + 0x38) = pOVar11;
  }
  var_13 = (int)pOVar11 - *(int *)(var_16 + 0x34) >> 2;
  if ((*(type_14 *)(var_16 + 0x1c) & 2) != 0) {
LAB_00062359:
                    /* WARNING: Subroutine does not return */
    gold::var_5("../../gold/output.h",0x231,"set_current_data_size_for_child");
  }
  *(int *)(var_16 + 0xc) = var_13 * -0x6db6db6c;
  *(type_13 *)(var_16 + 0x10) = 0;
  puVar1 = &pOVar4->field_0x1c;
  *puVar1 = *puVar1 | 0x10;
  var_19 = local_34;
  var_18 = local_24;
  if ((var_17 & 0x10000000) != 0) {
    *(int *)(var_16 + 0x2c) = *(int *)(var_16 + 0x2c) + 1;
  }
joined_r0x0006230d:
  if ((var_18 != 0xfffffffc) && (var_19 != (var_3<32,var_2> *)0x0)) {
    var_20 = (var_19->super_Relobj).dyn_reloc_count_;
    if (var_20 == 0) {
      (var_19->super_Relobj).first_dyn_reloc_ = var_13 * -0x49249249 - 1;
    }
    (var_19->super_Relobj).dyn_reloc_count_ = var_20 + 1;
  }
  return;
}


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

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

void __regparm2 MASKED(int param_1,undefined4 param_2,undefined4 *param_3,undefined4 param_4)

{
  byte *pbVar1;
  int iVar2;
  undefined4 *puVar3;
  char cVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  undefined4 *puVar8;
  char local_55;
  undefined4 local_54;
  int local_50;
  undefined4 local_4c;
  undefined4 local_48;
  uint local_44;
  int local_40;
  undefined4 local_3c;
  undefined4 local_38;
  int local_34;
  undefined4 local_30;
  undefined4 local_2c;
  uint local_28;
  int local_24;
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x6207b;
  if ((*(byte *)(param_3 + 10) & 0xf) == 10) {
    if ((*(byte *)((int)param_3 + 0x2a) & 7) == 0) {
      if (((*(byte *)(param_3[2] + 0x2c) & 1) == 0) &&
         ((param_3[3] != 0 || ((*(byte *)((int)param_3 + 0x2b) & 0x20) == 0)))) goto LAB_000621b8;
    }
    else if ((*(byte *)((int)param_3 + 0x2a) & 7) != 4) {
LAB_000621b8:
      if (((*(byte *)((int)param_3 + 0x29) & 3) == 0) &&
         ((*(byte *)((int)param_3 + 0x2b) & 0x10) == 0)) {
        iVar2 = *(int *)(DAT_0033f2f0 + 8);
        if (iVar2 == 0) {
LAB_00062372:
                    /* WARNING: Subroutine does not return */
          FUN_0008b620("../../gold/parameters.h",0x5c,"options",param_2);
        }
        if (*(char *)(iVar2 + 0x1a25) != '\0') {
          cVar4 = FUN_001453a0(iVar2 + 0x59a8,*param_3,0,&local_55);
          if ((cVar4 == '\0') || (local_55 != '\0')) {
            iVar2 = *(int *)(DAT_0033f2f0 + 8);
            if (iVar2 == 0) goto LAB_00062372;
            if ((*(char *)(iVar2 + 0x825) != '\0') ||
               (((*(byte *)(param_3 + 10) & 0xf) != 1 && (*(char *)(iVar2 + 0x8a1) != '\0'))))
            goto LAB_00062260;
          }
          goto LAB_00062097;
        }
      }
LAB_00062260:
      iVar7 = FUN_0005eb10();
      iVar2 = *(int *)(param_1 + 0x40);
      FUN_000f5a50(&local_54,param_3,0x25,iVar2,param_4,0,1,0);
      local_3c = 0;
      puVar3 = *(undefined4 **)(iVar7 + 0x38);
      if (puVar3 == *(undefined4 **)(iVar7 + 0x3c)) {
        FUN_00073560(iVar7 + 0x34,puVar3,&local_54);
        puVar8 = *(undefined4 **)(iVar7 + 0x38);
      }
      else {
        puVar8 = puVar3 + 7;
        *puVar3 = local_54;
        puVar3[1] = local_50;
        puVar3[2] = local_4c;
        puVar3[3] = local_48;
        puVar3[4] = local_44;
        puVar3[5] = local_40;
        puVar3[6] = 0;
        *(undefined4 **)(iVar7 + 0x38) = puVar8;
      }
      iVar5 = (int)puVar8 - *(int *)(iVar7 + 0x34) >> 2;
      iVar6 = iVar5 * -0x6db6db6c;
      if ((*(byte *)(iVar7 + 0x1c) & 2) != 0) goto LAB_00062359;
      *(int *)(iVar7 + 0xc) = iVar6;
      *(undefined4 *)(iVar7 + 0x10) = 0;
      pbVar1 = (byte *)(iVar2 + 0x1c);
      *pbVar1 = *pbVar1 | 0x10;
      if ((local_44 & 0x10000000) != 0) {
        *(int *)(iVar7 + 0x2c) = *(int *)(iVar7 + 0x2c) + 1;
      }
      goto joined_r0x0006230d;
    }
  }
LAB_00062097:
  *(byte *)((int)param_3 + 0x2a) = *(byte *)((int)param_3 + 0x2a) | 0x40;
  iVar2 = *(int *)(param_1 + 0x2c);
  iVar7 = *(int *)(param_1 + 0x3c);
  FUN_000f5a50(&local_38,param_3,7,iVar7,param_4,0,0,0);
  local_20 = 0;
  puVar3 = *(undefined4 **)(iVar2 + 0x38);
  if (puVar3 == *(undefined4 **)(iVar2 + 0x3c)) {
    FUN_00073560(iVar2 + 0x34,puVar3,&local_38);
    puVar8 = *(undefined4 **)(iVar2 + 0x38);
  }
  else {
    puVar8 = puVar3 + 7;
    *puVar3 = local_38;
    puVar3[1] = local_34;
    puVar3[2] = local_30;
    puVar3[3] = local_2c;
    puVar3[4] = local_28;
    puVar3[5] = local_24;
    puVar3[6] = 0;
    *(undefined4 **)(iVar2 + 0x38) = puVar8;
  }
  iVar5 = (int)puVar8 - *(int *)(iVar2 + 0x34) >> 2;
  iVar6 = iVar5 * -0x6db6db6c;
  if ((*(byte *)(iVar2 + 0x1c) & 2) != 0) {
LAB_00062359:
                    /* WARNING: Subroutine does not return */
    FUN_0008b620("../../gold/output.h",0x231,"set_current_data_size_for_child",iVar6);
  }
  *(int *)(iVar2 + 0xc) = iVar6;
  *(undefined4 *)(iVar2 + 0x10) = 0;
  pbVar1 = (byte *)(iVar7 + 0x1c);
  *pbVar1 = *pbVar1 | 0x10;
  local_50 = local_34;
  local_40 = local_24;
  if ((local_28 & 0x10000000) != 0) {
    *(int *)(iVar2 + 0x2c) = *(int *)(iVar2 + 0x2c) + 1;
  }
joined_r0x0006230d:
  if ((local_40 != -4) && (local_50 != 0)) {
    if (*(int *)(local_50 + 100) == 0) {
      *(int *)(local_50 + 0x60) = iVar5 * -0x49249249 + -1;
    }
    *(int *)(local_50 + 100) = *(int *)(local_50 + 100) + 1;
  }
  return;
}

