
/* 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_358c2b::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)

{
  size_t *psVar1;
  undefined1 *puVar2;
  uint uVar3;
  Output_data_got_plt_x86_64 *od;
  iterator iVar4;
  General_options *pGVar5;
  Output_data_space *od_00;
  bool bVar6;
  Reloc_section *pRVar7;
  long lVar8;
  Output_reloc<4,_true,_32,_false> *pOVar9;
  bool is_global;
  anon_union_8_4_c82d8563_for_u1_ local_88;
  Sized_relobj<32,_false> *pSStack_80;
  undefined8 local_78;
  uint uStack_70;
  int iStack_6c;
  undefined4 local_68;
  uint uStack_64;
  anon_union_8_4_c82d8563_for_u1_ local_58;
  Sized_relobj<32,_false> *pSStack_50;
  undefined8 local_48;
  uint uStack_40;
  int iStack_3c;
  undefined4 local_38;
  uint uStack_34;
  
  if ((gsym->field_0x38 & 0xf) == 10) {
    if ((gsym->field_0x3a & 7) == 0) {
      if ((((ulong)((gsym->u1_).output_segment)->output_lists_[2].
                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                   _M_impl._M_finish & 0x100000000) == 0) &&
         (((gsym->u2_).shndx != 0 || ((gsym->field_0x3b & 0x20) == 0)))) goto LAB_001b08e0;
    }
    else if ((gsym->field_0x3a & 7) != 4) {
LAB_001b08e0:
      if (((gsym->field_0x39 & 3) == 0) && ((gsym->field_0x3b & 0x10) == 0)) {
        pGVar5 = gold::parameters->options_;
        if (pGVar5 == (General_options *)0x0) {
LAB_001b0a95:
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
        }
        if ((pGVar5->shared_).value != false) {
          bVar6 = gold::Version_script_info::get_symbol_version
                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0
                             ,&is_global);
          if ((!bVar6) || (is_global != false)) {
            pGVar5 = gold::parameters->options_;
            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;
            if (((pGVar5->Bsymbolic_).value != false) ||
               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))
            goto LAB_001b0980;
          }
          goto LAB_001b07a2;
        }
      }
LAB_001b0980:
      pRVar7 = rela_irelative(this,symtab,layout);
      od_00 = this->got_irelative_;
      gold::Output_reloc<9,_true,_32,_false>::Output_reloc
                ((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,
                 got_offset,false,true,false);
      local_68 = 0;
      iVar4._M_current =
           (pRVar7->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 (iVar4._M_current ==
          (pRVar7->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>&>
                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,
                   (Output_reloc<4,_true,_32,_false> *)&local_88);
        pOVar9 = (pRVar7->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 {
        pOVar9 = iVar4._M_current + 1;
        ((iVar4._M_current)->rel_).u1_ = local_88;
        ((iVar4._M_current)->rel_).u2_.relobj = pSStack_80;
        ((iVar4._M_current)->rel_).address_ = (undefined4)local_78;
        ((iVar4._M_current)->rel_).local_sym_index_ = local_78._4_4_;
        *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_6c,uStack_70);
        *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_64 << 0x20;
        (pRVar7->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 = pOVar9;
      }
      lVar8 = (long)pOVar9 -
              (long)(pRVar7->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 >> 3;
      if (((pRVar7->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_0x20 & 2) != 0) goto LAB_001b0a7d;
      (pRVar7->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_ =
           lVar8 * -0x6666666666666664;
      puVar2 = &(od_00->super_Output_section_data_build).super_Output_section_data.super_Output_data
                .field_0x20;
      *puVar2 = *puVar2 | 0x10;
      if ((uStack_70 & 0x10000000) != 0) {
        psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).
                  super_Output_data_reloc_generic.relative_reloc_count_;
        *psVar1 = *psVar1 + 1;
      }
      goto joined_r0x001b0a40;
    }
  }
LAB_001b07a2:
  gsym->field_0x3a = gsym->field_0x3a | 0x40;
  pRVar7 = this->rel_;
  od = this->got_plt_;
  gold::Output_reloc<9,_true,_32,_false>::Output_reloc
            ((Output_reloc<9,_true,_32,_false> *)&local_58,gsym,7,(Output_data *)od,got_offset,false
             ,false,false);
  iVar4._M_current =
       (pRVar7->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;
  local_38 = 0;
  if (iVar4._M_current ==
      (pRVar7->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>&>
              (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,
               (Output_reloc<4,_true,_32,_false> *)&local_58);
    pOVar9 = (pRVar7->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 {
    pOVar9 = iVar4._M_current + 1;
    ((iVar4._M_current)->rel_).u1_ = local_58;
    ((iVar4._M_current)->rel_).u2_.relobj = pSStack_50;
    ((iVar4._M_current)->rel_).address_ = (undefined4)local_48;
    ((iVar4._M_current)->rel_).local_sym_index_ = local_48._4_4_;
    *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_3c,uStack_40);
    *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_34 << 0x20;
    (pRVar7->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 = pOVar9;
  }
  lVar8 = (long)pOVar9 -
          (long)(pRVar7->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 >> 3;
  if (((pRVar7->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_0x20 & 2)
      != 0) {
LAB_001b0a7d:
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");
  }
  (pRVar7->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_ =
       lVar8 * -0x6666666666666664;
  puVar2 = &(od->super_Output_section_data_build).super_Output_section_data.super_Output_data.
            field_0x20;
  *puVar2 = *puVar2 | 0x10;
  pSStack_80 = pSStack_50;
  iStack_6c = iStack_3c;
  if ((uStack_40 & 0x10000000) != 0) {
    psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).
              super_Output_data_reloc_generic.relative_reloc_count_;
    *psVar1 = *psVar1 + 1;
  }
joined_r0x001b0a40:
  if ((iStack_6c != -4) && (pSStack_80 != (Sized_relobj<32,_false> *)0x0)) {
    uVar3 = (pSStack_80->super_Relobj).dyn_reloc_count_;
    if (uVar3 == 0) {
      (pSStack_80->super_Relobj).first_dyn_reloc_ = (int)lVar8 * -0x33333333 - 1;
    }
    (pSStack_80->super_Relobj).dyn_reloc_count_ = uVar3 + 1;
  }
  return;
}



void FUN_001b0780(long param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4,
                 ulong param_5)

{
  byte *pbVar1;
  long lVar2;
  undefined8 *puVar3;
  char cVar4;
  long lVar5;
  long lVar6;
  undefined8 *puVar7;
  undefined8 uVar8;
  char local_89;
  undefined8 local_88;
  long lStack_80;
  undefined8 local_78;
  uint uStack_70;
  int iStack_6c;
  undefined4 local_68;
  uint uStack_64;
  undefined8 local_58;
  long lStack_50;
  undefined8 local_48;
  uint uStack_40;
  int iStack_3c;
  undefined4 local_38;
  uint uStack_34;
  
  if ((*(byte *)(param_4 + 7) & 0xf) == 10) {
    if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {
      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&
         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))
      goto LAB_001b08e0;
    }
    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {
LAB_001b08e0:
      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&
         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {
        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);
        if (lVar2 == 0) {
LAB_001b0a95:
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/parameters.h",0x5c,"options");
        }
        if (*(char *)(lVar2 + 0x2a61) != '\0') {
          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);
          param_5 = param_5 & 0xffffffff;
          if ((cVar4 == '\0') || (local_89 != '\0')) {
            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);
            if (lVar2 == 0) goto LAB_001b0a95;
            if ((*(char *)(lVar2 + 0xd21) != '\0') ||
               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))
            goto LAB_001b0980;
          }
          goto LAB_001b07a2;
        }
      }
LAB_001b0980:
      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);
      lVar2 = *(long *)(param_1 + 0x60);
      uVar8 = 1;
      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);
      local_68 = 0;
      puVar3 = *(undefined8 **)(lVar5 + 0x50);
      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {
        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);
        puVar7 = *(undefined8 **)(lVar5 + 0x50);
      }
      else {
        puVar7 = puVar3 + 5;
        *puVar3 = local_88;
        puVar3[1] = lStack_80;
        puVar3[2] = local_78;
        puVar3[3] = CONCAT44(iStack_6c,uStack_70);
        puVar3[4] = (ulong)uStack_64 << 0x20;
        *(undefined8 **)(lVar5 + 0x50) = puVar7;
      }
      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;
      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;
      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;
      pbVar1 = (byte *)(lVar2 + 0x20);
      *pbVar1 = *pbVar1 | 0x10;
      if ((uStack_70 & 0x10000000) != 0) {
        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;
      }
      goto joined_r0x001b0a40;
    }
  }
LAB_001b07a2:
  *(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40;
  lVar2 = *(long *)(param_1 + 0x38);
  lVar5 = *(long *)(param_1 + 0x58);
  FUN_003d73a0(&local_58,param_4,7,lVar5,param_5,0,0,0);
  puVar3 = *(undefined8 **)(lVar2 + 0x50);
  local_38 = 0;
  if (puVar3 == *(undefined8 **)(lVar2 + 0x58)) {
    FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);
    puVar7 = *(undefined8 **)(lVar2 + 0x50);
  }
  else {
    puVar7 = puVar3 + 5;
    *puVar3 = local_58;
    puVar3[1] = lStack_50;
    puVar3[2] = local_48;
    puVar3[3] = CONCAT44(iStack_3c,uStack_40);
    puVar3[4] = (ulong)uStack_34 << 0x20;
    *(undefined8 **)(lVar2 + 0x50) = puVar7;
  }
  lVar6 = (long)puVar7 - *(long *)(lVar2 + 0x48) >> 3;
  if ((*(byte *)(lVar2 + 0x20) & 2) != 0) {
LAB_001b0a7d:
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");
  }
  *(long *)(lVar2 + 0x10) = lVar6 * -0x6666666666666664;
  pbVar1 = (byte *)(lVar5 + 0x20);
  *pbVar1 = *pbVar1 | 0x10;
  lStack_80 = lStack_50;
  iStack_6c = iStack_3c;
  if ((uStack_40 & 0x10000000) != 0) {
    *(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;
  }
joined_r0x001b0a40:
  if ((iStack_6c != -4) && (lStack_80 != 0)) {
    if (*(int *)(lStack_80 + 0xa4) == 0) {
      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;
    }
    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;
  }
  return;
}


PUSH R13
PUSH R12
MOV R12,RDI
PUSH RBP
MOV RBP,RCX
PUSH RBX
SUB RSP,0x88
MOVZX EAX,byte ptr [RCX + 0x38]
AND EAX,0xf
CMP AL,0xa
JZ 0x001b08a0
OR byte ptr [RBP + 0x3a],0x40
LEA R13,[RSP + 0x50]
MOV RSI,RBP
XOR R9D,R9D
MOV RBX,qword ptr [R12 + 0x38]
MOV R12,qword ptr [R12 + 0x58]
PUSH 0x0
MOV EDX,0x7
PUSH 0x0
MOV RDI,R13
MOV RCX,R12
CALL 0x003d73a0
MOV RSI,qword ptr [RBX + 0x50]
MOV dword ptr [RSP + 0x80],0x0
POP RAX
POP RDX
CMP RSI,qword ptr [RBX + 0x58]
JZ 0x001b0a50
MOVDQA XMM0,xmmword ptr [RSP + 0x50]
ADD RSI,0x28
MOVUPS xmmword ptr [RSI + -0x28],XMM0
MOVDQA XMM1,xmmword ptr [RSP + 0x60]
MOVUPS xmmword ptr [RSI + -0x18],XMM1
MOV RAX,qword ptr [RSP + 0x70]
MOV qword ptr [RSI + -0x8],RAX
MOV qword ptr [RBX + 0x50],RSI
MOV RAX,-0x3333333333333333
SUB RSI,qword ptr [RBX + 0x48]
SAR RSI,0x3
IMUL RSI,RAX
LEA RAX,[RSI + RSI*0x2]
SHL RAX,0x2
TEST byte ptr [RBX + 0x20],0x2
JNZ 0x001b0a7d
MOV qword ptr [RBX + 0x10],RAX
OR byte ptr [R12 + 0x20],0x10
TEST byte ptr [RSP + 0x6b],0x10
JNZ 0x001b0880
CMP dword ptr [RSP + 0x6c],-0x4
MOV RAX,qword ptr [RSP + 0x58]
JZ 0x001b086c
TEST RAX,RAX
JZ 0x001b086c
MOV EDX,dword ptr [RAX + 0xa4]
TEST EDX,EDX
JZ 0x001b0890
ADD EDX,0x1
MOV dword ptr [RAX + 0xa4],EDX
ADD RSP,0x88
POP RBX
POP RBP
POP R12
POP R13
RET
ADD qword ptr [RBX + 0x38],0x1
JMP 0x001b0848
SUB ESI,0x1
MOV dword ptr [RAX + 0xa0],ESI
JMP 0x001b0863
MOVZX EAX,byte ptr [RCX + 0x3a]
MOV RBX,RSI
MOV R13,RDX
AND EAX,0x7
JNZ 0x001b08d8
MOV RAX,qword ptr [RCX + 0x10]
TEST byte ptr [RAX + 0x3c],0x1
JNZ 0x001b07a2
MOV R9D,dword ptr [RCX + 0x18]
TEST R9D,R9D
JNZ 0x001b08e0
TEST byte ptr [RCX + 0x3b],0x20
JZ 0x001b08e0
JMP 0x001b07a2
CMP AL,0x4
JZ 0x001b07a2
TEST byte ptr [RBP + 0x39],0x3
JNZ 0x001b0980
TEST byte ptr [RBP + 0x3b],0x10
JNZ 0x001b0980
MOV RAX,qword ptr [0x0067cb08]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001b0a95
CMP byte ptr [RAX + 0x2a61],0x0
JZ 0x001b0980
MOV RSI,qword ptr [RBP]
XOR EDX,EDX
LEA RCX,[RSP + 0x1f]
MOV dword ptr [RSP + 0xc],R8D
LEA RDI,[RAX + 0x9120]
CALL 0x0043a470
MOV R8D,dword ptr [RSP + 0xc]
TEST AL,AL
JZ 0x001b0941
CMP byte ptr [RSP + 0x1f],0x0
JZ 0x001b07a2
MOV RAX,qword ptr [0x0067cb08]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001b0a95
CMP byte ptr [RAX + 0xd21],0x0
JNZ 0x001b0980
MOVZX EDX,byte ptr [RBP + 0x38]
AND EDX,0xf
CMP DL,0x1
JZ 0x001b07a2
CMP byte ptr [RAX + 0xde9],0x0
JZ 0x001b07a2
NOP dword ptr [RAX + RAX*0x1]
MOV RDX,R13
MOV RSI,RBX
MOV RDI,R12
MOV dword ptr [RSP + 0xc],R8D
CALL 0x001ac6c0
LEA R13,[RSP + 0x20]
MOV RSI,RBP
XOR R9D,R9D
MOV R12,qword ptr [R12 + 0x60]
PUSH 0x0
MOV RBX,RAX
MOV RDI,R13
PUSH 0x1
MOV R8D,dword ptr [RSP + 0x1c]
MOV EDX,0x25
MOV RCX,R12
CALL 0x003d73a0
MOV dword ptr [RSP + 0x50],0x0
MOV RSI,qword ptr [RBX + 0x50]
POP RCX
POP RDI
CMP RSI,qword ptr [RBX + 0x58]
JZ 0x001b0a68
MOVDQA XMM2,xmmword ptr [RSP + 0x20]
ADD RSI,0x28
MOVUPS xmmword ptr [RSI + -0x28],XMM2
MOVDQA XMM3,xmmword ptr [RSP + 0x30]
MOVUPS xmmword ptr [RSI + -0x18],XMM3
MOV RAX,qword ptr [RSP + 0x40]
MOV qword ptr [RSI + -0x8],RAX
MOV qword ptr [RBX + 0x50],RSI
MOV RAX,-0x3333333333333333
SUB RSI,qword ptr [RBX + 0x48]
SAR RSI,0x3
IMUL RSI,RAX
LEA RAX,[RSI + RSI*0x2]
SHL RAX,0x2
TEST byte ptr [RBX + 0x20],0x2
JNZ 0x001b0a7d
MOV qword ptr [RBX + 0x10],RAX
OR byte ptr [R12 + 0x20],0x10
TEST byte ptr [RSP + 0x3b],0x10
JZ 0x001b0a36
ADD qword ptr [RBX + 0x38],0x1
CMP dword ptr [RSP + 0x3c],-0x4
MOV RAX,qword ptr [RSP + 0x28]
JNZ 0x001b0854
JMP 0x001b086c
LEA RDI,[RBX + 0x48]
MOV RDX,R13
CALL 0x001c12c0
MOV RSI,qword ptr [RBX + 0x50]
JMP 0x001b080f
LEA RDI,[RBX + 0x48]
MOV RDX,R13
CALL 0x001c12c0
MOV RSI,qword ptr [RBX + 0x50]
JMP 0x001b09fc
LEA RDX,[0x539360]
MOV ESI,0x231
LEA RDI,[0x533384]
CALL 0x00352af0
LEA RDX,[0x5394a8]
MOV ESI,0x5c
LEA RDI,[0x52e279]
CALL 0x00352af0
(translation_unit "void FUN_001b0780(long param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4,\n                 ulong param_5)\n\n{\n  byte *pbVar1;\n  long lVar2;\n  undefined8 *puVar3;\n  char cVar4;\n  long lVar5;\n  long lVar6;\n  undefined8 *puVar7;\n  undefined8 uVar8;\n  char local_89;\n  undefined8 local_88;\n  long lStack_80;\n  undefined8 local_78;\n  uint uStack_70;\n  int iStack_6c;\n  undefined4 local_68;\n  uint uStack_64;\n  undefined8 local_58;\n  long lStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  undefined4 local_38;\n  uint uStack_34;\n  \n  if ((*(byte *)(param_4 + 7) & 0xf) == 10) {\n    if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }\nLAB_001b07a2:\n  *(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40;\n  lVar2 = *(long *)(param_1 + 0x38);\n  lVar5 = *(long *)(param_1 + 0x58);\n  FUN_003d73a0(&local_58,param_4,7,lVar5,param_5,0,0,0);\n  puVar3 = *(undefined8 **)(lVar2 + 0x50);\n  local_38 = 0;\n  if (puVar3 == *(undefined8 **)(lVar2 + 0x58)) {\n    FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);\n    puVar7 = *(undefined8 **)(lVar2 + 0x50);\n  }\n  else {\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }\n  lVar6 = (long)puVar7 - *(long *)(lVar2 + 0x48) >> 3;\n  if ((*(byte *)(lVar2 + 0x20) & 2) != 0) {\nLAB_001b0a7d:\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }\n  *(long *)(lVar2 + 0x10) = lVar6 * -0x6666666666666664;\n  pbVar1 = (byte *)(lVar5 + 0x20);\n  *pbVar1 = *pbVar1 | 0x10;\n  lStack_80 = lStack_50;\n  iStack_6c = iStack_3c;\n  if ((uStack_40 & 0x10000000) != 0) {\n    *(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;\n  }\njoined_r0x001b0a40:\n  if ((iStack_6c != -4) && (lStack_80 != 0)) {\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }\n  return;\n}\n\n" (function_definition "void FUN_001b0780(long param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4,\n                 ulong param_5)\n\n{\n  byte *pbVar1;\n  long lVar2;\n  undefined8 *puVar3;\n  char cVar4;\n  long lVar5;\n  long lVar6;\n  undefined8 *puVar7;\n  undefined8 uVar8;\n  char local_89;\n  undefined8 local_88;\n  long lStack_80;\n  undefined8 local_78;\n  uint uStack_70;\n  int iStack_6c;\n  undefined4 local_68;\n  uint uStack_64;\n  undefined8 local_58;\n  long lStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  undefined4 local_38;\n  uint uStack_34;\n  \n  if ((*(byte *)(param_4 + 7) & 0xf) == 10) {\n    if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }\nLAB_001b07a2:\n  *(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40;\n  lVar2 = *(long *)(param_1 + 0x38);\n  lVar5 = *(long *)(param_1 + 0x58);\n  FUN_003d73a0(&local_58,param_4,7,lVar5,param_5,0,0,0);\n  puVar3 = *(undefined8 **)(lVar2 + 0x50);\n  local_38 = 0;\n  if (puVar3 == *(undefined8 **)(lVar2 + 0x58)) {\n    FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);\n    puVar7 = *(undefined8 **)(lVar2 + 0x50);\n  }\n  else {\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }\n  lVar6 = (long)puVar7 - *(long *)(lVar2 + 0x48) >> 3;\n  if ((*(byte *)(lVar2 + 0x20) & 2) != 0) {\nLAB_001b0a7d:\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }\n  *(long *)(lVar2 + 0x10) = lVar6 * -0x6666666666666664;\n  pbVar1 = (byte *)(lVar5 + 0x20);\n  *pbVar1 = *pbVar1 | 0x10;\n  lStack_80 = lStack_50;\n  iStack_6c = iStack_3c;\n  if ((uStack_40 & 0x10000000) != 0) {\n    *(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;\n  }\njoined_r0x001b0a40:\n  if ((iStack_6c != -4) && (lStack_80 != 0)) {\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_001b0780(long param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4,\n                 ulong param_5)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4,\n                 ulong param_5)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined8 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "ulong param_5" type_identifier identifier) ))) (compound_statement "{\n  byte *pbVar1;\n  long lVar2;\n  undefined8 *puVar3;\n  char cVar4;\n  long lVar5;\n  long lVar6;\n  undefined8 *puVar7;\n  undefined8 uVar8;\n  char local_89;\n  undefined8 local_88;\n  long lStack_80;\n  undefined8 local_78;\n  uint uStack_70;\n  int iStack_6c;\n  undefined4 local_68;\n  uint uStack_64;\n  undefined8 local_58;\n  long lStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  undefined4 local_38;\n  uint uStack_34;\n  \n  if ((*(byte *)(param_4 + 7) & 0xf) == 10) {\n    if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }\nLAB_001b07a2:\n  *(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40;\n  lVar2 = *(long *)(param_1 + 0x38);\n  lVar5 = *(long *)(param_1 + 0x58);\n  FUN_003d73a0(&local_58,param_4,7,lVar5,param_5,0,0,0);\n  puVar3 = *(undefined8 **)(lVar2 + 0x50);\n  local_38 = 0;\n  if (puVar3 == *(undefined8 **)(lVar2 + 0x58)) {\n    FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);\n    puVar7 = *(undefined8 **)(lVar2 + 0x50);\n  }\n  else {\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }\n  lVar6 = (long)puVar7 - *(long *)(lVar2 + 0x48) >> 3;\n  if ((*(byte *)(lVar2 + 0x20) & 2) != 0) {\nLAB_001b0a7d:\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }\n  *(long *)(lVar2 + 0x10) = lVar6 * -0x6666666666666664;\n  pbVar1 = (byte *)(lVar5 + 0x20);\n  *pbVar1 = *pbVar1 | 0x10;\n  lStack_80 = lStack_50;\n  iStack_6c = iStack_3c;\n  if ((uStack_40 & 0x10000000) != 0) {\n    *(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;\n  }\njoined_r0x001b0a40:\n  if ((iStack_6c != -4) && (lStack_80 != 0)) {\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }\n  return;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "char local_89;" primitive_type identifier ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "long lStack_80;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "uint uStack_70;" type_identifier identifier ;) (declaration "int iStack_6c;" primitive_type identifier ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "uint uStack_64;" type_identifier identifier ;) (declaration "undefined8 local_58;" type_identifier identifier ;) (declaration "long lStack_50;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "uint uStack_40;" type_identifier identifier ;) (declaration "int iStack_3c;" primitive_type identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "uint uStack_34;" type_identifier identifier ;) (if_statement "if ((*(byte *)(param_4 + 7) & 0xf) == 10) {\n    if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }" if (parenthesized_expression "((*(byte *)(param_4 + 7) & 0xf) == 10)" ( (binary_expression "(*(byte *)(param_4 + 7) & 0xf) == 10" (parenthesized_expression "(*(byte *)(param_4 + 7) & 0xf)" ( (binary_expression "*(byte *)(param_4 + 7) & 0xf" (pointer_expression "*(byte *)(param_4 + 7)" * (cast_expression "(byte *)(param_4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 7)" ( (binary_expression "param_4 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }" { (if_statement "if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }" if (parenthesized_expression "((*(byte *)((long)param_4 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)((long)param_4 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)((long)param_4 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)param_4 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_4 + 0x3a)" * (cast_expression "(byte *)((long)param_4 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_4 + 0x3a)" ( (binary_expression "(long)param_4 + 0x3a" (cast_expression "(long)param_4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }" { (if_statement "if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;" if (parenthesized_expression "(((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))" ( (binary_expression "((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0)))" (parenthesized_expression "((*(byte *)(param_4[2] + 0x3c) & 1) == 0)" ( (binary_expression "(*(byte *)(param_4[2] + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_4[2] + 0x3c) & 1)" ( (binary_expression "*(byte *)(param_4[2] + 0x3c) & 1" (pointer_expression "*(byte *)(param_4[2] + 0x3c)" * (cast_expression "(byte *)(param_4[2] + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4[2] + 0x3c)" ( (binary_expression "param_4[2] + 0x3c" (subscript_expression "param_4[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0)))" ( (parenthesized_expression "(*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))" ( (binary_expression "*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0)" (binary_expression "*(int *)(param_4 + 3) != 0" (pointer_expression "*(int *)(param_4 + 3)" * (cast_expression "(int *)(param_4 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 3)" ( (binary_expression "param_4 + 3" identifier + number_literal) )))) != number_literal) || (parenthesized_expression "((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((long)param_4 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)param_4 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)param_4 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)param_4 + 0x3b)" * (cast_expression "(byte *)((long)param_4 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_4 + 0x3b)" ( (binary_expression "(long)param_4 + 0x3b" (cast_expression "(long)param_4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_001b08e0;" goto statement_identifier ;)) }) (else_clause "else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }" else (if_statement "if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }" if (parenthesized_expression "((*(byte *)((long)param_4 + 0x3a) & 7) != 4)" ( (binary_expression "(*(byte *)((long)param_4 + 0x3a) & 7) != 4" (parenthesized_expression "(*(byte *)((long)param_4 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)param_4 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_4 + 0x3a)" * (cast_expression "(byte *)((long)param_4 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_4 + 0x3a)" ( (binary_expression "(long)param_4 + 0x3a" (cast_expression "(long)param_4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }" { (labeled_statement "LAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }" statement_identifier : (if_statement "if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }" if (parenthesized_expression "(((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0))" ( (binary_expression "((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)" (parenthesized_expression "((*(byte *)((long)param_4 + 0x39) & 3) == 0)" ( (binary_expression "(*(byte *)((long)param_4 + 0x39) & 3) == 0" (parenthesized_expression "(*(byte *)((long)param_4 + 0x39) & 3)" ( (binary_expression "*(byte *)((long)param_4 + 0x39) & 3" (pointer_expression "*(byte *)((long)param_4 + 0x39)" * (cast_expression "(byte *)((long)param_4 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_4 + 0x39)" ( (binary_expression "(long)param_4 + 0x39" (cast_expression "(long)param_4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)" ( (binary_expression "(*(byte *)((long)param_4 + 0x3b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)param_4 + 0x3b) & 0x10)" ( (binary_expression "*(byte *)((long)param_4 + 0x3b) & 0x10" (pointer_expression "*(byte *)((long)param_4 + 0x3b)" * (cast_expression "(byte *)((long)param_4 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_4 + 0x3b)" ( (binary_expression "(long)param_4 + 0x3b" (cast_expression "(long)param_4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }" { (expression_statement "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar2 == 0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }" if (parenthesized_expression "(lVar2 == 0)" ( (binary_expression "lVar2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }" { (labeled_statement "LAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../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 (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }" if (parenthesized_expression "(*(char *)(lVar2 + 0x2a61) != '\0')" ( (binary_expression "*(char *)(lVar2 + 0x2a61) != '\0'" (pointer_expression "*(char *)(lVar2 + 0x2a61)" * (cast_expression "(char *)(lVar2 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x2a61)" ( (binary_expression "lVar2 + 0x2a61" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }" { (expression_statement "cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);" (assignment_expression "cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89)" identifier = (call_expression "FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89)" identifier (argument_list "(lVar2 + 0x9120,*param_4,0,&local_89)" ( (binary_expression "lVar2 + 0x9120" identifier + number_literal) , (pointer_expression "*param_4" * identifier) , number_literal , (pointer_expression "&local_89" & identifier) )))) ;) (expression_statement "param_5 = param_5 & 0xffffffff;" (assignment_expression "param_5 = param_5 & 0xffffffff" identifier = (binary_expression "param_5 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }" if (parenthesized_expression "((cVar4 == '\0') || (local_89 != '\0'))" ( (binary_expression "(cVar4 == '\0') || (local_89 != '\0')" (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(local_89 != '\0')" ( (binary_expression "local_89 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }" { (expression_statement "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar2 == 0) goto LAB_001b0a95;" if (parenthesized_expression "(lVar2 == 0)" ( (binary_expression "lVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001b0a95;" goto statement_identifier ;)) (if_statement "if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;" if (parenthesized_expression "((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))" ( (binary_expression "(*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0')))" (parenthesized_expression "(*(char *)(lVar2 + 0xd21) != '\0')" ( (binary_expression "*(char *)(lVar2 + 0xd21) != '\0'" (pointer_expression "*(char *)(lVar2 + 0xd21)" * (cast_expression "(char *)(lVar2 + 0xd21)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xd21)" ( (binary_expression "lVar2 + 0xd21" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0')))" ( (parenthesized_expression "((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))" ( (binary_expression "(*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0')" (binary_expression "(*(byte *)(param_4 + 7) & 0xf) != 1" (parenthesized_expression "(*(byte *)(param_4 + 7) & 0xf)" ( (binary_expression "*(byte *)(param_4 + 7) & 0xf" (pointer_expression "*(byte *)(param_4 + 7)" * (cast_expression "(byte *)(param_4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 7)" ( (binary_expression "param_4 + 7" identifier + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "(*(char *)(lVar2 + 0xde9) != '\0')" ( (binary_expression "*(char *)(lVar2 + 0xde9) != '\0'" (pointer_expression "*(char *)(lVar2 + 0xde9)" * (cast_expression "(char *)(lVar2 + 0xde9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xde9)" ( (binary_expression "lVar2 + 0xde9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (goto_statement "goto LAB_001b0980;" goto statement_identifier ;)) })) (goto_statement "goto LAB_001b07a2;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);" statement_identifier : (expression_statement "lVar5 = FUN_001ac6c0(param_1,param_2,param_3);" (assignment_expression "lVar5 = FUN_001ac6c0(param_1,param_2,param_3)" identifier = (call_expression "FUN_001ac6c0(param_1,param_2,param_3)" identifier (argument_list "(param_1,param_2,param_3)" ( identifier , identifier , identifier )))) ;)) (expression_statement "lVar2 = *(long *)(param_1 + 0x60);" (assignment_expression "lVar2 = *(long *)(param_1 + 0x60)" identifier = (pointer_expression "*(long *)(param_1 + 0x60)" * (cast_expression "(long *)(param_1 + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (expression_statement "FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);" (call_expression "FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0)" identifier (argument_list "(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0)" ( (pointer_expression "&local_88" & identifier) , identifier , number_literal , identifier , (binary_expression "param_5 & 0xffffffff" identifier & number_literal) , number_literal , number_literal , number_literal ))) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "puVar3 = *(undefined8 **)(lVar5 + 0x50);" (assignment_expression "puVar3 = *(undefined8 **)(lVar5 + 0x50)" identifier = (pointer_expression "*(undefined8 **)(lVar5 + 0x50)" * (cast_expression "(undefined8 **)(lVar5 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar5 + 0x50)" ( (binary_expression "lVar5 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }" if (parenthesized_expression "(puVar3 == *(undefined8 **)(lVar5 + 0x58))" ( (binary_expression "puVar3 == *(undefined8 **)(lVar5 + 0x58)" identifier == (pointer_expression "*(undefined8 **)(lVar5 + 0x58)" * (cast_expression "(undefined8 **)(lVar5 + 0x58)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar5 + 0x58)" ( (binary_expression "lVar5 + 0x58" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }" { (expression_statement "FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);" (call_expression "FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8)" identifier (argument_list "(lVar5 + 0x48,puVar3,&local_88,uVar8)" ( (binary_expression "lVar5 + 0x48" identifier + number_literal) , identifier , (pointer_expression "&local_88" & identifier) , identifier ))) ;) (expression_statement "puVar7 = *(undefined8 **)(lVar5 + 0x50);" (assignment_expression "puVar7 = *(undefined8 **)(lVar5 + 0x50)" identifier = (pointer_expression "*(undefined8 **)(lVar5 + 0x50)" * (cast_expression "(undefined8 **)(lVar5 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar5 + 0x50)" ( (binary_expression "lVar5 + 0x50" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }" else (compound_statement "{\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }" { (expression_statement "puVar7 = puVar3 + 5;" (assignment_expression "puVar7 = puVar3 + 5" identifier = (binary_expression "puVar3 + 5" identifier + number_literal)) ;) (expression_statement "*puVar3 = local_88;" (assignment_expression "*puVar3 = local_88" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "puVar3[1] = lStack_80;" (assignment_expression "puVar3[1] = lStack_80" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[2] = local_78;" (assignment_expression "puVar3[2] = local_78" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[3] = CONCAT44(iStack_6c,uStack_70);" (assignment_expression "puVar3[3] = CONCAT44(iStack_6c,uStack_70)" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = (call_expression "CONCAT44(iStack_6c,uStack_70)" identifier (argument_list "(iStack_6c,uStack_70)" ( identifier , identifier )))) ;) (expression_statement "puVar3[4] = (ulong)uStack_64 << 0x20;" (assignment_expression "puVar3[4] = (ulong)uStack_64 << 0x20" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = (binary_expression "(ulong)uStack_64 << 0x20" (cast_expression "(ulong)uStack_64" ( (type_descriptor "ulong" type_identifier) ) identifier) << number_literal)) ;) (expression_statement "*(undefined8 **)(lVar5 + 0x50) = puVar7;" (assignment_expression "*(undefined8 **)(lVar5 + 0x50) = puVar7" (pointer_expression "*(undefined8 **)(lVar5 + 0x50)" * (cast_expression "(undefined8 **)(lVar5 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar5 + 0x50)" ( (binary_expression "lVar5 + 0x50" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;" (assignment_expression "lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3" identifier = (binary_expression "(long)puVar7 - *(long *)(lVar5 + 0x48) >> 3" (binary_expression "(long)puVar7 - *(long *)(lVar5 + 0x48)" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (pointer_expression "*(long *)(lVar5 + 0x48)" * (cast_expression "(long *)(lVar5 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x48)" ( (binary_expression "lVar5 + 0x48" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;" if (parenthesized_expression "((*(byte *)(lVar5 + 0x20) & 2) != 0)" ( (binary_expression "(*(byte *)(lVar5 + 0x20) & 2) != 0" (parenthesized_expression "(*(byte *)(lVar5 + 0x20) & 2)" ( (binary_expression "*(byte *)(lVar5 + 0x20) & 2" (pointer_expression "*(byte *)(lVar5 + 0x20)" * (cast_expression "(byte *)(lVar5 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x20)" ( (binary_expression "lVar5 + 0x20" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001b0a7d;" goto statement_identifier ;)) (expression_statement "*(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;" (assignment_expression "*(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664" (pointer_expression "*(long *)(lVar5 + 0x10)" * (cast_expression "(long *)(lVar5 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x10)" ( (binary_expression "lVar5 + 0x10" identifier + number_literal) )))) = (binary_expression "lVar6 * -0x6666666666666664" identifier * number_literal)) ;) (expression_statement "pbVar1 = (byte *)(lVar2 + 0x20);" (assignment_expression "pbVar1 = (byte *)(lVar2 + 0x20)" identifier = (cast_expression "(byte *)(lVar2 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x20)" ( (binary_expression "lVar2 + 0x20" 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 ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }" if (parenthesized_expression "((uStack_70 & 0x10000000) != 0)" ( (binary_expression "(uStack_70 & 0x10000000) != 0" (parenthesized_expression "(uStack_70 & 0x10000000)" ( (binary_expression "uStack_70 & 0x10000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }" { (expression_statement "*(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;" (assignment_expression "*(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1" (pointer_expression "*(long *)(lVar5 + 0x38)" * (cast_expression "(long *)(lVar5 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x38)" ( (binary_expression "lVar5 + 0x38" identifier + number_literal) )))) = (binary_expression "*(long *)(lVar5 + 0x38) + 1" (pointer_expression "*(long *)(lVar5 + 0x38)" * (cast_expression "(long *)(lVar5 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x38)" ( (binary_expression "lVar5 + 0x38" identifier + number_literal) )))) + number_literal)) ;) })) (goto_statement "goto joined_r0x001b0a40;" goto statement_identifier ;) })))) })) (labeled_statement "LAB_001b07a2:\n  *(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40;" statement_identifier : (expression_statement "*(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40;" (assignment_expression "*(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40" (pointer_expression "*(byte *)((long)param_4 + 0x3a)" * (cast_expression "(byte *)((long)param_4 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_4 + 0x3a)" ( (binary_expression "(long)param_4 + 0x3a" (cast_expression "(long)param_4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((long)param_4 + 0x3a) | 0x40" (pointer_expression "*(byte *)((long)param_4 + 0x3a)" * (cast_expression "(byte *)((long)param_4 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_4 + 0x3a)" ( (binary_expression "(long)param_4 + 0x3a" (cast_expression "(long)param_4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) | number_literal)) ;)) (expression_statement "lVar2 = *(long *)(param_1 + 0x38);" (assignment_expression "lVar2 = *(long *)(param_1 + 0x38)" identifier = (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "lVar5 = *(long *)(param_1 + 0x58);" (assignment_expression "lVar5 = *(long *)(param_1 + 0x58)" identifier = (pointer_expression "*(long *)(param_1 + 0x58)" * (cast_expression "(long *)(param_1 + 0x58)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "FUN_003d73a0(&local_58,param_4,7,lVar5,param_5,0,0,0);" (call_expression "FUN_003d73a0(&local_58,param_4,7,lVar5,param_5,0,0,0)" identifier (argument_list "(&local_58,param_4,7,lVar5,param_5,0,0,0)" ( (pointer_expression "&local_58" & identifier) , identifier , number_literal , identifier , identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "puVar3 = *(undefined8 **)(lVar2 + 0x50);" (assignment_expression "puVar3 = *(undefined8 **)(lVar2 + 0x50)" identifier = (pointer_expression "*(undefined8 **)(lVar2 + 0x50)" * (cast_expression "(undefined8 **)(lVar2 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x50)" ( (binary_expression "lVar2 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (if_statement "if (puVar3 == *(undefined8 **)(lVar2 + 0x58)) {\n    FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);\n    puVar7 = *(undefined8 **)(lVar2 + 0x50);\n  }\n  else {\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }" if (parenthesized_expression "(puVar3 == *(undefined8 **)(lVar2 + 0x58))" ( (binary_expression "puVar3 == *(undefined8 **)(lVar2 + 0x58)" identifier == (pointer_expression "*(undefined8 **)(lVar2 + 0x58)" * (cast_expression "(undefined8 **)(lVar2 + 0x58)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x58)" ( (binary_expression "lVar2 + 0x58" identifier + number_literal) ))))) )) (compound_statement "{\n    FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);\n    puVar7 = *(undefined8 **)(lVar2 + 0x50);\n  }" { (expression_statement "FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);" (call_expression "FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58)" identifier (argument_list "(lVar2 + 0x48,puVar3,&local_58)" ( (binary_expression "lVar2 + 0x48" identifier + number_literal) , identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "puVar7 = *(undefined8 **)(lVar2 + 0x50);" (assignment_expression "puVar7 = *(undefined8 **)(lVar2 + 0x50)" identifier = (pointer_expression "*(undefined8 **)(lVar2 + 0x50)" * (cast_expression "(undefined8 **)(lVar2 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x50)" ( (binary_expression "lVar2 + 0x50" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }" else (compound_statement "{\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }" { (expression_statement "puVar7 = puVar3 + 5;" (assignment_expression "puVar7 = puVar3 + 5" identifier = (binary_expression "puVar3 + 5" identifier + number_literal)) ;) (expression_statement "*puVar3 = local_58;" (assignment_expression "*puVar3 = local_58" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "puVar3[1] = lStack_50;" (assignment_expression "puVar3[1] = lStack_50" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[2] = local_48;" (assignment_expression "puVar3[2] = local_48" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[3] = CONCAT44(iStack_3c,uStack_40);" (assignment_expression "puVar3[3] = CONCAT44(iStack_3c,uStack_40)" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = (call_expression "CONCAT44(iStack_3c,uStack_40)" identifier (argument_list "(iStack_3c,uStack_40)" ( identifier , identifier )))) ;) (expression_statement "puVar3[4] = (ulong)uStack_34 << 0x20;" (assignment_expression "puVar3[4] = (ulong)uStack_34 << 0x20" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = (binary_expression "(ulong)uStack_34 << 0x20" (cast_expression "(ulong)uStack_34" ( (type_descriptor "ulong" type_identifier) ) identifier) << number_literal)) ;) (expression_statement "*(undefined8 **)(lVar2 + 0x50) = puVar7;" (assignment_expression "*(undefined8 **)(lVar2 + 0x50) = puVar7" (pointer_expression "*(undefined8 **)(lVar2 + 0x50)" * (cast_expression "(undefined8 **)(lVar2 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x50)" ( (binary_expression "lVar2 + 0x50" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "lVar6 = (long)puVar7 - *(long *)(lVar2 + 0x48) >> 3;" (assignment_expression "lVar6 = (long)puVar7 - *(long *)(lVar2 + 0x48) >> 3" identifier = (binary_expression "(long)puVar7 - *(long *)(lVar2 + 0x48) >> 3" (binary_expression "(long)puVar7 - *(long *)(lVar2 + 0x48)" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (pointer_expression "*(long *)(lVar2 + 0x48)" * (cast_expression "(long *)(lVar2 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x48)" ( (binary_expression "lVar2 + 0x48" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if ((*(byte *)(lVar2 + 0x20) & 2) != 0) {\nLAB_001b0a7d:\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }" if (parenthesized_expression "((*(byte *)(lVar2 + 0x20) & 2) != 0)" ( (binary_expression "(*(byte *)(lVar2 + 0x20) & 2) != 0" (parenthesized_expression "(*(byte *)(lVar2 + 0x20) & 2)" ( (binary_expression "*(byte *)(lVar2 + 0x20) & 2" (pointer_expression "*(byte *)(lVar2 + 0x20)" * (cast_expression "(byte *)(lVar2 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x20)" ( (binary_expression "lVar2 + 0x20" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001b0a7d:\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }" { (labeled_statement "LAB_001b0a7d:\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");" statement_identifier : comment (expression_statement "FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "FUN_00352af0("../../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 "*(long *)(lVar2 + 0x10) = lVar6 * -0x6666666666666664;" (assignment_expression "*(long *)(lVar2 + 0x10) = lVar6 * -0x6666666666666664" (pointer_expression "*(long *)(lVar2 + 0x10)" * (cast_expression "(long *)(lVar2 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x10)" ( (binary_expression "lVar2 + 0x10" identifier + number_literal) )))) = (binary_expression "lVar6 * -0x6666666666666664" identifier * number_literal)) ;) (expression_statement "pbVar1 = (byte *)(lVar5 + 0x20);" (assignment_expression "pbVar1 = (byte *)(lVar5 + 0x20)" identifier = (cast_expression "(byte *)(lVar5 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x20)" ( (binary_expression "lVar5 + 0x20" 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 "lStack_80 = lStack_50;" (assignment_expression "lStack_80 = lStack_50" identifier = identifier) ;) (expression_statement "iStack_6c = iStack_3c;" (assignment_expression "iStack_6c = iStack_3c" identifier = identifier) ;) (if_statement "if ((uStack_40 & 0x10000000) != 0) {\n    *(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;\n  }" if (parenthesized_expression "((uStack_40 & 0x10000000) != 0)" ( (binary_expression "(uStack_40 & 0x10000000) != 0" (parenthesized_expression "(uStack_40 & 0x10000000)" ( (binary_expression "uStack_40 & 0x10000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    *(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;\n  }" { (expression_statement "*(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;" (assignment_expression "*(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1" (pointer_expression "*(long *)(lVar2 + 0x38)" * (cast_expression "(long *)(lVar2 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x38)" ( (binary_expression "lVar2 + 0x38" identifier + number_literal) )))) = (binary_expression "*(long *)(lVar2 + 0x38) + 1" (pointer_expression "*(long *)(lVar2 + 0x38)" * (cast_expression "(long *)(lVar2 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x38)" ( (binary_expression "lVar2 + 0x38" identifier + number_literal) )))) + number_literal)) ;) })) (labeled_statement "joined_r0x001b0a40:\n  if ((iStack_6c != -4) && (lStack_80 != 0)) {\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }" statement_identifier : (if_statement "if ((iStack_6c != -4) && (lStack_80 != 0)) {\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }" if (parenthesized_expression "((iStack_6c != -4) && (lStack_80 != 0))" ( (binary_expression "(iStack_6c != -4) && (lStack_80 != 0)" (parenthesized_expression "(iStack_6c != -4)" ( (binary_expression "iStack_6c != -4" identifier != number_literal) )) && (parenthesized_expression "(lStack_80 != 0)" ( (binary_expression "lStack_80 != 0" identifier != number_literal) ))) )) (compound_statement "{\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }" { (if_statement "if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }" if (parenthesized_expression "(*(int *)(lStack_80 + 0xa4) == 0)" ( (binary_expression "*(int *)(lStack_80 + 0xa4) == 0" (pointer_expression "*(int *)(lStack_80 + 0xa4)" * (cast_expression "(int *)(lStack_80 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lStack_80 + 0xa4)" ( (binary_expression "lStack_80 + 0xa4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }" { (expression_statement "*(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;" (assignment_expression "*(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1" (pointer_expression "*(int *)(lStack_80 + 0xa0)" * (cast_expression "(int *)(lStack_80 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lStack_80 + 0xa0)" ( (binary_expression "lStack_80 + 0xa0" identifier + number_literal) )))) = (binary_expression "(int)lVar6 * -0x33333333 + -1" (binary_expression "(int)lVar6 * -0x33333333" (cast_expression "(int)lVar6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal)) ;) })) (expression_statement "*(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;" (assignment_expression "*(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1" (pointer_expression "*(int *)(lStack_80 + 0xa4)" * (cast_expression "(int *)(lStack_80 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lStack_80 + 0xa4)" ( (binary_expression "lStack_80 + 0xa4" identifier + number_literal) )))) = (binary_expression "*(int *)(lStack_80 + 0xa4) + 1" (pointer_expression "*(int *)(lStack_80 + 0xa4)" * (cast_expression "(int *)(lStack_80 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lStack_80 + 0xa4)" ( (binary_expression "lStack_80 + 0xa4" identifier + number_literal) )))) + number_literal)) ;) }))) (return_statement "return;" return ;) })))
(translation_unit "/* 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_358c2b::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  size_t *psVar1;\n  undefined1 *puVar2;\n  uint uVar3;\n  Output_data_got_plt_x86_64 *od;\n  iterator iVar4;\n  General_options *pGVar5;\n  Output_data_space *od_00;\n  bool bVar6;\n  Reloc_section *pRVar7;\n  long lVar8;\n  Output_reloc<4,_true,_32,_false> *pOVar9;\n  bool is_global;\n  anon_union_8_4_c82d8563_for_u1_ local_88;\n  Sized_relobj<32,_false> *pSStack_80;\n  undefined8 local_78;\n  uint uStack_70;\n  int iStack_6c;\n  undefined4 local_68;\n  uint uStack_64;\n  anon_union_8_4_c82d8563_for_u1_ local_58;\n  Sized_relobj<32,_false> *pSStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  undefined4 local_38;\n  uint uStack_34;\n  \n  if ((gsym->field_0x38 & 0xf) == 10) {\n    if ((gsym->field_0x3a & 7) == 0) {\n      if ((((ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_finish & 0x100000000) == 0) &&\n         (((gsym->u2_).shndx != 0 || ((gsym->field_0x3b & 0x20) == 0)))) goto LAB_001b08e0;\n    }\n    else if ((gsym->field_0x3a & 7) != 4) {\nLAB_001b08e0:\n      if (((gsym->field_0x39 & 3) == 0) && ((gsym->field_0x3b & 0x10) == 0)) {\n        pGVar5 = gold::parameters->options_;\n        if (pGVar5 == (General_options *)0x0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar5->shared_).value != false) {\n          bVar6 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global);\n          if ((!bVar6) || (is_global != false)) {\n            pGVar5 = gold::parameters->options_;\n            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;\n            if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      pRVar7 = rela_irelative(this,symtab,layout);\n      od_00 = this->got_irelative_;\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,false,true,false);\n      local_68 = 0;\n      iVar4._M_current =\n           (pRVar7->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 (iVar4._M_current ==\n          (pRVar7->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                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88);\n        pOVar9 = (pRVar7->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        pOVar9 = iVar4._M_current + 1;\n        ((iVar4._M_current)->rel_).u1_ = local_88;\n        ((iVar4._M_current)->rel_).u2_.relobj = pSStack_80;\n        ((iVar4._M_current)->rel_).address_ = (undefined4)local_78;\n        ((iVar4._M_current)->rel_).local_sym_index_ = local_78._4_4_;\n        *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_6c,uStack_70);\n        *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_64 << 0x20;\n        (pRVar7->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 = pOVar9;\n      }\n      lVar8 = (long)pOVar9 -\n              (long)(pRVar7->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 >> 3;\n      if (((pRVar7->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_0x20 & 2) != 0) goto LAB_001b0a7d;\n      (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n      super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n           lVar8 * -0x6666666666666664;\n      puVar2 = &(od_00->super_Output_section_data_build).super_Output_section_data.super_Output_data\n                .field_0x20;\n      *puVar2 = *puVar2 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar1 = *psVar1 + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }\nLAB_001b07a2:\n  gsym->field_0x3a = gsym->field_0x3a | 0x40;\n  pRVar7 = this->rel_;\n  od = this->got_plt_;\n  gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_58,gsym,7,(Output_data *)od,got_offset,false\n             ,false,false);\n  iVar4._M_current =\n       (pRVar7->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  local_38 = 0;\n  if (iVar4._M_current ==\n      (pRVar7->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              (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n               (Output_reloc<4,_true,_32,_false> *)&local_58);\n    pOVar9 = (pRVar7->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    pOVar9 = iVar4._M_current + 1;\n    ((iVar4._M_current)->rel_).u1_ = local_58;\n    ((iVar4._M_current)->rel_).u2_.relobj = pSStack_50;\n    ((iVar4._M_current)->rel_).address_ = (undefined4)local_48;\n    ((iVar4._M_current)->rel_).local_sym_index_ = local_48._4_4_;\n    *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_3c,uStack_40);\n    *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_34 << 0x20;\n    (pRVar7->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 = pOVar9;\n  }\n  lVar8 = (long)pOVar9 -\n          (long)(pRVar7->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 >> 3;\n  if (((pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n       super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20 & 2)\n      != 0) {\nLAB_001b0a7d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }\n  (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n  super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n       lVar8 * -0x6666666666666664;\n  puVar2 = &(od->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            field_0x20;\n  *puVar2 = *puVar2 | 0x10;\n  pSStack_80 = pSStack_50;\n  iStack_6c = iStack_3c;\n  if ((uStack_40 & 0x10000000) != 0) {\n    psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.relative_reloc_count_;\n    *psVar1 = *psVar1 + 1;\n  }\njoined_r0x001b0a40:\n  if ((iStack_6c != -4) && (pSStack_80 != (Sized_relobj<32,_false> *)0x0)) {\n    uVar3 = (pSStack_80->super_Relobj).dyn_reloc_count_;\n    if (uVar3 == 0) {\n      (pSStack_80->super_Relobj).first_dyn_reloc_ = (int)lVar8 * -0x33333333 - 1;\n    }\n    (pSStack_80->super_Relobj).dyn_reloc_count_ = uVar3 + 1;\n  }\n  return;\n}\n\n" comment comment comment comment (function_definition "void __thiscall\nanon_unknown.dwarf_358c2b::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  size_t *psVar1;\n  undefined1 *puVar2;\n  uint uVar3;\n  Output_data_got_plt_x86_64 *od;\n  iterator iVar4;\n  General_options *pGVar5;\n  Output_data_space *od_00;\n  bool bVar6;\n  Reloc_section *pRVar7;\n  long lVar8;\n  Output_reloc<4,_true,_32,_false> *pOVar9;\n  bool is_global;\n  anon_union_8_4_c82d8563_for_u1_ local_88;\n  Sized_relobj<32,_false> *pSStack_80;\n  undefined8 local_78;\n  uint uStack_70;\n  int iStack_6c;\n  undefined4 local_68;\n  uint uStack_64;\n  anon_union_8_4_c82d8563_for_u1_ local_58;\n  Sized_relobj<32,_false> *pSStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  undefined4 local_38;\n  uint uStack_34;\n  \n  if ((gsym->field_0x38 & 0xf) == 10) {\n    if ((gsym->field_0x3a & 7) == 0) {\n      if ((((ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_finish & 0x100000000) == 0) &&\n         (((gsym->u2_).shndx != 0 || ((gsym->field_0x3b & 0x20) == 0)))) goto LAB_001b08e0;\n    }\n    else if ((gsym->field_0x3a & 7) != 4) {\nLAB_001b08e0:\n      if (((gsym->field_0x39 & 3) == 0) && ((gsym->field_0x3b & 0x10) == 0)) {\n        pGVar5 = gold::parameters->options_;\n        if (pGVar5 == (General_options *)0x0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar5->shared_).value != false) {\n          bVar6 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global);\n          if ((!bVar6) || (is_global != false)) {\n            pGVar5 = gold::parameters->options_;\n            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;\n            if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      pRVar7 = rela_irelative(this,symtab,layout);\n      od_00 = this->got_irelative_;\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,false,true,false);\n      local_68 = 0;\n      iVar4._M_current =\n           (pRVar7->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 (iVar4._M_current ==\n          (pRVar7->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                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88);\n        pOVar9 = (pRVar7->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        pOVar9 = iVar4._M_current + 1;\n        ((iVar4._M_current)->rel_).u1_ = local_88;\n        ((iVar4._M_current)->rel_).u2_.relobj = pSStack_80;\n        ((iVar4._M_current)->rel_).address_ = (undefined4)local_78;\n        ((iVar4._M_current)->rel_).local_sym_index_ = local_78._4_4_;\n        *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_6c,uStack_70);\n        *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_64 << 0x20;\n        (pRVar7->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 = pOVar9;\n      }\n      lVar8 = (long)pOVar9 -\n              (long)(pRVar7->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 >> 3;\n      if (((pRVar7->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_0x20 & 2) != 0) goto LAB_001b0a7d;\n      (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n      super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n           lVar8 * -0x6666666666666664;\n      puVar2 = &(od_00->super_Output_section_data_build).super_Output_section_data.super_Output_data\n                .field_0x20;\n      *puVar2 = *puVar2 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar1 = *psVar1 + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }\nLAB_001b07a2:\n  gsym->field_0x3a = gsym->field_0x3a | 0x40;\n  pRVar7 = this->rel_;\n  od = this->got_plt_;\n  gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_58,gsym,7,(Output_data *)od,got_offset,false\n             ,false,false);\n  iVar4._M_current =\n       (pRVar7->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  local_38 = 0;\n  if (iVar4._M_current ==\n      (pRVar7->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              (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n               (Output_reloc<4,_true,_32,_false> *)&local_58);\n    pOVar9 = (pRVar7->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    pOVar9 = iVar4._M_current + 1;\n    ((iVar4._M_current)->rel_).u1_ = local_58;\n    ((iVar4._M_current)->rel_).u2_.relobj = pSStack_50;\n    ((iVar4._M_current)->rel_).address_ = (undefined4)local_48;\n    ((iVar4._M_current)->rel_).local_sym_index_ = local_48._4_4_;\n    *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_3c,uStack_40);\n    *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_34 << 0x20;\n    (pRVar7->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 = pOVar9;\n  }\n  lVar8 = (long)pOVar9 -\n          (long)(pRVar7->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 >> 3;\n  if (((pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n       super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20 & 2)\n      != 0) {\nLAB_001b0a7d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }\n  (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n  super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n       lVar8 * -0x6666666666666664;\n  puVar2 = &(od->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            field_0x20;\n  *puVar2 = *puVar2 | 0x10;\n  pSStack_80 = pSStack_50;\n  iStack_6c = iStack_3c;\n  if ((uStack_40 & 0x10000000) != 0) {\n    psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.relative_reloc_count_;\n    *psVar1 = *psVar1 + 1;\n  }\njoined_r0x001b0a40:\n  if ((iStack_6c != -4) && (pSStack_80 != (Sized_relobj<32,_false> *)0x0)) {\n    uVar3 = (pSStack_80->super_Relobj).dyn_reloc_count_;\n    if (uVar3 == 0) {\n      (pSStack_80->super_Relobj).first_dyn_reloc_ = (int)lVar8 * -0x33333333 - 1;\n    }\n    (pSStack_80->super_Relobj).dyn_reloc_count_ = uVar3 + 1;\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_358c2b::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  size_t *psVar1;\n  undefined1 *puVar2;\n  uint uVar3;\n  Output_data_got_plt_x86_64 *od;\n  iterator iVar4;\n  General_options *pGVar5;\n  Output_data_space *od_00;\n  bool bVar6;\n  Reloc_section *pRVar7;\n  long lVar8;\n  Output_reloc<4,_true,_32,_false> *pOVar9;\n  bool is_global;\n  anon_union_8_4_c82d8563_for_u1_ local_88;\n  Sized_relobj<32,_false> *pSStack_80;\n  undefined8 local_78;\n  uint uStack_70;\n  int iStack_6c;\n  undefined4 local_68;\n  uint uStack_64;\n  anon_union_8_4_c82d8563_for_u1_ local_58;\n  Sized_relobj<32,_false> *pSStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  undefined4 local_38;\n  uint uStack_34;\n  \n  if ((gsym->field_0x38 & 0xf) == 10) {\n    if ((gsym->field_0x3a & 7) == 0) {\n      if ((((ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_finish & 0x100000000) == 0) &&\n         (((gsym->u2_).shndx != 0 || ((gsym->field_0x3b & 0x20) == 0)))) goto LAB_001b08e0;\n    }\n    else if ((gsym->field_0x3a & 7) != 4) {\nLAB_001b08e0:\n      if (((gsym->field_0x39 & 3) == 0) && ((gsym->field_0x3b & 0x10) == 0)) {\n        pGVar5 = gold::parameters->options_;\n        if (pGVar5 == (General_options *)0x0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar5->shared_).value != false) {\n          bVar6 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global);\n          if ((!bVar6) || (is_global != false)) {\n            pGVar5 = gold::parameters->options_;\n            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;\n            if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      pRVar7 = rela_irelative(this,symtab,layout);\n      od_00 = this->got_irelative_;\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,false,true,false);\n      local_68 = 0;\n      iVar4._M_current =\n           (pRVar7->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 (iVar4._M_current ==\n          (pRVar7->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                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88);\n        pOVar9 = (pRVar7->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        pOVar9 = iVar4._M_current + 1;\n        ((iVar4._M_current)->rel_).u1_ = local_88;\n        ((iVar4._M_current)->rel_).u2_.relobj = pSStack_80;\n        ((iVar4._M_current)->rel_).address_ = (undefined4)local_78;\n        ((iVar4._M_current)->rel_).local_sym_index_ = local_78._4_4_;\n        *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_6c,uStack_70);\n        *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_64 << 0x20;\n        (pRVar7->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 = pOVar9;\n      }\n      lVar8 = (long)pOVar9 -\n              (long)(pRVar7->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 >> 3;\n      if (((pRVar7->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_0x20 & 2) != 0) goto LAB_001b0a7d;\n      (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n      super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n           lVar8 * -0x6666666666666664;\n      puVar2 = &(od_00->super_Output_section_data_build).super_Output_section_data.super_Output_data\n                .field_0x20;\n      *puVar2 = *puVar2 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar1 = *psVar1 + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }\nLAB_001b07a2:\n  gsym->field_0x3a = gsym->field_0x3a | 0x40;\n  pRVar7 = this->rel_;\n  od = this->got_plt_;\n  gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_58,gsym,7,(Output_data *)od,got_offset,false\n             ,false,false);\n  iVar4._M_current =\n       (pRVar7->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  local_38 = 0;\n  if (iVar4._M_current ==\n      (pRVar7->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              (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n               (Output_reloc<4,_true,_32,_false> *)&local_58);\n    pOVar9 = (pRVar7->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    pOVar9 = iVar4._M_current + 1;\n    ((iVar4._M_current)->rel_).u1_ = local_58;\n    ((iVar4._M_current)->rel_).u2_.relobj = pSStack_50;\n    ((iVar4._M_current)->rel_).address_ = (undefined4)local_48;\n    ((iVar4._M_current)->rel_).local_sym_index_ = local_48._4_4_;\n    *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_3c,uStack_40);\n    *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_34 << 0x20;\n    (pRVar7->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 = pOVar9;\n  }\n  lVar8 = (long)pOVar9 -\n          (long)(pRVar7->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 >> 3;\n  if (((pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n       super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20 & 2)\n      != 0) {\nLAB_001b0a7d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }\n  (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n  super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n       lVar8 * -0x6666666666666664;\n  puVar2 = &(od->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            field_0x20;\n  *puVar2 = *puVar2 | 0x10;\n  pSStack_80 = pSStack_50;\n  iStack_6c = iStack_3c;\n  if ((uStack_40 & 0x10000000) != 0) {\n    psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.relative_reloc_count_;\n    *psVar1 = *psVar1 + 1;\n  }\njoined_r0x001b0a40:\n  if ((iStack_6c != -4) && (pSStack_80 != (Sized_relobj<32,_false> *)0x0)) {\n    uVar3 = (pSStack_80->super_Relobj).dyn_reloc_count_;\n    if (uVar3 == 0) {\n      (pSStack_80->super_Relobj).first_dyn_reloc_ = (int)lVar8 * -0x33333333 - 1;\n    }\n    (pSStack_80->super_Relobj).dyn_reloc_count_ = uVar3 + 1;\n  }\n  return;\n}" { (declaration "size_t *psVar1;" primitive_type (pointer_declarator "*psVar1" * identifier) ;) (declaration "undefined1 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "Output_data_got_plt_x86_64 *od;" type_identifier (pointer_declarator "*od" * identifier) ;) (declaration "iterator iVar4;" type_identifier identifier ;) (declaration "General_options *pGVar5;" type_identifier (pointer_declarator "*pGVar5" * identifier) ;) (declaration "Output_data_space *od_00;" type_identifier (pointer_declarator "*od_00" * identifier) ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "Reloc_section *pRVar7;" type_identifier (pointer_declarator "*pRVar7" * identifier) ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (expression_statement "Output_reloc<4,_true,_32,_false> *pOVar9;" (comma_expression "Output_reloc<4,_true,_32,_false> *pOVar9" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false> *pOVar9" identifier , (comma_expression "_32,_false> *pOVar9" identifier , (binary_expression "_false> *pOVar9" identifier > (pointer_expression "*pOVar9" * identifier))))) ;) (declaration "bool is_global;" primitive_type identifier ;) (declaration "anon_union_8_4_c82d8563_for_u1_ local_88;" type_identifier identifier ;) (expression_statement "Sized_relobj<32,_false> *pSStack_80;" (comma_expression "Sized_relobj<32,_false> *pSStack_80" (binary_expression "Sized_relobj<32" identifier < number_literal) , (binary_expression "_false> *pSStack_80" identifier > (pointer_expression "*pSStack_80" * identifier))) ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "uint uStack_70;" type_identifier identifier ;) (declaration "int iStack_6c;" primitive_type identifier ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "uint uStack_64;" type_identifier identifier ;) (declaration "anon_union_8_4_c82d8563_for_u1_ local_58;" type_identifier identifier ;) (expression_statement "Sized_relobj<32,_false> *pSStack_50;" (comma_expression "Sized_relobj<32,_false> *pSStack_50" (binary_expression "Sized_relobj<32" identifier < number_literal) , (binary_expression "_false> *pSStack_50" identifier > (pointer_expression "*pSStack_50" * identifier))) ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "uint uStack_40;" type_identifier identifier ;) (declaration "int iStack_3c;" primitive_type identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "uint uStack_34;" type_identifier identifier ;) (if_statement "if ((gsym->field_0x38 & 0xf) == 10) {\n    if ((gsym->field_0x3a & 7) == 0) {\n      if ((((ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_finish & 0x100000000) == 0) &&\n         (((gsym->u2_).shndx != 0 || ((gsym->field_0x3b & 0x20) == 0)))) goto LAB_001b08e0;\n    }\n    else if ((gsym->field_0x3a & 7) != 4) {\nLAB_001b08e0:\n      if (((gsym->field_0x39 & 3) == 0) && ((gsym->field_0x3b & 0x10) == 0)) {\n        pGVar5 = gold::parameters->options_;\n        if (pGVar5 == (General_options *)0x0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar5->shared_).value != false) {\n          bVar6 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global);\n          if ((!bVar6) || (is_global != false)) {\n            pGVar5 = gold::parameters->options_;\n            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;\n            if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      pRVar7 = rela_irelative(this,symtab,layout);\n      od_00 = this->got_irelative_;\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,false,true,false);\n      local_68 = 0;\n      iVar4._M_current =\n           (pRVar7->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 (iVar4._M_current ==\n          (pRVar7->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                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88);\n        pOVar9 = (pRVar7->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        pOVar9 = iVar4._M_current + 1;\n        ((iVar4._M_current)->rel_).u1_ = local_88;\n        ((iVar4._M_current)->rel_).u2_.relobj = pSStack_80;\n        ((iVar4._M_current)->rel_).address_ = (undefined4)local_78;\n        ((iVar4._M_current)->rel_).local_sym_index_ = local_78._4_4_;\n        *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_6c,uStack_70);\n        *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_64 << 0x20;\n        (pRVar7->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 = pOVar9;\n      }\n      lVar8 = (long)pOVar9 -\n              (long)(pRVar7->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 >> 3;\n      if (((pRVar7->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_0x20 & 2) != 0) goto LAB_001b0a7d;\n      (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n      super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n           lVar8 * -0x6666666666666664;\n      puVar2 = &(od_00->super_Output_section_data_build).super_Output_section_data.super_Output_data\n                .field_0x20;\n      *puVar2 = *puVar2 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar1 = *psVar1 + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }" if (parenthesized_expression "((gsym->field_0x38 & 0xf) == 10)" ( (binary_expression "(gsym->field_0x38 & 0xf) == 10" (parenthesized_expression "(gsym->field_0x38 & 0xf)" ( (binary_expression "gsym->field_0x38 & 0xf" (field_expression "gsym->field_0x38" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n    if ((gsym->field_0x3a & 7) == 0) {\n      if ((((ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_finish & 0x100000000) == 0) &&\n         (((gsym->u2_).shndx != 0 || ((gsym->field_0x3b & 0x20) == 0)))) goto LAB_001b08e0;\n    }\n    else if ((gsym->field_0x3a & 7) != 4) {\nLAB_001b08e0:\n      if (((gsym->field_0x39 & 3) == 0) && ((gsym->field_0x3b & 0x10) == 0)) {\n        pGVar5 = gold::parameters->options_;\n        if (pGVar5 == (General_options *)0x0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar5->shared_).value != false) {\n          bVar6 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global);\n          if ((!bVar6) || (is_global != false)) {\n            pGVar5 = gold::parameters->options_;\n            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;\n            if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      pRVar7 = rela_irelative(this,symtab,layout);\n      od_00 = this->got_irelative_;\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,false,true,false);\n      local_68 = 0;\n      iVar4._M_current =\n           (pRVar7->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 (iVar4._M_current ==\n          (pRVar7->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                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88);\n        pOVar9 = (pRVar7->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        pOVar9 = iVar4._M_current + 1;\n        ((iVar4._M_current)->rel_).u1_ = local_88;\n        ((iVar4._M_current)->rel_).u2_.relobj = pSStack_80;\n        ((iVar4._M_current)->rel_).address_ = (undefined4)local_78;\n        ((iVar4._M_current)->rel_).local_sym_index_ = local_78._4_4_;\n        *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_6c,uStack_70);\n        *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_64 << 0x20;\n        (pRVar7->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 = pOVar9;\n      }\n      lVar8 = (long)pOVar9 -\n              (long)(pRVar7->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 >> 3;\n      if (((pRVar7->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_0x20 & 2) != 0) goto LAB_001b0a7d;\n      (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n      super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n           lVar8 * -0x6666666666666664;\n      puVar2 = &(od_00->super_Output_section_data_build).super_Output_section_data.super_Output_data\n                .field_0x20;\n      *puVar2 = *puVar2 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar1 = *psVar1 + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }" { (if_statement "if ((gsym->field_0x3a & 7) == 0) {\n      if ((((ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_finish & 0x100000000) == 0) &&\n         (((gsym->u2_).shndx != 0 || ((gsym->field_0x3b & 0x20) == 0)))) goto LAB_001b08e0;\n    }\n    else if ((gsym->field_0x3a & 7) != 4) {\nLAB_001b08e0:\n      if (((gsym->field_0x39 & 3) == 0) && ((gsym->field_0x3b & 0x10) == 0)) {\n        pGVar5 = gold::parameters->options_;\n        if (pGVar5 == (General_options *)0x0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar5->shared_).value != false) {\n          bVar6 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global);\n          if ((!bVar6) || (is_global != false)) {\n            pGVar5 = gold::parameters->options_;\n            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;\n            if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      pRVar7 = rela_irelative(this,symtab,layout);\n      od_00 = this->got_irelative_;\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,false,true,false);\n      local_68 = 0;\n      iVar4._M_current =\n           (pRVar7->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 (iVar4._M_current ==\n          (pRVar7->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                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88);\n        pOVar9 = (pRVar7->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        pOVar9 = iVar4._M_current + 1;\n        ((iVar4._M_current)->rel_).u1_ = local_88;\n        ((iVar4._M_current)->rel_).u2_.relobj = pSStack_80;\n        ((iVar4._M_current)->rel_).address_ = (undefined4)local_78;\n        ((iVar4._M_current)->rel_).local_sym_index_ = local_78._4_4_;\n        *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_6c,uStack_70);\n        *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_64 << 0x20;\n        (pRVar7->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 = pOVar9;\n      }\n      lVar8 = (long)pOVar9 -\n              (long)(pRVar7->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 >> 3;\n      if (((pRVar7->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_0x20 & 2) != 0) goto LAB_001b0a7d;\n      (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n      super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n           lVar8 * -0x6666666666666664;\n      puVar2 = &(od_00->super_Output_section_data_build).super_Output_section_data.super_Output_data\n                .field_0x20;\n      *puVar2 = *puVar2 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar1 = *psVar1 + 1;\n      }\n      goto joined_r0x001b0a40;\n    }" if (parenthesized_expression "((gsym->field_0x3a & 7) == 0)" ( (binary_expression "(gsym->field_0x3a & 7) == 0" (parenthesized_expression "(gsym->field_0x3a & 7)" ( (binary_expression "gsym->field_0x3a & 7" (field_expression "gsym->field_0x3a" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((((ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_finish & 0x100000000) == 0) &&\n         (((gsym->u2_).shndx != 0 || ((gsym->field_0x3b & 0x20) == 0)))) goto LAB_001b08e0;\n    }" { (if_statement "if ((((ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_finish & 0x100000000) == 0) &&\n         (((gsym->u2_).shndx != 0 || ((gsym->field_0x3b & 0x20) == 0)))) goto LAB_001b08e0;" if (parenthesized_expression "((((ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_finish & 0x100000000) == 0) &&\n         (((gsym->u2_).shndx != 0 || ((gsym->field_0x3b & 0x20) == 0))))" ( (binary_expression "(((ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_finish & 0x100000000) == 0) &&\n         (((gsym->u2_).shndx != 0 || ((gsym->field_0x3b & 0x20) == 0)))" (parenthesized_expression "(((ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_finish & 0x100000000) == 0)" ( (binary_expression "((ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_finish & 0x100000000) == 0" (parenthesized_expression "((ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_finish & 0x100000000)" ( (binary_expression "(ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_finish & 0x100000000" (field_expression "(ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_finish" (field_expression "(ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl" (binary_expression "(ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold::Output_data*,_std" (binary_expression "(ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base<gold" (field_expression "(ulong)((gsym->u1_).output_segment)->output_lists_[2].\n                   super__Vector_base" (subscript_expression "(ulong)((gsym->u1_).output_segment)->output_lists_[2]" (field_expression "(ulong)((gsym->u1_).output_segment)->output_lists_" (call_expression "(ulong)((gsym->u1_).output_segment)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((gsym->u1_).output_segment)" ( (field_expression "(gsym->u1_).output_segment" (parenthesized_expression "(gsym->u1_)" ( (field_expression "gsym->u1_" identifier -> field_identifier) )) . field_identifier) ))) -> field_identifier) [ number_literal ]) . field_identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((gsym->u2_).shndx != 0 || ((gsym->field_0x3b & 0x20) == 0)))" ( (parenthesized_expression "((gsym->u2_).shndx != 0 || ((gsym->field_0x3b & 0x20) == 0))" ( (binary_expression "(gsym->u2_).shndx != 0 || ((gsym->field_0x3b & 0x20) == 0)" (binary_expression "(gsym->u2_).shndx != 0" (field_expression "(gsym->u2_).shndx" (parenthesized_expression "(gsym->u2_)" ( (field_expression "gsym->u2_" identifier -> field_identifier) )) . field_identifier) != number_literal) || (parenthesized_expression "((gsym->field_0x3b & 0x20) == 0)" ( (binary_expression "(gsym->field_0x3b & 0x20) == 0" (parenthesized_expression "(gsym->field_0x3b & 0x20)" ( (binary_expression "gsym->field_0x3b & 0x20" (field_expression "gsym->field_0x3b" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_001b08e0;" goto statement_identifier ;)) }) (else_clause "else if ((gsym->field_0x3a & 7) != 4) {\nLAB_001b08e0:\n      if (((gsym->field_0x39 & 3) == 0) && ((gsym->field_0x3b & 0x10) == 0)) {\n        pGVar5 = gold::parameters->options_;\n        if (pGVar5 == (General_options *)0x0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar5->shared_).value != false) {\n          bVar6 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global);\n          if ((!bVar6) || (is_global != false)) {\n            pGVar5 = gold::parameters->options_;\n            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;\n            if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      pRVar7 = rela_irelative(this,symtab,layout);\n      od_00 = this->got_irelative_;\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,false,true,false);\n      local_68 = 0;\n      iVar4._M_current =\n           (pRVar7->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 (iVar4._M_current ==\n          (pRVar7->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                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88);\n        pOVar9 = (pRVar7->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        pOVar9 = iVar4._M_current + 1;\n        ((iVar4._M_current)->rel_).u1_ = local_88;\n        ((iVar4._M_current)->rel_).u2_.relobj = pSStack_80;\n        ((iVar4._M_current)->rel_).address_ = (undefined4)local_78;\n        ((iVar4._M_current)->rel_).local_sym_index_ = local_78._4_4_;\n        *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_6c,uStack_70);\n        *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_64 << 0x20;\n        (pRVar7->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 = pOVar9;\n      }\n      lVar8 = (long)pOVar9 -\n              (long)(pRVar7->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 >> 3;\n      if (((pRVar7->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_0x20 & 2) != 0) goto LAB_001b0a7d;\n      (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n      super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n           lVar8 * -0x6666666666666664;\n      puVar2 = &(od_00->super_Output_section_data_build).super_Output_section_data.super_Output_data\n                .field_0x20;\n      *puVar2 = *puVar2 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar1 = *psVar1 + 1;\n      }\n      goto joined_r0x001b0a40;\n    }" else (if_statement "if ((gsym->field_0x3a & 7) != 4) {\nLAB_001b08e0:\n      if (((gsym->field_0x39 & 3) == 0) && ((gsym->field_0x3b & 0x10) == 0)) {\n        pGVar5 = gold::parameters->options_;\n        if (pGVar5 == (General_options *)0x0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar5->shared_).value != false) {\n          bVar6 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global);\n          if ((!bVar6) || (is_global != false)) {\n            pGVar5 = gold::parameters->options_;\n            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;\n            if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      pRVar7 = rela_irelative(this,symtab,layout);\n      od_00 = this->got_irelative_;\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,false,true,false);\n      local_68 = 0;\n      iVar4._M_current =\n           (pRVar7->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 (iVar4._M_current ==\n          (pRVar7->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                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88);\n        pOVar9 = (pRVar7->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        pOVar9 = iVar4._M_current + 1;\n        ((iVar4._M_current)->rel_).u1_ = local_88;\n        ((iVar4._M_current)->rel_).u2_.relobj = pSStack_80;\n        ((iVar4._M_current)->rel_).address_ = (undefined4)local_78;\n        ((iVar4._M_current)->rel_).local_sym_index_ = local_78._4_4_;\n        *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_6c,uStack_70);\n        *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_64 << 0x20;\n        (pRVar7->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 = pOVar9;\n      }\n      lVar8 = (long)pOVar9 -\n              (long)(pRVar7->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 >> 3;\n      if (((pRVar7->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_0x20 & 2) != 0) goto LAB_001b0a7d;\n      (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n      super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n           lVar8 * -0x6666666666666664;\n      puVar2 = &(od_00->super_Output_section_data_build).super_Output_section_data.super_Output_data\n                .field_0x20;\n      *puVar2 = *puVar2 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar1 = *psVar1 + 1;\n      }\n      goto joined_r0x001b0a40;\n    }" if (parenthesized_expression "((gsym->field_0x3a & 7) != 4)" ( (binary_expression "(gsym->field_0x3a & 7) != 4" (parenthesized_expression "(gsym->field_0x3a & 7)" ( (binary_expression "gsym->field_0x3a & 7" (field_expression "gsym->field_0x3a" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001b08e0:\n      if (((gsym->field_0x39 & 3) == 0) && ((gsym->field_0x3b & 0x10) == 0)) {\n        pGVar5 = gold::parameters->options_;\n        if (pGVar5 == (General_options *)0x0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar5->shared_).value != false) {\n          bVar6 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global);\n          if ((!bVar6) || (is_global != false)) {\n            pGVar5 = gold::parameters->options_;\n            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;\n            if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      pRVar7 = rela_irelative(this,symtab,layout);\n      od_00 = this->got_irelative_;\n      gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,false,true,false);\n      local_68 = 0;\n      iVar4._M_current =\n           (pRVar7->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 (iVar4._M_current ==\n          (pRVar7->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                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88);\n        pOVar9 = (pRVar7->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        pOVar9 = iVar4._M_current + 1;\n        ((iVar4._M_current)->rel_).u1_ = local_88;\n        ((iVar4._M_current)->rel_).u2_.relobj = pSStack_80;\n        ((iVar4._M_current)->rel_).address_ = (undefined4)local_78;\n        ((iVar4._M_current)->rel_).local_sym_index_ = local_78._4_4_;\n        *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_6c,uStack_70);\n        *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_64 << 0x20;\n        (pRVar7->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 = pOVar9;\n      }\n      lVar8 = (long)pOVar9 -\n              (long)(pRVar7->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 >> 3;\n      if (((pRVar7->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_0x20 & 2) != 0) goto LAB_001b0a7d;\n      (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n      super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n           lVar8 * -0x6666666666666664;\n      puVar2 = &(od_00->super_Output_section_data_build).super_Output_section_data.super_Output_data\n                .field_0x20;\n      *puVar2 = *puVar2 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar1 = *psVar1 + 1;\n      }\n      goto joined_r0x001b0a40;\n    }" { (labeled_statement "LAB_001b08e0:\n      if (((gsym->field_0x39 & 3) == 0) && ((gsym->field_0x3b & 0x10) == 0)) {\n        pGVar5 = gold::parameters->options_;\n        if (pGVar5 == (General_options *)0x0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar5->shared_).value != false) {\n          bVar6 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global);\n          if ((!bVar6) || (is_global != false)) {\n            pGVar5 = gold::parameters->options_;\n            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;\n            if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }" statement_identifier : (if_statement "if (((gsym->field_0x39 & 3) == 0) && ((gsym->field_0x3b & 0x10) == 0)) {\n        pGVar5 = gold::parameters->options_;\n        if (pGVar5 == (General_options *)0x0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar5->shared_).value != false) {\n          bVar6 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global);\n          if ((!bVar6) || (is_global != false)) {\n            pGVar5 = gold::parameters->options_;\n            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;\n            if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }" if (parenthesized_expression "(((gsym->field_0x39 & 3) == 0) && ((gsym->field_0x3b & 0x10) == 0))" ( (binary_expression "((gsym->field_0x39 & 3) == 0) && ((gsym->field_0x3b & 0x10) == 0)" (parenthesized_expression "((gsym->field_0x39 & 3) == 0)" ( (binary_expression "(gsym->field_0x39 & 3) == 0" (parenthesized_expression "(gsym->field_0x39 & 3)" ( (binary_expression "gsym->field_0x39 & 3" (field_expression "gsym->field_0x39" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "((gsym->field_0x3b & 0x10) == 0)" ( (binary_expression "(gsym->field_0x3b & 0x10) == 0" (parenthesized_expression "(gsym->field_0x3b & 0x10)" ( (binary_expression "gsym->field_0x3b & 0x10" (field_expression "gsym->field_0x3b" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        pGVar5 = gold::parameters->options_;\n        if (pGVar5 == (General_options *)0x0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((pGVar5->shared_).value != false) {\n          bVar6 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global);\n          if ((!bVar6) || (is_global != false)) {\n            pGVar5 = gold::parameters->options_;\n            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;\n            if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }" { (expression_statement "pGVar5 = gold::parameters->options_;" (field_expression "pGVar5 = gold::parameters->options_" (assignment_expression "pGVar5 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar5 == (General_options *)0x0) {\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }" if (parenthesized_expression "(pGVar5 == (General_options *)0x0)" ( (binary_expression "pGVar5 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001b0a95:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }" { (labeled_statement "LAB_001b0a95:\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 ((pGVar5->shared_).value != false) {\n          bVar6 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global);\n          if ((!bVar6) || (is_global != false)) {\n            pGVar5 = gold::parameters->options_;\n            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;\n            if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }" if (parenthesized_expression "((pGVar5->shared_).value != false)" ( (binary_expression "(pGVar5->shared_).value != false" (field_expression "(pGVar5->shared_).value" (parenthesized_expression "(pGVar5->shared_)" ( (field_expression "pGVar5->shared_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n          bVar6 = gold::Version_script_info::get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global);\n          if ((!bVar6) || (is_global != false)) {\n            pGVar5 = gold::parameters->options_;\n            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;\n            if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }" { (ERROR "bVar6 = gold::" (assignment_expression "bVar6 = gold" identifier = identifier) : :) (labeled_statement "Version_script_info::get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global);" statement_identifier : (ERROR ":" :) (expression_statement "get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global);" (call_expression "get_symbol_version\n                            (&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global)" identifier (argument_list "(&(pGVar5->dynamic_list_).version_script_info_,gsym->name_,(string *)0x0\n                             ,&is_global)" ( (pointer_expression "&(pGVar5->dynamic_list_).version_script_info_" & (field_expression "(pGVar5->dynamic_list_).version_script_info_" (parenthesized_expression "(pGVar5->dynamic_list_)" ( (field_expression "pGVar5->dynamic_list_" identifier -> field_identifier) )) . field_identifier)) , (field_expression "gsym->name_" 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 ((!bVar6) || (is_global != false)) {\n            pGVar5 = gold::parameters->options_;\n            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;\n            if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;\n          }" if (parenthesized_expression "((!bVar6) || (is_global != false))" ( (binary_expression "(!bVar6) || (is_global != false)" (parenthesized_expression "(!bVar6)" ( (unary_expression "!bVar6" ! identifier) )) || (parenthesized_expression "(is_global != false)" ( (binary_expression "is_global != false" identifier != false) ))) )) (compound_statement "{\n            pGVar5 = gold::parameters->options_;\n            if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;\n            if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;\n          }" { (expression_statement "pGVar5 = gold::parameters->options_;" (field_expression "pGVar5 = gold::parameters->options_" (assignment_expression "pGVar5 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar5 == (General_options *)0x0) goto LAB_001b0a95;" if (parenthesized_expression "(pGVar5 == (General_options *)0x0)" ( (binary_expression "pGVar5 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001b0a95;" goto statement_identifier ;)) (if_statement "if (((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))\n            goto LAB_001b0980;" if (parenthesized_expression "(((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))))" ( (binary_expression "((pGVar5->Bsymbolic_).value != false) ||\n               (((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false)))" (parenthesized_expression "((pGVar5->Bsymbolic_).value != false)" ( (binary_expression "(pGVar5->Bsymbolic_).value != false" (field_expression "(pGVar5->Bsymbolic_).value" (parenthesized_expression "(pGVar5->Bsymbolic_)" ( (field_expression "pGVar5->Bsymbolic_" identifier -> field_identifier) )) . field_identifier) != false) )) || (parenthesized_expression "(((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false)))" ( (parenthesized_expression "((gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false))" ( (binary_expression "(gsym->field_0x38 & 0xf) != 1 && ((pGVar5->Bsymbolic_functions_).value != false)" (binary_expression "(gsym->field_0x38 & 0xf) != 1" (parenthesized_expression "(gsym->field_0x38 & 0xf)" ( (binary_expression "gsym->field_0x38 & 0xf" (field_expression "gsym->field_0x38" identifier -> field_identifier) & number_literal) )) != number_literal) && (parenthesized_expression "((pGVar5->Bsymbolic_functions_).value != false)" ( (binary_expression "(pGVar5->Bsymbolic_functions_).value != false" (field_expression "(pGVar5->Bsymbolic_functions_).value" (parenthesized_expression "(pGVar5->Bsymbolic_functions_)" ( (field_expression "pGVar5->Bsymbolic_functions_" identifier -> field_identifier) )) . field_identifier) != false) ))) )) ))) )) (goto_statement "goto LAB_001b0980;" goto statement_identifier ;)) })) (goto_statement "goto LAB_001b07a2;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_001b0980:\n      pRVar7 = rela_irelative(this,symtab,layout);" statement_identifier : (expression_statement "pRVar7 = rela_irelative(this,symtab,layout);" (assignment_expression "pRVar7 = rela_irelative(this,symtab,layout)" identifier = (call_expression "rela_irelative(this,symtab,layout)" identifier (argument_list "(this,symtab,layout)" ( identifier , identifier , identifier )))) ;)) (expression_statement "od_00 = this->got_irelative_;" (assignment_expression "od_00 = this->got_irelative_" identifier = (field_expression "this->got_irelative_" identifier -> field_identifier)) ;) (labeled_statement "gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,false,true,false);" statement_identifier : (ERROR ":" :) (expression_statement "Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,false,true,false);" (comma_expression "Output_reloc<9,_true,_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,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_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,false,true,false)" identifier , (comma_expression "_32,_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,false,true,false)" identifier , (binary_expression "_false>::Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,false,true,false)" identifier > (ERROR "::" : :) (call_expression "Output_reloc\n                ((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,false,true,false)" identifier (argument_list "((Output_reloc<9,_true,_32,_false> *)&local_88,gsym,0x25,(Output_data *)od_00,\n                 got_offset,false,true,false)" ( (binary_expression "(Output_reloc<9,_true,_32,_false> *)&local_88" (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) , identifier , number_literal , (cast_expression "(Output_data *)od_00" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , false , true , false ))))))) ;)) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (ERROR "iVar4._M_current =\n           (pRVar7->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 "iVar4._M_current =\n           (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std" (binary_expression "iVar4._M_current =\n           (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold::Output_reloc<4" (assignment_expression "iVar4._M_current =\n           (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold" (field_expression "iVar4._M_current" identifier . field_identifier) = (binary_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base<gold" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n           super__Vector_base" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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 (iVar4._M_current ==\n          (pRVar7->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                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88);\n        pOVar9 = (pRVar7->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        pOVar9 = iVar4._M_current + 1;\n        ((iVar4._M_current)->rel_).u1_ = local_88;\n        ((iVar4._M_current)->rel_).u2_.relobj = pSStack_80;\n        ((iVar4._M_current)->rel_).address_ = (undefined4)local_78;\n        ((iVar4._M_current)->rel_).local_sym_index_ = local_78._4_4_;\n        *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_6c,uStack_70);\n        *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_64 << 0x20;\n        (pRVar7->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 = pOVar9;\n      }" if (parenthesized_expression "(iVar4._M_current ==\n          (pRVar7->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 "iVar4._M_current ==\n          (pRVar7->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 "iVar4._M_current ==\n          (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std" (binary_expression "iVar4._M_current ==\n          (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold::Output_reloc<4" (binary_expression "iVar4._M_current ==\n          (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold" (field_expression "iVar4._M_current" identifier . field_identifier) == (binary_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base<gold" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n          super__Vector_base" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88);\n        pOVar9 = (pRVar7->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                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88);" 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                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88);" (comma_expression "Output_reloc<4,_true,_32,_false>&>\n                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88)" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>&>\n                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88)" identifier , (comma_expression "_32,_false>&>\n                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88)" identifier , (binary_expression "_false>&>\n                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88)" identifier > (pointer_expression "&>\n                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88)" & (ERROR ">" >) (parenthesized_expression "(&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88)" ( (comma_expression "&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88" (pointer_expression "&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" & (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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 "iVar4,\n                   (Output_reloc<4,_true,_32,_false> *)&local_88" identifier , (binary_expression "(Output_reloc<4,_true,_32,_false> *)&local_88" (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 "pOVar9 = (pRVar7->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 "pOVar9 = (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                 super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std" (binary_expression "pOVar9 = (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                 super__Vector_base<gold::Output_reloc<4" (assignment_expression "pOVar9 = (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                 super__Vector_base<gold" identifier = (binary_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                 super__Vector_base<gold" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                 super__Vector_base" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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        pOVar9 = iVar4._M_current + 1;\n        ((iVar4._M_current)->rel_).u1_ = local_88;\n        ((iVar4._M_current)->rel_).u2_.relobj = pSStack_80;\n        ((iVar4._M_current)->rel_).address_ = (undefined4)local_78;\n        ((iVar4._M_current)->rel_).local_sym_index_ = local_78._4_4_;\n        *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_6c,uStack_70);\n        *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_64 << 0x20;\n        (pRVar7->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 = pOVar9;\n      }" else (compound_statement "{\n        pOVar9 = iVar4._M_current + 1;\n        ((iVar4._M_current)->rel_).u1_ = local_88;\n        ((iVar4._M_current)->rel_).u2_.relobj = pSStack_80;\n        ((iVar4._M_current)->rel_).address_ = (undefined4)local_78;\n        ((iVar4._M_current)->rel_).local_sym_index_ = local_78._4_4_;\n        *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_6c,uStack_70);\n        *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_64 << 0x20;\n        (pRVar7->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 = pOVar9;\n      }" { (expression_statement "pOVar9 = iVar4._M_current + 1;" (assignment_expression "pOVar9 = iVar4._M_current + 1" identifier = (binary_expression "iVar4._M_current + 1" (field_expression "iVar4._M_current" identifier . field_identifier) + number_literal)) ;) (expression_statement "((iVar4._M_current)->rel_).u1_ = local_88;" (assignment_expression "((iVar4._M_current)->rel_).u1_ = local_88" (field_expression "((iVar4._M_current)->rel_).u1_" (parenthesized_expression "((iVar4._M_current)->rel_)" ( (field_expression "(iVar4._M_current)->rel_" (parenthesized_expression "(iVar4._M_current)" ( (field_expression "iVar4._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "((iVar4._M_current)->rel_).u2_.relobj = pSStack_80;" (assignment_expression "((iVar4._M_current)->rel_).u2_.relobj = pSStack_80" (field_expression "((iVar4._M_current)->rel_).u2_.relobj" (field_expression "((iVar4._M_current)->rel_).u2_" (parenthesized_expression "((iVar4._M_current)->rel_)" ( (field_expression "(iVar4._M_current)->rel_" (parenthesized_expression "(iVar4._M_current)" ( (field_expression "iVar4._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "((iVar4._M_current)->rel_).address_ = (undefined4)local_78;" (assignment_expression "((iVar4._M_current)->rel_).address_ = (undefined4)local_78" (field_expression "((iVar4._M_current)->rel_).address_" (parenthesized_expression "((iVar4._M_current)->rel_)" ( (field_expression "(iVar4._M_current)->rel_" (parenthesized_expression "(iVar4._M_current)" ( (field_expression "iVar4._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(undefined4)local_78" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "((iVar4._M_current)->rel_).local_sym_index_ = local_78._4_4_;" (assignment_expression "((iVar4._M_current)->rel_).local_sym_index_ = local_78._4_4_" (field_expression "((iVar4._M_current)->rel_).local_sym_index_" (parenthesized_expression "((iVar4._M_current)->rel_)" ( (field_expression "(iVar4._M_current)->rel_" (parenthesized_expression "(iVar4._M_current)" ( (field_expression "iVar4._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (field_expression "local_78._4_4_" identifier . field_identifier)) ;) (expression_statement "*(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_6c,uStack_70);" (assignment_expression "*(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_6c,uStack_70)" (pointer_expression "*(ulong *)&((iVar4._M_current)->rel_).field_0x18" * (cast_expression "(ulong *)&((iVar4._M_current)->rel_).field_0x18" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((iVar4._M_current)->rel_).field_0x18" & (field_expression "((iVar4._M_current)->rel_).field_0x18" (parenthesized_expression "((iVar4._M_current)->rel_)" ( (field_expression "(iVar4._M_current)->rel_" (parenthesized_expression "(iVar4._M_current)" ( (field_expression "iVar4._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)))) = (call_expression "CONCAT44(iStack_6c,uStack_70)" identifier (argument_list "(iStack_6c,uStack_70)" ( identifier , identifier )))) ;) (expression_statement "*(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_64 << 0x20;" (assignment_expression "*(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_64 << 0x20" (pointer_expression "*(ulong *)&(iVar4._M_current)->addend_" * (cast_expression "(ulong *)&(iVar4._M_current)->addend_" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(iVar4._M_current)->addend_" & (field_expression "(iVar4._M_current)->addend_" (parenthesized_expression "(iVar4._M_current)" ( (field_expression "iVar4._M_current" identifier . field_identifier) )) -> field_identifier)))) = (binary_expression "(ulong)uStack_64 << 0x20" (cast_expression "(ulong)uStack_64" ( (type_descriptor "ulong" type_identifier) ) identifier) << number_literal)) ;) (ERROR "(pRVar7->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 "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std" (binary_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold::Output_reloc<4" (binary_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base<gold" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n        super__Vector_base" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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 = pOVar9;" (comma_expression "Output_reloc<4,_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar9" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n        ._M_impl._M_finish = pOVar9" identifier , (comma_expression "_32,_false>_>_>\n        ._M_impl._M_finish = pOVar9" identifier , (assignment_expression "_false>_>_>\n        ._M_impl._M_finish = pOVar9" (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 "lVar8 = (long)pOVar9 -\n              (long)(pRVar7->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 "lVar8 = (long)pOVar9 -\n              (long)(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                    super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std" (binary_expression "lVar8 = (long)pOVar9 -\n              (long)(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                    super__Vector_base<gold::Output_reloc<4" (assignment_expression "lVar8 = (long)pOVar9 -\n              (long)(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                    super__Vector_base<gold" identifier = (binary_expression "(long)pOVar9 -\n              (long)(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                    super__Vector_base<gold" (binary_expression "(long)pOVar9 -\n              (long)(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                    super__Vector_base" (cast_expression "(long)pOVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                    super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                    super__Vector_base" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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 >> 3;" (comma_expression "Output_reloc<4,_true,_32,_false>_>_>\n                    ._M_impl._M_start >> 3" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n                    ._M_impl._M_start >> 3" identifier , (comma_expression "_32,_false>_>_>\n                    ._M_impl._M_start >> 3" identifier , (binary_expression "_false>_>_>\n                    ._M_impl._M_start >> 3" (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 (((pRVar7->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_0x20 & 2) != 0) goto LAB_001b0a7d;" if (parenthesized_expression "(((pRVar7->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_0x20 & 2) != 0)" ( (binary_expression "((pRVar7->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_0x20 & 2) != 0" (parenthesized_expression "((pRVar7->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_0x20 & 2)" ( (binary_expression "(pRVar7->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_0x20 & 2" (field_expression "(pRVar7->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_0x20" (field_expression "(pRVar7->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 "(pRVar7->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 "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic.super_Output_section_data_build" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n           super_Output_data_reloc_generic" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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_001b0a7d;" goto statement_identifier ;)) (expression_statement "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n      super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n           lVar8 * -0x6666666666666664;" (assignment_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n      super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n           lVar8 * -0x6666666666666664" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n      super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n      super_Output_section_data_build.super_Output_section_data.super_Output_data" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n      super_Output_section_data_build.super_Output_section_data" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n      super_Output_section_data_build" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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 "lVar8 * -0x6666666666666664" identifier * number_literal)) ;) (expression_statement "puVar2 = &(od_00->super_Output_section_data_build).super_Output_section_data.super_Output_data\n                .field_0x20;" (assignment_expression "puVar2 = &(od_00->super_Output_section_data_build).super_Output_section_data.super_Output_data\n                .field_0x20" identifier = (pointer_expression "&(od_00->super_Output_section_data_build).super_Output_section_data.super_Output_data\n                .field_0x20" & (field_expression "(od_00->super_Output_section_data_build).super_Output_section_data.super_Output_data\n                .field_0x20" (field_expression "(od_00->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(od_00->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(od_00->super_Output_section_data_build)" ( (field_expression "od_00->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "*puVar2 = *puVar2 | 0x10;" (assignment_expression "*puVar2 = *puVar2 | 0x10" (pointer_expression "*puVar2" * identifier) = (binary_expression "*puVar2 | 0x10" (pointer_expression "*puVar2" * identifier) | number_literal)) ;) (if_statement "if ((uStack_70 & 0x10000000) != 0) {\n        psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar1 = *psVar1 + 1;\n      }" if (parenthesized_expression "((uStack_70 & 0x10000000) != 0)" ( (binary_expression "(uStack_70 & 0x10000000) != 0" (parenthesized_expression "(uStack_70 & 0x10000000)" ( (binary_expression "uStack_70 & 0x10000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;\n        *psVar1 = *psVar1 + 1;\n      }" { (expression_statement "psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_;" (assignment_expression "psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_" identifier = (pointer_expression "&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_" & (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic.relative_reloc_count_" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n                  super_Output_data_reloc_generic" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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 "*psVar1 = *psVar1 + 1;" (assignment_expression "*psVar1 = *psVar1 + 1" (pointer_expression "*psVar1" * identifier) = (binary_expression "*psVar1 + 1" (pointer_expression "*psVar1" * identifier) + number_literal)) ;) })) (goto_statement "goto joined_r0x001b0a40;" goto statement_identifier ;) })))) })) (labeled_statement "LAB_001b07a2:\n  gsym->field_0x3a = gsym->field_0x3a | 0x40;" statement_identifier : (expression_statement "gsym->field_0x3a = gsym->field_0x3a | 0x40;" (assignment_expression "gsym->field_0x3a = gsym->field_0x3a | 0x40" (field_expression "gsym->field_0x3a" identifier -> field_identifier) = (binary_expression "gsym->field_0x3a | 0x40" (field_expression "gsym->field_0x3a" identifier -> field_identifier) | number_literal)) ;)) (expression_statement "pRVar7 = this->rel_;" (assignment_expression "pRVar7 = this->rel_" identifier = (field_expression "this->rel_" identifier -> field_identifier)) ;) (expression_statement "od = this->got_plt_;" (assignment_expression "od = this->got_plt_" identifier = (field_expression "this->got_plt_" identifier -> field_identifier)) ;) (labeled_statement "gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_58,gsym,7,(Output_data *)od,got_offset,false\n             ,false,false);" statement_identifier : (ERROR ":" :) (expression_statement "Output_reloc<9,_true,_32,_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_58,gsym,7,(Output_data *)od,got_offset,false\n             ,false,false);" (comma_expression "Output_reloc<9,_true,_32,_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_58,gsym,7,(Output_data *)od,got_offset,false\n             ,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_58,gsym,7,(Output_data *)od,got_offset,false\n             ,false,false)" identifier , (comma_expression "_32,_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_58,gsym,7,(Output_data *)od,got_offset,false\n             ,false,false)" identifier , (binary_expression "_false>::Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_58,gsym,7,(Output_data *)od,got_offset,false\n             ,false,false)" identifier > (ERROR "::" : :) (call_expression "Output_reloc\n            ((Output_reloc<9,_true,_32,_false> *)&local_58,gsym,7,(Output_data *)od,got_offset,false\n             ,false,false)" identifier (argument_list "((Output_reloc<9,_true,_32,_false> *)&local_58,gsym,7,(Output_data *)od,got_offset,false\n             ,false,false)" ( (binary_expression "(Output_reloc<9,_true,_32,_false> *)&local_58" (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) , identifier , number_literal , (cast_expression "(Output_data *)od" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , false , false , false ))))))) ;)) (ERROR "iVar4._M_current =\n       (pRVar7->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 "iVar4._M_current =\n       (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n       super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std" (binary_expression "iVar4._M_current =\n       (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n       super__Vector_base<gold::Output_reloc<4" (assignment_expression "iVar4._M_current =\n       (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n       super__Vector_base<gold" (field_expression "iVar4._M_current" identifier . field_identifier) = (binary_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n       super__Vector_base<gold" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n       super__Vector_base" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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)))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (if_statement "if (iVar4._M_current ==\n      (pRVar7->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              (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n               (Output_reloc<4,_true,_32,_false> *)&local_58);\n    pOVar9 = (pRVar7->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    pOVar9 = iVar4._M_current + 1;\n    ((iVar4._M_current)->rel_).u1_ = local_58;\n    ((iVar4._M_current)->rel_).u2_.relobj = pSStack_50;\n    ((iVar4._M_current)->rel_).address_ = (undefined4)local_48;\n    ((iVar4._M_current)->rel_).local_sym_index_ = local_48._4_4_;\n    *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_3c,uStack_40);\n    *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_34 << 0x20;\n    (pRVar7->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 = pOVar9;\n  }" if (parenthesized_expression "(iVar4._M_current ==\n      (pRVar7->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 "iVar4._M_current ==\n      (pRVar7->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 "iVar4._M_current ==\n      (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n      super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std" (binary_expression "iVar4._M_current ==\n      (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n      super__Vector_base<gold::Output_reloc<4" (binary_expression "iVar4._M_current ==\n      (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n      super__Vector_base<gold" (field_expression "iVar4._M_current" identifier . field_identifier) == (binary_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n      super__Vector_base<gold" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n      super__Vector_base" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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              (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n               (Output_reloc<4,_true,_32,_false> *)&local_58);\n    pOVar9 = (pRVar7->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              (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n               (Output_reloc<4,_true,_32,_false> *)&local_58);" 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              (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n               (Output_reloc<4,_true,_32,_false> *)&local_58);" (comma_expression "Output_reloc<4,_true,_32,_false>&>\n              (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n               (Output_reloc<4,_true,_32,_false> *)&local_58)" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>&>\n              (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n               (Output_reloc<4,_true,_32,_false> *)&local_58)" identifier , (comma_expression "_32,_false>&>\n              (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n               (Output_reloc<4,_true,_32,_false> *)&local_58)" identifier , (binary_expression "_false>&>\n              (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n               (Output_reloc<4,_true,_32,_false> *)&local_58)" identifier > (pointer_expression "&>\n              (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n               (Output_reloc<4,_true,_32,_false> *)&local_58)" & (ERROR ">" >) (parenthesized_expression "(&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n               (Output_reloc<4,_true,_32,_false> *)&local_58)" ( (comma_expression "&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_,iVar4,\n               (Output_reloc<4,_true,_32,_false> *)&local_58" (pointer_expression "&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" & (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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 "iVar4,\n               (Output_reloc<4,_true,_32,_false> *)&local_58" identifier , (binary_expression "(Output_reloc<4,_true,_32,_false> *)&local_58" (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 "pOVar9 = (pRVar7->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 "pOVar9 = (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n             super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std" (binary_expression "pOVar9 = (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n             super__Vector_base<gold::Output_reloc<4" (assignment_expression "pOVar9 = (pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n             super__Vector_base<gold" identifier = (binary_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n             super__Vector_base<gold" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n             super__Vector_base" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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    pOVar9 = iVar4._M_current + 1;\n    ((iVar4._M_current)->rel_).u1_ = local_58;\n    ((iVar4._M_current)->rel_).u2_.relobj = pSStack_50;\n    ((iVar4._M_current)->rel_).address_ = (undefined4)local_48;\n    ((iVar4._M_current)->rel_).local_sym_index_ = local_48._4_4_;\n    *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_3c,uStack_40);\n    *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_34 << 0x20;\n    (pRVar7->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 = pOVar9;\n  }" else (compound_statement "{\n    pOVar9 = iVar4._M_current + 1;\n    ((iVar4._M_current)->rel_).u1_ = local_58;\n    ((iVar4._M_current)->rel_).u2_.relobj = pSStack_50;\n    ((iVar4._M_current)->rel_).address_ = (undefined4)local_48;\n    ((iVar4._M_current)->rel_).local_sym_index_ = local_48._4_4_;\n    *(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_3c,uStack_40);\n    *(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_34 << 0x20;\n    (pRVar7->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 = pOVar9;\n  }" { (expression_statement "pOVar9 = iVar4._M_current + 1;" (assignment_expression "pOVar9 = iVar4._M_current + 1" identifier = (binary_expression "iVar4._M_current + 1" (field_expression "iVar4._M_current" identifier . field_identifier) + number_literal)) ;) (expression_statement "((iVar4._M_current)->rel_).u1_ = local_58;" (assignment_expression "((iVar4._M_current)->rel_).u1_ = local_58" (field_expression "((iVar4._M_current)->rel_).u1_" (parenthesized_expression "((iVar4._M_current)->rel_)" ( (field_expression "(iVar4._M_current)->rel_" (parenthesized_expression "(iVar4._M_current)" ( (field_expression "iVar4._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "((iVar4._M_current)->rel_).u2_.relobj = pSStack_50;" (assignment_expression "((iVar4._M_current)->rel_).u2_.relobj = pSStack_50" (field_expression "((iVar4._M_current)->rel_).u2_.relobj" (field_expression "((iVar4._M_current)->rel_).u2_" (parenthesized_expression "((iVar4._M_current)->rel_)" ( (field_expression "(iVar4._M_current)->rel_" (parenthesized_expression "(iVar4._M_current)" ( (field_expression "iVar4._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "((iVar4._M_current)->rel_).address_ = (undefined4)local_48;" (assignment_expression "((iVar4._M_current)->rel_).address_ = (undefined4)local_48" (field_expression "((iVar4._M_current)->rel_).address_" (parenthesized_expression "((iVar4._M_current)->rel_)" ( (field_expression "(iVar4._M_current)->rel_" (parenthesized_expression "(iVar4._M_current)" ( (field_expression "iVar4._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(undefined4)local_48" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "((iVar4._M_current)->rel_).local_sym_index_ = local_48._4_4_;" (assignment_expression "((iVar4._M_current)->rel_).local_sym_index_ = local_48._4_4_" (field_expression "((iVar4._M_current)->rel_).local_sym_index_" (parenthesized_expression "((iVar4._M_current)->rel_)" ( (field_expression "(iVar4._M_current)->rel_" (parenthesized_expression "(iVar4._M_current)" ( (field_expression "iVar4._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (field_expression "local_48._4_4_" identifier . field_identifier)) ;) (expression_statement "*(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_3c,uStack_40);" (assignment_expression "*(ulong *)&((iVar4._M_current)->rel_).field_0x18 = CONCAT44(iStack_3c,uStack_40)" (pointer_expression "*(ulong *)&((iVar4._M_current)->rel_).field_0x18" * (cast_expression "(ulong *)&((iVar4._M_current)->rel_).field_0x18" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((iVar4._M_current)->rel_).field_0x18" & (field_expression "((iVar4._M_current)->rel_).field_0x18" (parenthesized_expression "((iVar4._M_current)->rel_)" ( (field_expression "(iVar4._M_current)->rel_" (parenthesized_expression "(iVar4._M_current)" ( (field_expression "iVar4._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)))) = (call_expression "CONCAT44(iStack_3c,uStack_40)" identifier (argument_list "(iStack_3c,uStack_40)" ( identifier , identifier )))) ;) (expression_statement "*(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_34 << 0x20;" (assignment_expression "*(ulong *)&(iVar4._M_current)->addend_ = (ulong)uStack_34 << 0x20" (pointer_expression "*(ulong *)&(iVar4._M_current)->addend_" * (cast_expression "(ulong *)&(iVar4._M_current)->addend_" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(iVar4._M_current)->addend_" & (field_expression "(iVar4._M_current)->addend_" (parenthesized_expression "(iVar4._M_current)" ( (field_expression "iVar4._M_current" identifier . field_identifier) )) -> field_identifier)))) = (binary_expression "(ulong)uStack_34 << 0x20" (cast_expression "(ulong)uStack_34" ( (type_descriptor "ulong" type_identifier) ) identifier) << number_literal)) ;) (ERROR "(pRVar7->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 "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n    super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std" (binary_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n    super__Vector_base<gold::Output_reloc<4" (binary_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n    super__Vector_base<gold" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n    super__Vector_base" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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 = pOVar9;" (comma_expression "Output_reloc<4,_true,_32,_false>_>_>\n    ._M_impl._M_finish = pOVar9" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n    ._M_impl._M_finish = pOVar9" identifier , (comma_expression "_32,_false>_>_>\n    ._M_impl._M_finish = pOVar9" identifier , (assignment_expression "_false>_>_>\n    ._M_impl._M_finish = pOVar9" (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 "lVar8 = (long)pOVar9 -\n          (long)(pRVar7->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 "lVar8 = (long)pOVar9 -\n          (long)(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<4,_true,_32,_false>,_std" (binary_expression "lVar8 = (long)pOVar9 -\n          (long)(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<4" (assignment_expression "lVar8 = (long)pOVar9 -\n          (long)(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                super__Vector_base<gold" identifier = (binary_expression "(long)pOVar9 -\n          (long)(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                super__Vector_base<gold" (binary_expression "(long)pOVar9 -\n          (long)(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                super__Vector_base" (cast_expression "(long)pOVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_.\n                super__Vector_base" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).relocs_" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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 >> 3;" (comma_expression "Output_reloc<4,_true,_32,_false>_>_>\n                ._M_impl._M_start >> 3" (binary_expression "Output_reloc<4" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n                ._M_impl._M_start >> 3" identifier , (comma_expression "_32,_false>_>_>\n                ._M_impl._M_start >> 3" identifier , (binary_expression "_false>_>_>\n                ._M_impl._M_start >> 3" (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 (((pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n       super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20 & 2)\n      != 0) {\nLAB_001b0a7d:\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 "(((pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n       super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20 & 2)\n      != 0)" ( (binary_expression "((pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n       super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20 & 2)\n      != 0" (parenthesized_expression "((pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n       super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20 & 2)" ( (binary_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n       super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20 & 2" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n       super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n       super_Output_section_data_build.super_Output_section_data.super_Output_data" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n       super_Output_section_data_build.super_Output_section_data" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n       super_Output_section_data_build" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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) )) (compound_statement "{\nLAB_001b0a7d:\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_001b0a7d:\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 "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n  super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n       lVar8 * -0x6666666666666664;" (assignment_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n  super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n       lVar8 * -0x6666666666666664" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n  super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n  super_Output_section_data_build.super_Output_section_data.super_Output_data" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n  super_Output_section_data_build.super_Output_section_data" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic.\n  super_Output_section_data_build" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).super_Output_data_reloc_generic" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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 "lVar8 * -0x6666666666666664" identifier * number_literal)) ;) (expression_statement "puVar2 = &(od->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            field_0x20;" (assignment_expression "puVar2 = &(od->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            field_0x20" identifier = (pointer_expression "&(od->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            field_0x20" & (field_expression "(od->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            field_0x20" (field_expression "(od->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(od->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(od->super_Output_section_data_build)" ( (field_expression "od->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "*puVar2 = *puVar2 | 0x10;" (assignment_expression "*puVar2 = *puVar2 | 0x10" (pointer_expression "*puVar2" * identifier) = (binary_expression "*puVar2 | 0x10" (pointer_expression "*puVar2" * identifier) | number_literal)) ;) (expression_statement "pSStack_80 = pSStack_50;" (assignment_expression "pSStack_80 = pSStack_50" identifier = identifier) ;) (expression_statement "iStack_6c = iStack_3c;" (assignment_expression "iStack_6c = iStack_3c" identifier = identifier) ;) (if_statement "if ((uStack_40 & 0x10000000) != 0) {\n    psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.relative_reloc_count_;\n    *psVar1 = *psVar1 + 1;\n  }" if (parenthesized_expression "((uStack_40 & 0x10000000) != 0)" ( (binary_expression "(uStack_40 & 0x10000000) != 0" (parenthesized_expression "(uStack_40 & 0x10000000)" ( (binary_expression "uStack_40 & 0x10000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.relative_reloc_count_;\n    *psVar1 = *psVar1 + 1;\n  }" { (expression_statement "psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.relative_reloc_count_;" (assignment_expression "psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.relative_reloc_count_" identifier = (pointer_expression "&(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.relative_reloc_count_" & (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic.relative_reloc_count_" (field_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>).\n              super_Output_data_reloc_generic" (parenthesized_expression "(pRVar7->super_Output_data_reloc_base<4,_true,_32,_false>)" ( (comma_expression "pRVar7->super_Output_data_reloc_base<4,_true,_32,_false" (binary_expression "pRVar7->super_Output_data_reloc_base<4" (field_expression "pRVar7->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 "*psVar1 = *psVar1 + 1;" (assignment_expression "*psVar1 = *psVar1 + 1" (pointer_expression "*psVar1" * identifier) = (binary_expression "*psVar1 + 1" (pointer_expression "*psVar1" * identifier) + number_literal)) ;) })) (labeled_statement "joined_r0x001b0a40:\n  if ((iStack_6c != -4) && (pSStack_80 != (Sized_relobj<32,_false> *)0x0)) {\n    uVar3 = (pSStack_80->super_Relobj).dyn_reloc_count_;\n    if (uVar3 == 0) {\n      (pSStack_80->super_Relobj).first_dyn_reloc_ = (int)lVar8 * -0x33333333 - 1;\n    }\n    (pSStack_80->super_Relobj).dyn_reloc_count_ = uVar3 + 1;\n  }" statement_identifier : (if_statement "if ((iStack_6c != -4) && (pSStack_80 != (Sized_relobj<32,_false> *)0x0)) {\n    uVar3 = (pSStack_80->super_Relobj).dyn_reloc_count_;\n    if (uVar3 == 0) {\n      (pSStack_80->super_Relobj).first_dyn_reloc_ = (int)lVar8 * -0x33333333 - 1;\n    }\n    (pSStack_80->super_Relobj).dyn_reloc_count_ = uVar3 + 1;\n  }" if (parenthesized_expression "((iStack_6c != -4) && (pSStack_80 != (Sized_relobj<32,_false> *)0x0))" ( (binary_expression "(iStack_6c != -4) && (pSStack_80 != (Sized_relobj<32,_false> *)0x0))" (parenthesized_expression "(iStack_6c != -4)" ( (binary_expression "iStack_6c != -4" identifier != number_literal) )) && (parenthesized_expression "(pSStack_80 != (Sized_relobj<32,_false> *)0x0))" ( (binary_expression "pSStack_80 != (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    uVar3 = (pSStack_80->super_Relobj).dyn_reloc_count_;\n    if (uVar3 == 0) {\n      (pSStack_80->super_Relobj).first_dyn_reloc_ = (int)lVar8 * -0x33333333 - 1;\n    }\n    (pSStack_80->super_Relobj).dyn_reloc_count_ = uVar3 + 1;\n  }" { (expression_statement "uVar3 = (pSStack_80->super_Relobj).dyn_reloc_count_;" (assignment_expression "uVar3 = (pSStack_80->super_Relobj).dyn_reloc_count_" identifier = (field_expression "(pSStack_80->super_Relobj).dyn_reloc_count_" (parenthesized_expression "(pSStack_80->super_Relobj)" ( (field_expression "pSStack_80->super_Relobj" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (uVar3 == 0) {\n      (pSStack_80->super_Relobj).first_dyn_reloc_ = (int)lVar8 * -0x33333333 - 1;\n    }" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      (pSStack_80->super_Relobj).first_dyn_reloc_ = (int)lVar8 * -0x33333333 - 1;\n    }" { (expression_statement "(pSStack_80->super_Relobj).first_dyn_reloc_ = (int)lVar8 * -0x33333333 - 1;" (assignment_expression "(pSStack_80->super_Relobj).first_dyn_reloc_ = (int)lVar8 * -0x33333333 - 1" (field_expression "(pSStack_80->super_Relobj).first_dyn_reloc_" (parenthesized_expression "(pSStack_80->super_Relobj)" ( (field_expression "pSStack_80->super_Relobj" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(int)lVar8 * -0x33333333 - 1" (binary_expression "(int)lVar8 * -0x33333333" (cast_expression "(int)lVar8" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) - number_literal)) ;) })) (expression_statement "(pSStack_80->super_Relobj).dyn_reloc_count_ = uVar3 + 1;" (assignment_expression "(pSStack_80->super_Relobj).dyn_reloc_count_ = uVar3 + 1" (field_expression "(pSStack_80->super_Relobj).dyn_reloc_count_" (parenthesized_expression "(pSStack_80->super_Relobj)" ( (field_expression "pSStack_80->super_Relobj" identifier -> field_identifier) )) . field_identifier) = (binary_expression "uVar3 + 1" identifier + number_literal)) ;) }))) (return_statement "return;" return ;) })))
(translation_unit "void FUN_001b0780(long param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4,\n                 ulong param_5)\n\n{\n  byte *pbVar1;\n  long lVar2;\n  undefined8 *puVar3;\n  char cVar4;\n  long lVar5;\n  long lVar6;\n  undefined8 *puVar7;\n  undefined8 uVar8;\n  char local_89;\n  undefined8 local_88;\n  long lStack_80;\n  undefined8 local_78;\n  uint uStack_70;\n  int iStack_6c;\n  undefined4 local_68;\n  uint uStack_64;\n  undefined8 local_58;\n  long lStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  undefined4 local_38;\n  uint uStack_34;\n  \n  if ((*(byte *)(param_4 + 7) & 0xf) == 10) {\n    if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }\nLAB_001b07a2:\n  *(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40;\n  lVar2 = *(long *)(param_1 + 0x38);\n  lVar5 = *(long *)(param_1 + 0x58);\n  FUN_003d73a0(&local_58,param_4,7,lVar5,param_5,0,0,0);\n  puVar3 = *(undefined8 **)(lVar2 + 0x50);\n  local_38 = 0;\n  if (puVar3 == *(undefined8 **)(lVar2 + 0x58)) {\n    FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);\n    puVar7 = *(undefined8 **)(lVar2 + 0x50);\n  }\n  else {\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }\n  lVar6 = (long)puVar7 - *(long *)(lVar2 + 0x48) >> 3;\n  if ((*(byte *)(lVar2 + 0x20) & 2) != 0) {\nLAB_001b0a7d:\n                    \n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }\n  *(long *)(lVar2 + 0x10) = lVar6 * -0x6666666666666664;\n  pbVar1 = (byte *)(lVar5 + 0x20);\n  *pbVar1 = *pbVar1 | 0x10;\n  lStack_80 = lStack_50;\n  iStack_6c = iStack_3c;\n  if ((uStack_40 & 0x10000000) != 0) {\n    *(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;\n  }\njoined_r0x001b0a40:\n  if ((iStack_6c != -4) && (lStack_80 != 0)) {\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }\n  return;\n}\n\n" (function_definition "void FUN_001b0780(long param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4,\n                 ulong param_5)\n\n{\n  byte *pbVar1;\n  long lVar2;\n  undefined8 *puVar3;\n  char cVar4;\n  long lVar5;\n  long lVar6;\n  undefined8 *puVar7;\n  undefined8 uVar8;\n  char local_89;\n  undefined8 local_88;\n  long lStack_80;\n  undefined8 local_78;\n  uint uStack_70;\n  int iStack_6c;\n  undefined4 local_68;\n  uint uStack_64;\n  undefined8 local_58;\n  long lStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  undefined4 local_38;\n  uint uStack_34;\n  \n  if ((*(byte *)(param_4 + 7) & 0xf) == 10) {\n    if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }\nLAB_001b07a2:\n  *(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40;\n  lVar2 = *(long *)(param_1 + 0x38);\n  lVar5 = *(long *)(param_1 + 0x58);\n  FUN_003d73a0(&local_58,param_4,7,lVar5,param_5,0,0,0);\n  puVar3 = *(undefined8 **)(lVar2 + 0x50);\n  local_38 = 0;\n  if (puVar3 == *(undefined8 **)(lVar2 + 0x58)) {\n    FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);\n    puVar7 = *(undefined8 **)(lVar2 + 0x50);\n  }\n  else {\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }\n  lVar6 = (long)puVar7 - *(long *)(lVar2 + 0x48) >> 3;\n  if ((*(byte *)(lVar2 + 0x20) & 2) != 0) {\nLAB_001b0a7d:\n                    \n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }\n  *(long *)(lVar2 + 0x10) = lVar6 * -0x6666666666666664;\n  pbVar1 = (byte *)(lVar5 + 0x20);\n  *pbVar1 = *pbVar1 | 0x10;\n  lStack_80 = lStack_50;\n  iStack_6c = iStack_3c;\n  if ((uStack_40 & 0x10000000) != 0) {\n    *(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;\n  }\njoined_r0x001b0a40:\n  if ((iStack_6c != -4) && (lStack_80 != 0)) {\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_001b0780(long param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4,\n                 ulong param_5)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4,\n                 ulong param_5)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined8 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "ulong param_5" type_identifier identifier) ))) (compound_statement "{\n  byte *pbVar1;\n  long lVar2;\n  undefined8 *puVar3;\n  char cVar4;\n  long lVar5;\n  long lVar6;\n  undefined8 *puVar7;\n  undefined8 uVar8;\n  char local_89;\n  undefined8 local_88;\n  long lStack_80;\n  undefined8 local_78;\n  uint uStack_70;\n  int iStack_6c;\n  undefined4 local_68;\n  uint uStack_64;\n  undefined8 local_58;\n  long lStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  undefined4 local_38;\n  uint uStack_34;\n  \n  if ((*(byte *)(param_4 + 7) & 0xf) == 10) {\n    if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }\nLAB_001b07a2:\n  *(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40;\n  lVar2 = *(long *)(param_1 + 0x38);\n  lVar5 = *(long *)(param_1 + 0x58);\n  FUN_003d73a0(&local_58,param_4,7,lVar5,param_5,0,0,0);\n  puVar3 = *(undefined8 **)(lVar2 + 0x50);\n  local_38 = 0;\n  if (puVar3 == *(undefined8 **)(lVar2 + 0x58)) {\n    FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);\n    puVar7 = *(undefined8 **)(lVar2 + 0x50);\n  }\n  else {\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }\n  lVar6 = (long)puVar7 - *(long *)(lVar2 + 0x48) >> 3;\n  if ((*(byte *)(lVar2 + 0x20) & 2) != 0) {\nLAB_001b0a7d:\n                    \n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }\n  *(long *)(lVar2 + 0x10) = lVar6 * -0x6666666666666664;\n  pbVar1 = (byte *)(lVar5 + 0x20);\n  *pbVar1 = *pbVar1 | 0x10;\n  lStack_80 = lStack_50;\n  iStack_6c = iStack_3c;\n  if ((uStack_40 & 0x10000000) != 0) {\n    *(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;\n  }\njoined_r0x001b0a40:\n  if ((iStack_6c != -4) && (lStack_80 != 0)) {\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }\n  return;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "char local_89;" primitive_type identifier ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "long lStack_80;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "uint uStack_70;" type_identifier identifier ;) (declaration "int iStack_6c;" primitive_type identifier ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "uint uStack_64;" type_identifier identifier ;) (declaration "undefined8 local_58;" type_identifier identifier ;) (declaration "long lStack_50;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "uint uStack_40;" type_identifier identifier ;) (declaration "int iStack_3c;" primitive_type identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "uint uStack_34;" type_identifier identifier ;) (if_statement "if ((*(byte *)(param_4 + 7) & 0xf) == 10) {\n    if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }" if (parenthesized_expression "((*(byte *)(param_4 + 7) & 0xf) == 10)" ( (binary_expression "(*(byte *)(param_4 + 7) & 0xf) == 10" (parenthesized_expression "(*(byte *)(param_4 + 7) & 0xf)" ( (binary_expression "*(byte *)(param_4 + 7) & 0xf" (pointer_expression "*(byte *)(param_4 + 7)" * (cast_expression "(byte *)(param_4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 7)" ( (binary_expression "param_4 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }" { (if_statement "if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }" if (parenthesized_expression "((*(byte *)((long)param_4 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)((long)param_4 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)((long)param_4 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)param_4 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_4 + 0x3a)" * (cast_expression "(byte *)((long)param_4 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_4 + 0x3a)" ( (binary_expression "(long)param_4 + 0x3a" (cast_expression "(long)param_4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }" { (if_statement "if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;" if (parenthesized_expression "(((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))" ( (binary_expression "((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0)))" (parenthesized_expression "((*(byte *)(param_4[2] + 0x3c) & 1) == 0)" ( (binary_expression "(*(byte *)(param_4[2] + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_4[2] + 0x3c) & 1)" ( (binary_expression "*(byte *)(param_4[2] + 0x3c) & 1" (pointer_expression "*(byte *)(param_4[2] + 0x3c)" * (cast_expression "(byte *)(param_4[2] + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4[2] + 0x3c)" ( (binary_expression "param_4[2] + 0x3c" (subscript_expression "param_4[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0)))" ( (parenthesized_expression "(*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))" ( (binary_expression "*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0)" (binary_expression "*(int *)(param_4 + 3) != 0" (pointer_expression "*(int *)(param_4 + 3)" * (cast_expression "(int *)(param_4 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 3)" ( (binary_expression "param_4 + 3" identifier + number_literal) )))) != number_literal) || (parenthesized_expression "((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((long)param_4 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)param_4 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)param_4 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)param_4 + 0x3b)" * (cast_expression "(byte *)((long)param_4 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_4 + 0x3b)" ( (binary_expression "(long)param_4 + 0x3b" (cast_expression "(long)param_4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_001b08e0;" goto statement_identifier ;)) }) (else_clause "else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }" else (if_statement "if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }" if (parenthesized_expression "((*(byte *)((long)param_4 + 0x3a) & 7) != 4)" ( (binary_expression "(*(byte *)((long)param_4 + 0x3a) & 7) != 4" (parenthesized_expression "(*(byte *)((long)param_4 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)param_4 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_4 + 0x3a)" * (cast_expression "(byte *)((long)param_4 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_4 + 0x3a)" ( (binary_expression "(long)param_4 + 0x3a" (cast_expression "(long)param_4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }" { (labeled_statement "LAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }" statement_identifier : (if_statement "if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }" if (parenthesized_expression "(((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0))" ( (binary_expression "((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)" (parenthesized_expression "((*(byte *)((long)param_4 + 0x39) & 3) == 0)" ( (binary_expression "(*(byte *)((long)param_4 + 0x39) & 3) == 0" (parenthesized_expression "(*(byte *)((long)param_4 + 0x39) & 3)" ( (binary_expression "*(byte *)((long)param_4 + 0x39) & 3" (pointer_expression "*(byte *)((long)param_4 + 0x39)" * (cast_expression "(byte *)((long)param_4 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_4 + 0x39)" ( (binary_expression "(long)param_4 + 0x39" (cast_expression "(long)param_4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)" ( (binary_expression "(*(byte *)((long)param_4 + 0x3b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)param_4 + 0x3b) & 0x10)" ( (binary_expression "*(byte *)((long)param_4 + 0x3b) & 0x10" (pointer_expression "*(byte *)((long)param_4 + 0x3b)" * (cast_expression "(byte *)((long)param_4 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_4 + 0x3b)" ( (binary_expression "(long)param_4 + 0x3b" (cast_expression "(long)param_4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }" { (expression_statement "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }" if (parenthesized_expression "(lVar2 == 0)" ( (binary_expression "lVar2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }" { (labeled_statement "LAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../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 (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }" if (parenthesized_expression "(*(char *)(lVar2 + 0x2a61) != '\0')" ( (binary_expression "*(char *)(lVar2 + 0x2a61) != '\0'" (pointer_expression "*(char *)(lVar2 + 0x2a61)" * (cast_expression "(char *)(lVar2 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x2a61)" ( (binary_expression "lVar2 + 0x2a61" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }" { (expression_statement "cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);" (assignment_expression "cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89)" identifier = (call_expression "FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89)" identifier (argument_list "(lVar2 + 0x9120,*param_4,0,&local_89)" ( (binary_expression "lVar2 + 0x9120" identifier + number_literal) , (pointer_expression "*param_4" * identifier) , number_literal , (pointer_expression "&local_89" & identifier) )))) ;) (expression_statement "param_5 = param_5 & 0xffffffff;" (assignment_expression "param_5 = param_5 & 0xffffffff" identifier = (binary_expression "param_5 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }" if (parenthesized_expression "((cVar4 == '\0') || (local_89 != '\0'))" ( (binary_expression "(cVar4 == '\0') || (local_89 != '\0')" (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(local_89 != '\0')" ( (binary_expression "local_89 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }" { (expression_statement "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar2 == 0) goto LAB_001b0a95;" if (parenthesized_expression "(lVar2 == 0)" ( (binary_expression "lVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001b0a95;" goto statement_identifier ;)) (if_statement "if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;" if (parenthesized_expression "((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))" ( (binary_expression "(*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0')))" (parenthesized_expression "(*(char *)(lVar2 + 0xd21) != '\0')" ( (binary_expression "*(char *)(lVar2 + 0xd21) != '\0'" (pointer_expression "*(char *)(lVar2 + 0xd21)" * (cast_expression "(char *)(lVar2 + 0xd21)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xd21)" ( (binary_expression "lVar2 + 0xd21" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0')))" ( (parenthesized_expression "((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))" ( (binary_expression "(*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0')" (binary_expression "(*(byte *)(param_4 + 7) & 0xf) != 1" (parenthesized_expression "(*(byte *)(param_4 + 7) & 0xf)" ( (binary_expression "*(byte *)(param_4 + 7) & 0xf" (pointer_expression "*(byte *)(param_4 + 7)" * (cast_expression "(byte *)(param_4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 7)" ( (binary_expression "param_4 + 7" identifier + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "(*(char *)(lVar2 + 0xde9) != '\0')" ( (binary_expression "*(char *)(lVar2 + 0xde9) != '\0'" (pointer_expression "*(char *)(lVar2 + 0xde9)" * (cast_expression "(char *)(lVar2 + 0xde9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xde9)" ( (binary_expression "lVar2 + 0xde9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (goto_statement "goto LAB_001b0980;" goto statement_identifier ;)) })) (goto_statement "goto LAB_001b07a2;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);" statement_identifier : (expression_statement "lVar5 = FUN_001ac6c0(param_1,param_2,param_3);" (assignment_expression "lVar5 = FUN_001ac6c0(param_1,param_2,param_3)" identifier = (call_expression "FUN_001ac6c0(param_1,param_2,param_3)" identifier (argument_list "(param_1,param_2,param_3)" ( identifier , identifier , identifier )))) ;)) (expression_statement "lVar2 = *(long *)(param_1 + 0x60);" (assignment_expression "lVar2 = *(long *)(param_1 + 0x60)" identifier = (pointer_expression "*(long *)(param_1 + 0x60)" * (cast_expression "(long *)(param_1 + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (expression_statement "FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);" (call_expression "FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0)" identifier (argument_list "(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0)" ( (pointer_expression "&local_88" & identifier) , identifier , number_literal , identifier , (binary_expression "param_5 & 0xffffffff" identifier & number_literal) , number_literal , number_literal , number_literal ))) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "puVar3 = *(undefined8 **)(lVar5 + 0x50);" (assignment_expression "puVar3 = *(undefined8 **)(lVar5 + 0x50)" identifier = (pointer_expression "*(undefined8 **)(lVar5 + 0x50)" * (cast_expression "(undefined8 **)(lVar5 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar5 + 0x50)" ( (binary_expression "lVar5 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }" if (parenthesized_expression "(puVar3 == *(undefined8 **)(lVar5 + 0x58))" ( (binary_expression "puVar3 == *(undefined8 **)(lVar5 + 0x58)" identifier == (pointer_expression "*(undefined8 **)(lVar5 + 0x58)" * (cast_expression "(undefined8 **)(lVar5 + 0x58)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar5 + 0x58)" ( (binary_expression "lVar5 + 0x58" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }" { (expression_statement "FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);" (call_expression "FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8)" identifier (argument_list "(lVar5 + 0x48,puVar3,&local_88,uVar8)" ( (binary_expression "lVar5 + 0x48" identifier + number_literal) , identifier , (pointer_expression "&local_88" & identifier) , identifier ))) ;) (expression_statement "puVar7 = *(undefined8 **)(lVar5 + 0x50);" (assignment_expression "puVar7 = *(undefined8 **)(lVar5 + 0x50)" identifier = (pointer_expression "*(undefined8 **)(lVar5 + 0x50)" * (cast_expression "(undefined8 **)(lVar5 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar5 + 0x50)" ( (binary_expression "lVar5 + 0x50" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }" else (compound_statement "{\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }" { (expression_statement "puVar7 = puVar3 + 5;" (assignment_expression "puVar7 = puVar3 + 5" identifier = (binary_expression "puVar3 + 5" identifier + number_literal)) ;) (expression_statement "*puVar3 = local_88;" (assignment_expression "*puVar3 = local_88" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "puVar3[1] = lStack_80;" (assignment_expression "puVar3[1] = lStack_80" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[2] = local_78;" (assignment_expression "puVar3[2] = local_78" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[3] = CONCAT44(iStack_6c,uStack_70);" (assignment_expression "puVar3[3] = CONCAT44(iStack_6c,uStack_70)" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = (call_expression "CONCAT44(iStack_6c,uStack_70)" identifier (argument_list "(iStack_6c,uStack_70)" ( identifier , identifier )))) ;) (expression_statement "puVar3[4] = (ulong)uStack_64 << 0x20;" (assignment_expression "puVar3[4] = (ulong)uStack_64 << 0x20" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = (binary_expression "(ulong)uStack_64 << 0x20" (cast_expression "(ulong)uStack_64" ( (type_descriptor "ulong" type_identifier) ) identifier) << number_literal)) ;) (expression_statement "*(undefined8 **)(lVar5 + 0x50) = puVar7;" (assignment_expression "*(undefined8 **)(lVar5 + 0x50) = puVar7" (pointer_expression "*(undefined8 **)(lVar5 + 0x50)" * (cast_expression "(undefined8 **)(lVar5 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar5 + 0x50)" ( (binary_expression "lVar5 + 0x50" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;" (assignment_expression "lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3" identifier = (binary_expression "(long)puVar7 - *(long *)(lVar5 + 0x48) >> 3" (binary_expression "(long)puVar7 - *(long *)(lVar5 + 0x48)" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (pointer_expression "*(long *)(lVar5 + 0x48)" * (cast_expression "(long *)(lVar5 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x48)" ( (binary_expression "lVar5 + 0x48" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;" if (parenthesized_expression "((*(byte *)(lVar5 + 0x20) & 2) != 0)" ( (binary_expression "(*(byte *)(lVar5 + 0x20) & 2) != 0" (parenthesized_expression "(*(byte *)(lVar5 + 0x20) & 2)" ( (binary_expression "*(byte *)(lVar5 + 0x20) & 2" (pointer_expression "*(byte *)(lVar5 + 0x20)" * (cast_expression "(byte *)(lVar5 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x20)" ( (binary_expression "lVar5 + 0x20" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001b0a7d;" goto statement_identifier ;)) (expression_statement "*(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;" (assignment_expression "*(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664" (pointer_expression "*(long *)(lVar5 + 0x10)" * (cast_expression "(long *)(lVar5 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x10)" ( (binary_expression "lVar5 + 0x10" identifier + number_literal) )))) = (binary_expression "lVar6 * -0x6666666666666664" identifier * number_literal)) ;) (expression_statement "pbVar1 = (byte *)(lVar2 + 0x20);" (assignment_expression "pbVar1 = (byte *)(lVar2 + 0x20)" identifier = (cast_expression "(byte *)(lVar2 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x20)" ( (binary_expression "lVar2 + 0x20" 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 ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }" if (parenthesized_expression "((uStack_70 & 0x10000000) != 0)" ( (binary_expression "(uStack_70 & 0x10000000) != 0" (parenthesized_expression "(uStack_70 & 0x10000000)" ( (binary_expression "uStack_70 & 0x10000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }" { (expression_statement "*(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;" (assignment_expression "*(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1" (pointer_expression "*(long *)(lVar5 + 0x38)" * (cast_expression "(long *)(lVar5 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x38)" ( (binary_expression "lVar5 + 0x38" identifier + number_literal) )))) = (binary_expression "*(long *)(lVar5 + 0x38) + 1" (pointer_expression "*(long *)(lVar5 + 0x38)" * (cast_expression "(long *)(lVar5 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x38)" ( (binary_expression "lVar5 + 0x38" identifier + number_literal) )))) + number_literal)) ;) })) (goto_statement "goto joined_r0x001b0a40;" goto statement_identifier ;) })))) })) (labeled_statement "LAB_001b07a2:\n  *(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40;" statement_identifier : (expression_statement "*(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40;" (assignment_expression "*(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40" (pointer_expression "*(byte *)((long)param_4 + 0x3a)" * (cast_expression "(byte *)((long)param_4 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_4 + 0x3a)" ( (binary_expression "(long)param_4 + 0x3a" (cast_expression "(long)param_4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((long)param_4 + 0x3a) | 0x40" (pointer_expression "*(byte *)((long)param_4 + 0x3a)" * (cast_expression "(byte *)((long)param_4 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_4 + 0x3a)" ( (binary_expression "(long)param_4 + 0x3a" (cast_expression "(long)param_4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) | number_literal)) ;)) (expression_statement "lVar2 = *(long *)(param_1 + 0x38);" (assignment_expression "lVar2 = *(long *)(param_1 + 0x38)" identifier = (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "lVar5 = *(long *)(param_1 + 0x58);" (assignment_expression "lVar5 = *(long *)(param_1 + 0x58)" identifier = (pointer_expression "*(long *)(param_1 + 0x58)" * (cast_expression "(long *)(param_1 + 0x58)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "FUN_003d73a0(&local_58,param_4,7,lVar5,param_5,0,0,0);" (call_expression "FUN_003d73a0(&local_58,param_4,7,lVar5,param_5,0,0,0)" identifier (argument_list "(&local_58,param_4,7,lVar5,param_5,0,0,0)" ( (pointer_expression "&local_58" & identifier) , identifier , number_literal , identifier , identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "puVar3 = *(undefined8 **)(lVar2 + 0x50);" (assignment_expression "puVar3 = *(undefined8 **)(lVar2 + 0x50)" identifier = (pointer_expression "*(undefined8 **)(lVar2 + 0x50)" * (cast_expression "(undefined8 **)(lVar2 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x50)" ( (binary_expression "lVar2 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (if_statement "if (puVar3 == *(undefined8 **)(lVar2 + 0x58)) {\n    FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);\n    puVar7 = *(undefined8 **)(lVar2 + 0x50);\n  }\n  else {\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }" if (parenthesized_expression "(puVar3 == *(undefined8 **)(lVar2 + 0x58))" ( (binary_expression "puVar3 == *(undefined8 **)(lVar2 + 0x58)" identifier == (pointer_expression "*(undefined8 **)(lVar2 + 0x58)" * (cast_expression "(undefined8 **)(lVar2 + 0x58)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x58)" ( (binary_expression "lVar2 + 0x58" identifier + number_literal) ))))) )) (compound_statement "{\n    FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);\n    puVar7 = *(undefined8 **)(lVar2 + 0x50);\n  }" { (expression_statement "FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);" (call_expression "FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58)" identifier (argument_list "(lVar2 + 0x48,puVar3,&local_58)" ( (binary_expression "lVar2 + 0x48" identifier + number_literal) , identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "puVar7 = *(undefined8 **)(lVar2 + 0x50);" (assignment_expression "puVar7 = *(undefined8 **)(lVar2 + 0x50)" identifier = (pointer_expression "*(undefined8 **)(lVar2 + 0x50)" * (cast_expression "(undefined8 **)(lVar2 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x50)" ( (binary_expression "lVar2 + 0x50" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }" else (compound_statement "{\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }" { (expression_statement "puVar7 = puVar3 + 5;" (assignment_expression "puVar7 = puVar3 + 5" identifier = (binary_expression "puVar3 + 5" identifier + number_literal)) ;) (expression_statement "*puVar3 = local_58;" (assignment_expression "*puVar3 = local_58" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "puVar3[1] = lStack_50;" (assignment_expression "puVar3[1] = lStack_50" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[2] = local_48;" (assignment_expression "puVar3[2] = local_48" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[3] = CONCAT44(iStack_3c,uStack_40);" (assignment_expression "puVar3[3] = CONCAT44(iStack_3c,uStack_40)" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = (call_expression "CONCAT44(iStack_3c,uStack_40)" identifier (argument_list "(iStack_3c,uStack_40)" ( identifier , identifier )))) ;) (expression_statement "puVar3[4] = (ulong)uStack_34 << 0x20;" (assignment_expression "puVar3[4] = (ulong)uStack_34 << 0x20" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = (binary_expression "(ulong)uStack_34 << 0x20" (cast_expression "(ulong)uStack_34" ( (type_descriptor "ulong" type_identifier) ) identifier) << number_literal)) ;) (expression_statement "*(undefined8 **)(lVar2 + 0x50) = puVar7;" (assignment_expression "*(undefined8 **)(lVar2 + 0x50) = puVar7" (pointer_expression "*(undefined8 **)(lVar2 + 0x50)" * (cast_expression "(undefined8 **)(lVar2 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x50)" ( (binary_expression "lVar2 + 0x50" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "lVar6 = (long)puVar7 - *(long *)(lVar2 + 0x48) >> 3;" (assignment_expression "lVar6 = (long)puVar7 - *(long *)(lVar2 + 0x48) >> 3" identifier = (binary_expression "(long)puVar7 - *(long *)(lVar2 + 0x48) >> 3" (binary_expression "(long)puVar7 - *(long *)(lVar2 + 0x48)" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (pointer_expression "*(long *)(lVar2 + 0x48)" * (cast_expression "(long *)(lVar2 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x48)" ( (binary_expression "lVar2 + 0x48" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if ((*(byte *)(lVar2 + 0x20) & 2) != 0) {\nLAB_001b0a7d:\n                    \n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }" if (parenthesized_expression "((*(byte *)(lVar2 + 0x20) & 2) != 0)" ( (binary_expression "(*(byte *)(lVar2 + 0x20) & 2) != 0" (parenthesized_expression "(*(byte *)(lVar2 + 0x20) & 2)" ( (binary_expression "*(byte *)(lVar2 + 0x20) & 2" (pointer_expression "*(byte *)(lVar2 + 0x20)" * (cast_expression "(byte *)(lVar2 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x20)" ( (binary_expression "lVar2 + 0x20" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001b0a7d:\n                    \n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }" { (labeled_statement "LAB_001b0a7d:\n                    \n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "FUN_00352af0("../../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 "*(long *)(lVar2 + 0x10) = lVar6 * -0x6666666666666664;" (assignment_expression "*(long *)(lVar2 + 0x10) = lVar6 * -0x6666666666666664" (pointer_expression "*(long *)(lVar2 + 0x10)" * (cast_expression "(long *)(lVar2 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x10)" ( (binary_expression "lVar2 + 0x10" identifier + number_literal) )))) = (binary_expression "lVar6 * -0x6666666666666664" identifier * number_literal)) ;) (expression_statement "pbVar1 = (byte *)(lVar5 + 0x20);" (assignment_expression "pbVar1 = (byte *)(lVar5 + 0x20)" identifier = (cast_expression "(byte *)(lVar5 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x20)" ( (binary_expression "lVar5 + 0x20" 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 "lStack_80 = lStack_50;" (assignment_expression "lStack_80 = lStack_50" identifier = identifier) ;) (expression_statement "iStack_6c = iStack_3c;" (assignment_expression "iStack_6c = iStack_3c" identifier = identifier) ;) (if_statement "if ((uStack_40 & 0x10000000) != 0) {\n    *(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;\n  }" if (parenthesized_expression "((uStack_40 & 0x10000000) != 0)" ( (binary_expression "(uStack_40 & 0x10000000) != 0" (parenthesized_expression "(uStack_40 & 0x10000000)" ( (binary_expression "uStack_40 & 0x10000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    *(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;\n  }" { (expression_statement "*(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;" (assignment_expression "*(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1" (pointer_expression "*(long *)(lVar2 + 0x38)" * (cast_expression "(long *)(lVar2 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x38)" ( (binary_expression "lVar2 + 0x38" identifier + number_literal) )))) = (binary_expression "*(long *)(lVar2 + 0x38) + 1" (pointer_expression "*(long *)(lVar2 + 0x38)" * (cast_expression "(long *)(lVar2 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x38)" ( (binary_expression "lVar2 + 0x38" identifier + number_literal) )))) + number_literal)) ;) })) (labeled_statement "joined_r0x001b0a40:\n  if ((iStack_6c != -4) && (lStack_80 != 0)) {\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }" statement_identifier : (if_statement "if ((iStack_6c != -4) && (lStack_80 != 0)) {\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }" if (parenthesized_expression "((iStack_6c != -4) && (lStack_80 != 0))" ( (binary_expression "(iStack_6c != -4) && (lStack_80 != 0)" (parenthesized_expression "(iStack_6c != -4)" ( (binary_expression "iStack_6c != -4" identifier != number_literal) )) && (parenthesized_expression "(lStack_80 != 0)" ( (binary_expression "lStack_80 != 0" identifier != number_literal) ))) )) (compound_statement "{\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }" { (if_statement "if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }" if (parenthesized_expression "(*(int *)(lStack_80 + 0xa4) == 0)" ( (binary_expression "*(int *)(lStack_80 + 0xa4) == 0" (pointer_expression "*(int *)(lStack_80 + 0xa4)" * (cast_expression "(int *)(lStack_80 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lStack_80 + 0xa4)" ( (binary_expression "lStack_80 + 0xa4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }" { (expression_statement "*(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;" (assignment_expression "*(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1" (pointer_expression "*(int *)(lStack_80 + 0xa0)" * (cast_expression "(int *)(lStack_80 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lStack_80 + 0xa0)" ( (binary_expression "lStack_80 + 0xa0" identifier + number_literal) )))) = (binary_expression "(int)lVar6 * -0x33333333 + -1" (binary_expression "(int)lVar6 * -0x33333333" (cast_expression "(int)lVar6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal)) ;) })) (expression_statement "*(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;" (assignment_expression "*(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1" (pointer_expression "*(int *)(lStack_80 + 0xa4)" * (cast_expression "(int *)(lStack_80 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lStack_80 + 0xa4)" ( (binary_expression "lStack_80 + 0xa4" identifier + number_literal) )))) = (binary_expression "*(int *)(lStack_80 + 0xa4) + 1" (pointer_expression "*(int *)(lStack_80 + 0xa4)" * (cast_expression "(int *)(lStack_80 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lStack_80 + 0xa4)" ( (binary_expression "lStack_80 + 0xa4" identifier + number_literal) )))) + number_literal)) ;) }))) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (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 (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 (sized_type_specifier long)) ) 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 (sized_type_specifier long)) ) 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 (sized_type_specifier long)) ) 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 (sized_type_specifier long)) ) 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 (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (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) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (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 (sized_type_specifier long) (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 ( IDENT , IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , LIT , IDENT , (binary_expression IDENT & LIT) , 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) , 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 ]) = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> 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 (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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 (sized_type_specifier long)) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) | LIT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 ]) = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> 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 ") ))) ;)) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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 (cast_expression ( (type_descriptor TYPE) ) 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 FUN_001b0780(long param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4,\n                 ulong param_5)\n\n{\n  byte *pbVar1;\n  long lVar2;\n  undefined8 *puVar3;\n  char cVar4;\n  long lVar5;\n  long lVar6;\n  undefined8 *puVar7;\n  undefined8 uVar8;\n  char local_89;\n  undefined8 local_88;\n  long lStack_80;\n  undefined8 local_78;\n  uint uStack_70;\n  int iStack_6c;\n  undefined4 local_68;\n  uint uStack_64;\n  undefined8 local_58;\n  long lStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  undefined4 local_38;\n  uint uStack_34;\n  \n  if ((*(byte *)(param_4 + 7) & 0xf) == 10) {\n    if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }\nLAB_001b07a2:\n  *(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40;\n  lVar2 = *(long *)(param_1 + 0x38);\n  lVar5 = *(long *)(param_1 + 0x58);\n  FUN_003d73a0(&local_58,param_4,7,lVar5,param_5,0,0,0);\n  puVar3 = *(undefined8 **)(lVar2 + 0x50);\n  local_38 = 0;\n  if (puVar3 == *(undefined8 **)(lVar2 + 0x58)) {\n    FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);\n    puVar7 = *(undefined8 **)(lVar2 + 0x50);\n  }\n  else {\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }\n  lVar6 = (long)puVar7 - *(long *)(lVar2 + 0x48) >> 3;\n  if ((*(byte *)(lVar2 + 0x20) & 2) != 0) {\nLAB_001b0a7d:\n                    \n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }\n  *(long *)(lVar2 + 0x10) = lVar6 * -0x6666666666666664;\n  pbVar1 = (byte *)(lVar5 + 0x20);\n  *pbVar1 = *pbVar1 | 0x10;\n  lStack_80 = lStack_50;\n  iStack_6c = iStack_3c;\n  if ((uStack_40 & 0x10000000) != 0) {\n    *(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;\n  }\njoined_r0x001b0a40:\n  if ((iStack_6c != -4) && (lStack_80 != 0)) {\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_001b0780(long param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4,\n                 ulong param_5)" (identifier "FUN_001b0780") (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4,\n                 ulong param_5)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) (, ",") (parameter_declaration "undefined8 *param_4" (type_identifier "undefined8") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "ulong param_5" (type_identifier "ulong") (identifier "param_5")) () ")"))) (compound_statement "{\n  byte *pbVar1;\n  long lVar2;\n  undefined8 *puVar3;\n  char cVar4;\n  long lVar5;\n  long lVar6;\n  undefined8 *puVar7;\n  undefined8 uVar8;\n  char local_89;\n  undefined8 local_88;\n  long lStack_80;\n  undefined8 local_78;\n  uint uStack_70;\n  int iStack_6c;\n  undefined4 local_68;\n  uint uStack_64;\n  undefined8 local_58;\n  long lStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  undefined4 local_38;\n  uint uStack_34;\n  \n  if ((*(byte *)(param_4 + 7) & 0xf) == 10) {\n    if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }\nLAB_001b07a2:\n  *(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40;\n  lVar2 = *(long *)(param_1 + 0x38);\n  lVar5 = *(long *)(param_1 + 0x58);\n  FUN_003d73a0(&local_58,param_4,7,lVar5,param_5,0,0,0);\n  puVar3 = *(undefined8 **)(lVar2 + 0x50);\n  local_38 = 0;\n  if (puVar3 == *(undefined8 **)(lVar2 + 0x58)) {\n    FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);\n    puVar7 = *(undefined8 **)(lVar2 + 0x50);\n  }\n  else {\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }\n  lVar6 = (long)puVar7 - *(long *)(lVar2 + 0x48) >> 3;\n  if ((*(byte *)(lVar2 + 0x20) & 2) != 0) {\nLAB_001b0a7d:\n                    \n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }\n  *(long *)(lVar2 + 0x10) = lVar6 * -0x6666666666666664;\n  pbVar1 = (byte *)(lVar5 + 0x20);\n  *pbVar1 = *pbVar1 | 0x10;\n  lStack_80 = lStack_50;\n  iStack_6c = iStack_3c;\n  if ((uStack_40 & 0x10000000) != 0) {\n    *(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;\n  }\njoined_r0x001b0a40:\n  if ((iStack_6c != -4) && (lStack_80 != 0)) {\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }\n  return;\n}" ({ "{") (declaration "byte *pbVar1;" (type_identifier "byte") (pointer_declarator "*pbVar1" (* "*") (identifier "pbVar1")) (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "undefined8 *puVar3;" (type_identifier "undefined8") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "char cVar4;" (primitive_type "char") (identifier "cVar4") (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "undefined8 *puVar7;" (type_identifier "undefined8") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined8 uVar8;" (type_identifier "undefined8") (identifier "uVar8") (; ";")) (declaration "char local_89;" (primitive_type "char") (identifier "local_89") (; ";")) (declaration "undefined8 local_88;" (type_identifier "undefined8") (identifier "local_88") (; ";")) (declaration "long lStack_80;" (sized_type_specifier "long" (long "long")) (identifier "lStack_80") (; ";")) (declaration "undefined8 local_78;" (type_identifier "undefined8") (identifier "local_78") (; ";")) (declaration "uint uStack_70;" (type_identifier "uint") (identifier "uStack_70") (; ";")) (declaration "int iStack_6c;" (primitive_type "int") (identifier "iStack_6c") (; ";")) (declaration "undefined4 local_68;" (type_identifier "undefined4") (identifier "local_68") (; ";")) (declaration "uint uStack_64;" (type_identifier "uint") (identifier "uStack_64") (; ";")) (declaration "undefined8 local_58;" (type_identifier "undefined8") (identifier "local_58") (; ";")) (declaration "long lStack_50;" (sized_type_specifier "long" (long "long")) (identifier "lStack_50") (; ";")) (declaration "undefined8 local_48;" (type_identifier "undefined8") (identifier "local_48") (; ";")) (declaration "uint uStack_40;" (type_identifier "uint") (identifier "uStack_40") (; ";")) (declaration "int iStack_3c;" (primitive_type "int") (identifier "iStack_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "uint uStack_34;" (type_identifier "uint") (identifier "uStack_34") (; ";")) (if_statement "if ((*(byte *)(param_4 + 7) & 0xf) == 10) {\n    if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }" (if "if") (parenthesized_expression "((*(byte *)(param_4 + 7) & 0xf) == 10)" (( "(") (binary_expression "(*(byte *)(param_4 + 7) & 0xf) == 10" (parenthesized_expression "(*(byte *)(param_4 + 7) & 0xf)" (( "(") (binary_expression "*(byte *)(param_4 + 7) & 0xf" (pointer_expression "*(byte *)(param_4 + 7)" (* "*") (cast_expression "(byte *)(param_4 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 7)" (( "(") (binary_expression "param_4 + 7" (identifier "param_4") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "10")) () ")")) (compound_statement "{\n    if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }\n  }" ({ "{") (if_statement "if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }\n    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }" (if "if") (parenthesized_expression "((*(byte *)((long)param_4 + 0x3a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((long)param_4 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)((long)param_4 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)((long)param_4 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_4 + 0x3a)" (* "*") (cast_expression "(byte *)((long)param_4 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_4 + 0x3a)" (( "(") (binary_expression "(long)param_4 + 0x3a" (cast_expression "(long)param_4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_4")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;\n    }" ({ "{") (if_statement "if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))\n      goto LAB_001b08e0;" (if "if") (parenthesized_expression "(((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))" (( "(") (binary_expression "((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&\n         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0)))" (parenthesized_expression "((*(byte *)(param_4[2] + 0x3c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(param_4[2] + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_4[2] + 0x3c) & 1)" (( "(") (binary_expression "*(byte *)(param_4[2] + 0x3c) & 1" (pointer_expression "*(byte *)(param_4[2] + 0x3c)" (* "*") (cast_expression "(byte *)(param_4[2] + 0x3c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4[2] + 0x3c)" (( "(") (binary_expression "param_4[2] + 0x3c" (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0x3c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0)))" (( "(") (parenthesized_expression "(*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))" (( "(") (binary_expression "*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0)" (binary_expression "*(int *)(param_4 + 3) != 0" (pointer_expression "*(int *)(param_4 + 3)" (* "*") (cast_expression "(int *)(param_4 + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 3)" (( "(") (binary_expression "param_4 + 3" (identifier "param_4") (+ "+") (number_literal "3")) () ")")))) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((long)param_4 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)param_4 + 0x3b) & 0x20)" (( "(") (binary_expression "*(byte *)((long)param_4 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)param_4 + 0x3b)" (* "*") (cast_expression "(byte *)((long)param_4 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_4 + 0x3b)" (( "(") (binary_expression "(long)param_4 + 0x3b" (cast_expression "(long)param_4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_4")) (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_001b08e0;" (goto "goto") (statement_identifier "LAB_001b08e0") (; ";"))) (} "}")) (else_clause "else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }" (else "else") (if_statement "if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }" (if "if") (parenthesized_expression "((*(byte *)((long)param_4 + 0x3a) & 7) != 4)" (( "(") (binary_expression "(*(byte *)((long)param_4 + 0x3a) & 7) != 4" (parenthesized_expression "(*(byte *)((long)param_4 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)((long)param_4 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_4 + 0x3a)" (* "*") (cast_expression "(byte *)((long)param_4 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_4 + 0x3a)" (( "(") (binary_expression "(long)param_4 + 0x3a" (cast_expression "(long)param_4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_4")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\nLAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }\nLAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);\n      lVar2 = *(long *)(param_1 + 0x60);\n      uVar8 = 1;\n      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);\n      local_68 = 0;\n      puVar3 = *(undefined8 **)(lVar5 + 0x50);\n      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }\n      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;\n      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;\n      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;\n      pbVar1 = (byte *)(lVar2 + 0x20);\n      *pbVar1 = *pbVar1 | 0x10;\n      if ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }\n      goto joined_r0x001b0a40;\n    }" ({ "{") (labeled_statement "LAB_001b08e0:\n      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }" (statement_identifier "LAB_001b08e0") (: ":") (if_statement "if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }" (if "if") (parenthesized_expression "(((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0))" (( "(") (binary_expression "((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&\n         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)" (parenthesized_expression "((*(byte *)((long)param_4 + 0x39) & 3) == 0)" (( "(") (binary_expression "(*(byte *)((long)param_4 + 0x39) & 3) == 0" (parenthesized_expression "(*(byte *)((long)param_4 + 0x39) & 3)" (( "(") (binary_expression "*(byte *)((long)param_4 + 0x39) & 3" (pointer_expression "*(byte *)((long)param_4 + 0x39)" (* "*") (cast_expression "(byte *)((long)param_4 + 0x39)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_4 + 0x39)" (( "(") (binary_expression "(long)param_4 + 0x39" (cast_expression "(long)param_4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_4")) (+ "+") (number_literal "0x39")) () ")")))) (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)((long)param_4 + 0x3b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)param_4 + 0x3b) & 0x10)" (( "(") (binary_expression "*(byte *)((long)param_4 + 0x3b) & 0x10" (pointer_expression "*(byte *)((long)param_4 + 0x3b)" (* "*") (cast_expression "(byte *)((long)param_4 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_4 + 0x3b)" (( "(") (binary_expression "(long)param_4 + 0x3b" (cast_expression "(long)param_4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_4")) (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }\n      }" ({ "{") (expression_statement "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" (( "(") (binary_expression "PTR_DAT_0067cb08 + 0x10" (identifier "PTR_DAT_0067cb08") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar2 == 0) {\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }" (if "if") (parenthesized_expression "(lVar2 == 0)" (( "(") (binary_expression "lVar2 == 0" (identifier "lVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }" ({ "{") (labeled_statement "LAB_001b0a95:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (statement_identifier "LAB_001b0a95") (: ":") (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_00352af0") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";"))) (} "}"))) (if_statement "if (*(char *)(lVar2 + 0x2a61) != '\0') {\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }" (if "if") (parenthesized_expression "(*(char *)(lVar2 + 0x2a61) != '\0')" (( "(") (binary_expression "*(char *)(lVar2 + 0x2a61) != '\0'" (pointer_expression "*(char *)(lVar2 + 0x2a61)" (* "*") (cast_expression "(char *)(lVar2 + 0x2a61)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x2a61)" (( "(") (binary_expression "lVar2 + 0x2a61" (identifier "lVar2") (+ "+") (number_literal "0x2a61")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);\n          param_5 = param_5 & 0xffffffff;\n          if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }\n          goto LAB_001b07a2;\n        }" ({ "{") (expression_statement "cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);" (assignment_expression "cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89)" (identifier "cVar4") (= "=") (call_expression "FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89)" (identifier "FUN_0043a470") (argument_list "(lVar2 + 0x9120,*param_4,0,&local_89)" (( "(") (binary_expression "lVar2 + 0x9120" (identifier "lVar2") (+ "+") (number_literal "0x9120")) (, ",") (pointer_expression "*param_4" (* "*") (identifier "param_4")) (, ",") (number_literal "0") (, ",") (pointer_expression "&local_89" (& "&") (identifier "local_89")) () ")")))) (; ";")) (expression_statement "param_5 = param_5 & 0xffffffff;" (assignment_expression "param_5 = param_5 & 0xffffffff" (identifier "param_5") (= "=") (binary_expression "param_5 & 0xffffffff" (identifier "param_5") (& "&") (number_literal "0xffffffff"))) (; ";")) (if_statement "if ((cVar4 == '\0') || (local_89 != '\0')) {\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }" (if "if") (parenthesized_expression "((cVar4 == '\0') || (local_89 != '\0'))" (( "(") (binary_expression "(cVar4 == '\0') || (local_89 != '\0')" (parenthesized_expression "(cVar4 == '\0')" (( "(") (binary_expression "cVar4 == '\0'" (identifier "cVar4") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(local_89 != '\0')" (( "(") (binary_expression "local_89 != '\0'" (identifier "local_89") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n            if (lVar2 == 0) goto LAB_001b0a95;\n            if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;\n          }" ({ "{") (expression_statement "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" (( "(") (binary_expression "PTR_DAT_0067cb08 + 0x10" (identifier "PTR_DAT_0067cb08") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar2 == 0) goto LAB_001b0a95;" (if "if") (parenthesized_expression "(lVar2 == 0)" (( "(") (binary_expression "lVar2 == 0" (identifier "lVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001b0a95;" (goto "goto") (statement_identifier "LAB_001b0a95") (; ";"))) (if_statement "if ((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))\n            goto LAB_001b0980;" (if "if") (parenthesized_expression "((*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))" (( "(") (binary_expression "(*(char *)(lVar2 + 0xd21) != '\0') ||\n               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0')))" (parenthesized_expression "(*(char *)(lVar2 + 0xd21) != '\0')" (( "(") (binary_expression "*(char *)(lVar2 + 0xd21) != '\0'" (pointer_expression "*(char *)(lVar2 + 0xd21)" (* "*") (cast_expression "(char *)(lVar2 + 0xd21)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0xd21)" (( "(") (binary_expression "lVar2 + 0xd21" (identifier "lVar2") (+ "+") (number_literal "0xd21")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0')))" (( "(") (parenthesized_expression "((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))" (( "(") (binary_expression "(*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0')" (binary_expression "(*(byte *)(param_4 + 7) & 0xf) != 1" (parenthesized_expression "(*(byte *)(param_4 + 7) & 0xf)" (( "(") (binary_expression "*(byte *)(param_4 + 7) & 0xf" (pointer_expression "*(byte *)(param_4 + 7)" (* "*") (cast_expression "(byte *)(param_4 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 7)" (( "(") (binary_expression "param_4 + 7" (identifier "param_4") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (!= "!=") (number_literal "1")) (&& "&&") (parenthesized_expression "(*(char *)(lVar2 + 0xde9) != '\0')" (( "(") (binary_expression "*(char *)(lVar2 + 0xde9) != '\0'" (pointer_expression "*(char *)(lVar2 + 0xde9)" (* "*") (cast_expression "(char *)(lVar2 + 0xde9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0xde9)" (( "(") (binary_expression "lVar2 + 0xde9" (identifier "lVar2") (+ "+") (number_literal "0xde9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_001b0980;" (goto "goto") (statement_identifier "LAB_001b0980") (; ";"))) (} "}"))) (goto_statement "goto LAB_001b07a2;" (goto "goto") (statement_identifier "LAB_001b07a2") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_001b0980:\n      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);" (statement_identifier "LAB_001b0980") (: ":") (expression_statement "lVar5 = FUN_001ac6c0(param_1,param_2,param_3);" (assignment_expression "lVar5 = FUN_001ac6c0(param_1,param_2,param_3)" (identifier "lVar5") (= "=") (call_expression "FUN_001ac6c0(param_1,param_2,param_3)" (identifier "FUN_001ac6c0") (argument_list "(param_1,param_2,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")")))) (; ";"))) (expression_statement "lVar2 = *(long *)(param_1 + 0x60);" (assignment_expression "lVar2 = *(long *)(param_1 + 0x60)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(param_1 + 0x60)" (* "*") (cast_expression "(long *)(param_1 + 0x60)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);" (call_expression "FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0)" (identifier "FUN_003d73a0") (argument_list "(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0)" (( "(") (pointer_expression "&local_88" (& "&") (identifier "local_88")) (, ",") (identifier "param_4") (, ",") (number_literal "0x25") (, ",") (identifier "lVar2") (, ",") (binary_expression "param_5 & 0xffffffff" (identifier "param_5") (& "&") (number_literal "0xffffffff")) (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3 = *(undefined8 **)(lVar5 + 0x50);" (assignment_expression "puVar3 = *(undefined8 **)(lVar5 + 0x50)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined8 **)(lVar5 + 0x50)" (* "*") (cast_expression "(undefined8 **)(lVar5 + 0x50)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar5 + 0x50)" (( "(") (binary_expression "lVar5 + 0x50" (identifier "lVar5") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (if_statement "if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }\n      else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }" (if "if") (parenthesized_expression "(puVar3 == *(undefined8 **)(lVar5 + 0x58))" (( "(") (binary_expression "puVar3 == *(undefined8 **)(lVar5 + 0x58)" (identifier "puVar3") (== "==") (pointer_expression "*(undefined8 **)(lVar5 + 0x58)" (* "*") (cast_expression "(undefined8 **)(lVar5 + 0x58)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar5 + 0x58)" (( "(") (binary_expression "lVar5 + 0x58" (identifier "lVar5") (+ "+") (number_literal "0x58")) () ")"))))) () ")")) (compound_statement "{\n        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);\n        puVar7 = *(undefined8 **)(lVar5 + 0x50);\n      }" ({ "{") (expression_statement "FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);" (call_expression "FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8)" (identifier "FUN_001c12c0") (argument_list "(lVar5 + 0x48,puVar3,&local_88,uVar8)" (( "(") (binary_expression "lVar5 + 0x48" (identifier "lVar5") (+ "+") (number_literal "0x48")) (, ",") (identifier "puVar3") (, ",") (pointer_expression "&local_88" (& "&") (identifier "local_88")) (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "puVar7 = *(undefined8 **)(lVar5 + 0x50);" (assignment_expression "puVar7 = *(undefined8 **)(lVar5 + 0x50)" (identifier "puVar7") (= "=") (pointer_expression "*(undefined8 **)(lVar5 + 0x50)" (* "*") (cast_expression "(undefined8 **)(lVar5 + 0x50)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar5 + 0x50)" (( "(") (binary_expression "lVar5 + 0x50" (identifier "lVar5") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }" (else "else") (compound_statement "{\n        puVar7 = puVar3 + 5;\n        *puVar3 = local_88;\n        puVar3[1] = lStack_80;\n        puVar3[2] = local_78;\n        puVar3[3] = CONCAT44(iStack_6c,uStack_70);\n        puVar3[4] = (ulong)uStack_64 << 0x20;\n        *(undefined8 **)(lVar5 + 0x50) = puVar7;\n      }" ({ "{") (expression_statement "puVar7 = puVar3 + 5;" (assignment_expression "puVar7 = puVar3 + 5" (identifier "puVar7") (= "=") (binary_expression "puVar3 + 5" (identifier "puVar3") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "*puVar3 = local_88;" (assignment_expression "*puVar3 = local_88" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (identifier "local_88")) (; ";")) (expression_statement "puVar3[1] = lStack_80;" (assignment_expression "puVar3[1] = lStack_80" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "lStack_80")) (; ";")) (expression_statement "puVar3[2] = local_78;" (assignment_expression "puVar3[2] = local_78" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_78")) (; ";")) (expression_statement "puVar3[3] = CONCAT44(iStack_6c,uStack_70);" (assignment_expression "puVar3[3] = CONCAT44(iStack_6c,uStack_70)" (subscript_expression "puVar3[3]" (identifier "puVar3") ([ "[") (number_literal "3") (] "]")) (= "=") (call_expression "CONCAT44(iStack_6c,uStack_70)" (identifier "CONCAT44") (argument_list "(iStack_6c,uStack_70)" (( "(") (identifier "iStack_6c") (, ",") (identifier "uStack_70") () ")")))) (; ";")) (expression_statement "puVar3[4] = (ulong)uStack_64 << 0x20;" (assignment_expression "puVar3[4] = (ulong)uStack_64 << 0x20" (subscript_expression "puVar3[4]" (identifier "puVar3") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "(ulong)uStack_64 << 0x20" (cast_expression "(ulong)uStack_64" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uStack_64")) (<< "<<") (number_literal "0x20"))) (; ";")) (expression_statement "*(undefined8 **)(lVar5 + 0x50) = puVar7;" (assignment_expression "*(undefined8 **)(lVar5 + 0x50) = puVar7" (pointer_expression "*(undefined8 **)(lVar5 + 0x50)" (* "*") (cast_expression "(undefined8 **)(lVar5 + 0x50)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar5 + 0x50)" (( "(") (binary_expression "lVar5 + 0x50" (identifier "lVar5") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (identifier "puVar7")) (; ";")) (} "}")))) (expression_statement "lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;" (assignment_expression "lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3" (identifier "lVar6") (= "=") (binary_expression "(long)puVar7 - *(long *)(lVar5 + 0x48) >> 3" (binary_expression "(long)puVar7 - *(long *)(lVar5 + 0x48)" (cast_expression "(long)puVar7" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar7")) (- "-") (pointer_expression "*(long *)(lVar5 + 0x48)" (* "*") (cast_expression "(long *)(lVar5 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x48)" (( "(") (binary_expression "lVar5 + 0x48" (identifier "lVar5") (+ "+") (number_literal "0x48")) () ")"))))) (>> ">>") (number_literal "3"))) (; ";")) (if_statement "if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;" (if "if") (parenthesized_expression "((*(byte *)(lVar5 + 0x20) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(lVar5 + 0x20) & 2) != 0" (parenthesized_expression "(*(byte *)(lVar5 + 0x20) & 2)" (( "(") (binary_expression "*(byte *)(lVar5 + 0x20) & 2" (pointer_expression "*(byte *)(lVar5 + 0x20)" (* "*") (cast_expression "(byte *)(lVar5 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x20)" (( "(") (binary_expression "lVar5 + 0x20" (identifier "lVar5") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001b0a7d;" (goto "goto") (statement_identifier "LAB_001b0a7d") (; ";"))) (expression_statement "*(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;" (assignment_expression "*(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664" (pointer_expression "*(long *)(lVar5 + 0x10)" (* "*") (cast_expression "(long *)(lVar5 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x10)" (( "(") (binary_expression "lVar5 + 0x10" (identifier "lVar5") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "lVar6 * -0x6666666666666664" (identifier "lVar6") (* "*") (number_literal "-0x6666666666666664"))) (; ";")) (expression_statement "pbVar1 = (byte *)(lVar2 + 0x20);" (assignment_expression "pbVar1 = (byte *)(lVar2 + 0x20)" (identifier "pbVar1") (= "=") (cast_expression "(byte *)(lVar2 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x20)" (( "(") (binary_expression "lVar2 + 0x20" (identifier "lVar2") (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (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 ((uStack_70 & 0x10000000) != 0) {\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }" (if "if") (parenthesized_expression "((uStack_70 & 0x10000000) != 0)" (( "(") (binary_expression "(uStack_70 & 0x10000000) != 0" (parenthesized_expression "(uStack_70 & 0x10000000)" (( "(") (binary_expression "uStack_70 & 0x10000000" (identifier "uStack_70") (& "&") (number_literal "0x10000000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;\n      }" ({ "{") (expression_statement "*(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;" (assignment_expression "*(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1" (pointer_expression "*(long *)(lVar5 + 0x38)" (* "*") (cast_expression "(long *)(lVar5 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x38)" (( "(") (binary_expression "lVar5 + 0x38" (identifier "lVar5") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (binary_expression "*(long *)(lVar5 + 0x38) + 1" (pointer_expression "*(long *)(lVar5 + 0x38)" (* "*") (cast_expression "(long *)(lVar5 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x38)" (( "(") (binary_expression "lVar5 + 0x38" (identifier "lVar5") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (goto_statement "goto joined_r0x001b0a40;" (goto "goto") (statement_identifier "joined_r0x001b0a40") (; ";")) (} "}"))))) (} "}"))) (labeled_statement "LAB_001b07a2:\n  *(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40;" (statement_identifier "LAB_001b07a2") (: ":") (expression_statement "*(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40;" (assignment_expression "*(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40" (pointer_expression "*(byte *)((long)param_4 + 0x3a)" (* "*") (cast_expression "(byte *)((long)param_4 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_4 + 0x3a)" (( "(") (binary_expression "(long)param_4 + 0x3a" (cast_expression "(long)param_4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_4")) (+ "+") (number_literal "0x3a")) () ")")))) (= "=") (binary_expression "*(byte *)((long)param_4 + 0x3a) | 0x40" (pointer_expression "*(byte *)((long)param_4 + 0x3a)" (* "*") (cast_expression "(byte *)((long)param_4 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_4 + 0x3a)" (( "(") (binary_expression "(long)param_4 + 0x3a" (cast_expression "(long)param_4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_4")) (+ "+") (number_literal "0x3a")) () ")")))) (| "|") (number_literal "0x40"))) (; ";"))) (expression_statement "lVar2 = *(long *)(param_1 + 0x38);" (assignment_expression "lVar2 = *(long *)(param_1 + 0x38)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "lVar5 = *(long *)(param_1 + 0x58);" (assignment_expression "lVar5 = *(long *)(param_1 + 0x58)" (identifier "lVar5") (= "=") (pointer_expression "*(long *)(param_1 + 0x58)" (* "*") (cast_expression "(long *)(param_1 + 0x58)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x58)" (( "(") (binary_expression "param_1 + 0x58" (identifier "param_1") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "FUN_003d73a0(&local_58,param_4,7,lVar5,param_5,0,0,0);" (call_expression "FUN_003d73a0(&local_58,param_4,7,lVar5,param_5,0,0,0)" (identifier "FUN_003d73a0") (argument_list "(&local_58,param_4,7,lVar5,param_5,0,0,0)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (identifier "param_4") (, ",") (number_literal "7") (, ",") (identifier "lVar5") (, ",") (identifier "param_5") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar3 = *(undefined8 **)(lVar2 + 0x50);" (assignment_expression "puVar3 = *(undefined8 **)(lVar2 + 0x50)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined8 **)(lVar2 + 0x50)" (* "*") (cast_expression "(undefined8 **)(lVar2 + 0x50)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar2 + 0x50)" (( "(") (binary_expression "lVar2 + 0x50" (identifier "lVar2") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar3 == *(undefined8 **)(lVar2 + 0x58)) {\n    FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);\n    puVar7 = *(undefined8 **)(lVar2 + 0x50);\n  }\n  else {\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }" (if "if") (parenthesized_expression "(puVar3 == *(undefined8 **)(lVar2 + 0x58))" (( "(") (binary_expression "puVar3 == *(undefined8 **)(lVar2 + 0x58)" (identifier "puVar3") (== "==") (pointer_expression "*(undefined8 **)(lVar2 + 0x58)" (* "*") (cast_expression "(undefined8 **)(lVar2 + 0x58)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar2 + 0x58)" (( "(") (binary_expression "lVar2 + 0x58" (identifier "lVar2") (+ "+") (number_literal "0x58")) () ")"))))) () ")")) (compound_statement "{\n    FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);\n    puVar7 = *(undefined8 **)(lVar2 + 0x50);\n  }" ({ "{") (expression_statement "FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);" (call_expression "FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58)" (identifier "FUN_001c12c0") (argument_list "(lVar2 + 0x48,puVar3,&local_58)" (( "(") (binary_expression "lVar2 + 0x48" (identifier "lVar2") (+ "+") (number_literal "0x48")) (, ",") (identifier "puVar3") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (expression_statement "puVar7 = *(undefined8 **)(lVar2 + 0x50);" (assignment_expression "puVar7 = *(undefined8 **)(lVar2 + 0x50)" (identifier "puVar7") (= "=") (pointer_expression "*(undefined8 **)(lVar2 + 0x50)" (* "*") (cast_expression "(undefined8 **)(lVar2 + 0x50)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar2 + 0x50)" (( "(") (binary_expression "lVar2 + 0x50" (identifier "lVar2") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }" (else "else") (compound_statement "{\n    puVar7 = puVar3 + 5;\n    *puVar3 = local_58;\n    puVar3[1] = lStack_50;\n    puVar3[2] = local_48;\n    puVar3[3] = CONCAT44(iStack_3c,uStack_40);\n    puVar3[4] = (ulong)uStack_34 << 0x20;\n    *(undefined8 **)(lVar2 + 0x50) = puVar7;\n  }" ({ "{") (expression_statement "puVar7 = puVar3 + 5;" (assignment_expression "puVar7 = puVar3 + 5" (identifier "puVar7") (= "=") (binary_expression "puVar3 + 5" (identifier "puVar3") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "*puVar3 = local_58;" (assignment_expression "*puVar3 = local_58" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (identifier "local_58")) (; ";")) (expression_statement "puVar3[1] = lStack_50;" (assignment_expression "puVar3[1] = lStack_50" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "lStack_50")) (; ";")) (expression_statement "puVar3[2] = local_48;" (assignment_expression "puVar3[2] = local_48" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "puVar3[3] = CONCAT44(iStack_3c,uStack_40);" (assignment_expression "puVar3[3] = CONCAT44(iStack_3c,uStack_40)" (subscript_expression "puVar3[3]" (identifier "puVar3") ([ "[") (number_literal "3") (] "]")) (= "=") (call_expression "CONCAT44(iStack_3c,uStack_40)" (identifier "CONCAT44") (argument_list "(iStack_3c,uStack_40)" (( "(") (identifier "iStack_3c") (, ",") (identifier "uStack_40") () ")")))) (; ";")) (expression_statement "puVar3[4] = (ulong)uStack_34 << 0x20;" (assignment_expression "puVar3[4] = (ulong)uStack_34 << 0x20" (subscript_expression "puVar3[4]" (identifier "puVar3") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "(ulong)uStack_34 << 0x20" (cast_expression "(ulong)uStack_34" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uStack_34")) (<< "<<") (number_literal "0x20"))) (; ";")) (expression_statement "*(undefined8 **)(lVar2 + 0x50) = puVar7;" (assignment_expression "*(undefined8 **)(lVar2 + 0x50) = puVar7" (pointer_expression "*(undefined8 **)(lVar2 + 0x50)" (* "*") (cast_expression "(undefined8 **)(lVar2 + 0x50)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar2 + 0x50)" (( "(") (binary_expression "lVar2 + 0x50" (identifier "lVar2") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (identifier "puVar7")) (; ";")) (} "}")))) (expression_statement "lVar6 = (long)puVar7 - *(long *)(lVar2 + 0x48) >> 3;" (assignment_expression "lVar6 = (long)puVar7 - *(long *)(lVar2 + 0x48) >> 3" (identifier "lVar6") (= "=") (binary_expression "(long)puVar7 - *(long *)(lVar2 + 0x48) >> 3" (binary_expression "(long)puVar7 - *(long *)(lVar2 + 0x48)" (cast_expression "(long)puVar7" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar7")) (- "-") (pointer_expression "*(long *)(lVar2 + 0x48)" (* "*") (cast_expression "(long *)(lVar2 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x48)" (( "(") (binary_expression "lVar2 + 0x48" (identifier "lVar2") (+ "+") (number_literal "0x48")) () ")"))))) (>> ">>") (number_literal "3"))) (; ";")) (if_statement "if ((*(byte *)(lVar2 + 0x20) & 2) != 0) {\nLAB_001b0a7d:\n                    \n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }" (if "if") (parenthesized_expression "((*(byte *)(lVar2 + 0x20) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(lVar2 + 0x20) & 2) != 0" (parenthesized_expression "(*(byte *)(lVar2 + 0x20) & 2)" (( "(") (binary_expression "*(byte *)(lVar2 + 0x20) & 2" (pointer_expression "*(byte *)(lVar2 + 0x20)" (* "*") (cast_expression "(byte *)(lVar2 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x20)" (( "(") (binary_expression "lVar2 + 0x20" (identifier "lVar2") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001b0a7d:\n                    \n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n  }" ({ "{") (labeled_statement "LAB_001b0a7d:\n                    \n    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");" (statement_identifier "LAB_001b0a7d") (: ":") (expression_statement "FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" (( "(") (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") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "*(long *)(lVar2 + 0x10) = lVar6 * -0x6666666666666664;" (assignment_expression "*(long *)(lVar2 + 0x10) = lVar6 * -0x6666666666666664" (pointer_expression "*(long *)(lVar2 + 0x10)" (* "*") (cast_expression "(long *)(lVar2 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x10)" (( "(") (binary_expression "lVar2 + 0x10" (identifier "lVar2") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "lVar6 * -0x6666666666666664" (identifier "lVar6") (* "*") (number_literal "-0x6666666666666664"))) (; ";")) (expression_statement "pbVar1 = (byte *)(lVar5 + 0x20);" (assignment_expression "pbVar1 = (byte *)(lVar5 + 0x20)" (identifier "pbVar1") (= "=") (cast_expression "(byte *)(lVar5 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x20)" (( "(") (binary_expression "lVar5 + 0x20" (identifier "lVar5") (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (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 "lStack_80 = lStack_50;" (assignment_expression "lStack_80 = lStack_50" (identifier "lStack_80") (= "=") (identifier "lStack_50")) (; ";")) (expression_statement "iStack_6c = iStack_3c;" (assignment_expression "iStack_6c = iStack_3c" (identifier "iStack_6c") (= "=") (identifier "iStack_3c")) (; ";")) (if_statement "if ((uStack_40 & 0x10000000) != 0) {\n    *(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;\n  }" (if "if") (parenthesized_expression "((uStack_40 & 0x10000000) != 0)" (( "(") (binary_expression "(uStack_40 & 0x10000000) != 0" (parenthesized_expression "(uStack_40 & 0x10000000)" (( "(") (binary_expression "uStack_40 & 0x10000000" (identifier "uStack_40") (& "&") (number_literal "0x10000000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;\n  }" ({ "{") (expression_statement "*(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;" (assignment_expression "*(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1" (pointer_expression "*(long *)(lVar2 + 0x38)" (* "*") (cast_expression "(long *)(lVar2 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x38)" (( "(") (binary_expression "lVar2 + 0x38" (identifier "lVar2") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (binary_expression "*(long *)(lVar2 + 0x38) + 1" (pointer_expression "*(long *)(lVar2 + 0x38)" (* "*") (cast_expression "(long *)(lVar2 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x38)" (( "(") (binary_expression "lVar2 + 0x38" (identifier "lVar2") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (labeled_statement "joined_r0x001b0a40:\n  if ((iStack_6c != -4) && (lStack_80 != 0)) {\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }" (statement_identifier "joined_r0x001b0a40") (: ":") (if_statement "if ((iStack_6c != -4) && (lStack_80 != 0)) {\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }" (if "if") (parenthesized_expression "((iStack_6c != -4) && (lStack_80 != 0))" (( "(") (binary_expression "(iStack_6c != -4) && (lStack_80 != 0)" (parenthesized_expression "(iStack_6c != -4)" (( "(") (binary_expression "iStack_6c != -4" (identifier "iStack_6c") (!= "!=") (number_literal "-4")) () ")")) (&& "&&") (parenthesized_expression "(lStack_80 != 0)" (( "(") (binary_expression "lStack_80 != 0" (identifier "lStack_80") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }\n    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;\n  }" ({ "{") (if_statement "if (*(int *)(lStack_80 + 0xa4) == 0) {\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }" (if "if") (parenthesized_expression "(*(int *)(lStack_80 + 0xa4) == 0)" (( "(") (binary_expression "*(int *)(lStack_80 + 0xa4) == 0" (pointer_expression "*(int *)(lStack_80 + 0xa4)" (* "*") (cast_expression "(int *)(lStack_80 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lStack_80 + 0xa4)" (( "(") (binary_expression "lStack_80 + 0xa4" (identifier "lStack_80") (+ "+") (number_literal "0xa4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;\n    }" ({ "{") (expression_statement "*(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;" (assignment_expression "*(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1" (pointer_expression "*(int *)(lStack_80 + 0xa0)" (* "*") (cast_expression "(int *)(lStack_80 + 0xa0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lStack_80 + 0xa0)" (( "(") (binary_expression "lStack_80 + 0xa0" (identifier "lStack_80") (+ "+") (number_literal "0xa0")) () ")")))) (= "=") (binary_expression "(int)lVar6 * -0x33333333 + -1" (binary_expression "(int)lVar6 * -0x33333333" (cast_expression "(int)lVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar6")) (* "*") (number_literal "-0x33333333")) (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (expression_statement "*(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;" (assignment_expression "*(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1" (pointer_expression "*(int *)(lStack_80 + 0xa4)" (* "*") (cast_expression "(int *)(lStack_80 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lStack_80 + 0xa4)" (( "(") (binary_expression "lStack_80 + 0xa4" (identifier "lStack_80") (+ "+") (number_literal "0xa4")) () ")")))) (= "=") (binary_expression "*(int *)(lStack_80 + 0xa4) + 1" (pointer_expression "*(int *)(lStack_80 + 0xa4)" (* "*") (cast_expression "(int *)(lStack_80 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lStack_80 + 0xa4)" (( "(") (binary_expression "lStack_80 + 0xa4" (identifier "lStack_80") (+ "+") (number_literal "0xa4")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* 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_358c2b::type_1<32>::function_1
          (type_1<32> *this,type_2 *symtab,type_3 *layout,type_4 *gsym,
          type_5 got_offset)

{
  size_t *psVar1;
  type_6 *puVar2;
  type_5 var_20;
  type_7 *od;
  type_8 iVar4;
  type_9 *var_7;
  type_10 *od_00;
  bool bVar6;
  type_11 *pRVar7;
  long var_14;
  var_1<4,_true,_32,var_2> *pOVar9;
  bool var_10;
  type_12 var_12;
  var_3<32,var_2> *var_19;
  type_13 local_78;
  type_5 var_15;
  int var_18;
  type_14 local_68;
  type_5 uStack_64;
  type_12 var_16;
  var_3<32,var_2> *pSStack_50;
  type_13 local_48;
  type_5 var_17;
  int iStack_3c;
  type_14 local_38;
  type_5 uStack_34;
  
  if ((gsym->field_0x38 & 0xf) == 10) {
    if ((gsym->field_0x3a & 7) == 0) {
      if ((((type_17)((gsym->u1_).output_segment)->output_lists_[2].
                   super__Vector_base<var_4::type_16*,var_5::allocator<var_4::type_16*>var_6>.
                   _M_impl._M_finish & 0x100000000) == 0) &&
         (((gsym->u2_).shndx != 0 || ((gsym->field_0x3b & 0x20) == 0)))) goto LAB_001b08e0;
    }
    else if ((gsym->field_0x3a & 7) != 4) {
LAB_001b08e0:
      if (((gsym->field_0x39 & 3) == 0) && ((gsym->field_0x3b & 0x10) == 0)) {
        var_7 = var_4::parameters->options_;
        if (var_7 == (type_9 *)0x0) {
LAB_001b0a95:
                    /* WARNING: Subroutine does not return */
          gold::var_8("../../gold/parameters.h",0x5c,"options");
        }
        if ((var_7->shared_).value != false) {
          bVar6 = var_4::Version_script_info::var_9
                            (&(var_7->dynamic_list_).version_script_info_,gsym->name_,(type_15 *)0x0
                             ,&var_10);
          if ((!bVar6) || (var_10 != false)) {
            var_7 = var_4::parameters->options_;
            if (var_7 == (type_9 *)0x0) goto LAB_001b0a95;
            if (((var_7->Bsymbolic_).value != false) ||
               (((gsym->field_0x38 & 0xf) != 1 && ((var_7->Bsymbolic_functions_).value != false))))
            goto LAB_001b0980;
          }
          goto LAB_001b07a2;
        }
      }
LAB_001b0980:
      pRVar7 = var_11(this,symtab,layout);
      od_00 = this->got_irelative_;
      gold::var_1<9,_true,_32,var_2>::var_1
                ((var_1<9,_true,_32,var_2> *)&var_12,gsym,0x25,(type_16 *)od_00,
                 got_offset,false,true,false);
      local_68 = 0;
      iVar4._M_current =
           (pRVar7->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_.
           super__Vector_base<var_4::var_1<4,_true,_32,var_2>,var_5::allocator<var_4::var_1<4,_true,_32,var_2>var_6>var_6>
           ._M_impl._M_finish;
      if (iVar4._M_current ==
          (pRVar7->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_.
          super__Vector_base<var_4::var_1<4,_true,_32,var_2>,var_5::allocator<var_4::var_1<4,_true,_32,var_2>var_6>var_6>
          ._M_impl._M_end_of_storage) {
        std::
        vector<var_4::var_1<4,_true,_32,var_2>,var_5::allocator<var_4::var_1<4,_true,_32,var_2>var_6>var_6>
        ::_M_realloc_insert<const_gold::var_1<4,_true,_32,var_2>&>
                  (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_,iVar4,
                   (var_1<4,_true,_32,var_2> *)&var_12);
        pOVar9 = (pRVar7->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_.
                 super__Vector_base<var_4::var_1<4,_true,_32,var_2>,var_5::allocator<var_4::var_1<4,_true,_32,var_2>var_6>var_6>
                 ._M_impl._M_finish;
      }
      else {
        pOVar9 = iVar4._M_current + 1;
        ((iVar4._M_current)->rel_).u1_ = var_12;
        ((iVar4._M_current)->rel_).u2_.relobj = var_19;
        ((iVar4._M_current)->rel_).address_ = (type_14)local_78;
        ((iVar4._M_current)->rel_).local_sym_index_ = local_78._4_4_;
        *(type_17 *)&((iVar4._M_current)->rel_).field_0x18 = var_13(var_18,var_15);
        *(type_17 *)&(iVar4._M_current)->addend_ = (type_17)uStack_64 << 0x20;
        (pRVar7->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_.
        super__Vector_base<var_4::var_1<4,_true,_32,var_2>,var_5::allocator<var_4::var_1<4,_true,_32,var_2>var_6>var_6>
        ._M_impl._M_finish = pOVar9;
      }
      var_14 = (long)pOVar9 -
              (long)(pRVar7->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_.
                    super__Vector_base<var_4::var_1<4,_true,_32,var_2>,var_5::allocator<var_4::var_1<4,_true,_32,var_2>var_6>var_6>
                    ._M_impl._M_start >> 3;
      if (((pRVar7->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_0x20 & 2) != 0) goto LAB_001b0a7d;
      (pRVar7->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_14 * -0x6666666666666664;
      puVar2 = &(od_00->super_Output_section_data_build).super_Output_section_data.super_Output_data
                .field_0x20;
      *puVar2 = *puVar2 | 0x10;
      if ((var_15 & 0x10000000) != 0) {
        psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,var_2>).
                  super_Output_data_reloc_generic.relative_reloc_count_;
        *psVar1 = *psVar1 + 1;
      }
      goto joined_r0x001b0a40;
    }
  }
LAB_001b07a2:
  gsym->field_0x3a = gsym->field_0x3a | 0x40;
  pRVar7 = this->rel_;
  od = this->got_plt_;
  gold::var_1<9,_true,_32,var_2>::var_1
            ((var_1<9,_true,_32,var_2> *)&var_16,gsym,7,(type_16 *)od,got_offset,false
             ,false,false);
  iVar4._M_current =
       (pRVar7->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_.
       super__Vector_base<var_4::var_1<4,_true,_32,var_2>,var_5::allocator<var_4::var_1<4,_true,_32,var_2>var_6>var_6>
       ._M_impl._M_finish;
  local_38 = 0;
  if (iVar4._M_current ==
      (pRVar7->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_.
      super__Vector_base<var_4::var_1<4,_true,_32,var_2>,var_5::allocator<var_4::var_1<4,_true,_32,var_2>var_6>var_6>
      ._M_impl._M_end_of_storage) {
    std::
    vector<var_4::var_1<4,_true,_32,var_2>,var_5::allocator<var_4::var_1<4,_true,_32,var_2>var_6>var_6>
    ::_M_realloc_insert<const_gold::var_1<4,_true,_32,var_2>&>
              (&(pRVar7->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_,iVar4,
               (var_1<4,_true,_32,var_2> *)&var_16);
    pOVar9 = (pRVar7->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_.
             super__Vector_base<var_4::var_1<4,_true,_32,var_2>,var_5::allocator<var_4::var_1<4,_true,_32,var_2>var_6>var_6>
             ._M_impl._M_finish;
  }
  else {
    pOVar9 = iVar4._M_current + 1;
    ((iVar4._M_current)->rel_).u1_ = var_16;
    ((iVar4._M_current)->rel_).u2_.relobj = pSStack_50;
    ((iVar4._M_current)->rel_).address_ = (type_14)local_48;
    ((iVar4._M_current)->rel_).local_sym_index_ = local_48._4_4_;
    *(type_17 *)&((iVar4._M_current)->rel_).field_0x18 = var_13(iStack_3c,var_17);
    *(type_17 *)&(iVar4._M_current)->addend_ = (type_17)uStack_34 << 0x20;
    (pRVar7->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_.
    super__Vector_base<var_4::var_1<4,_true,_32,var_2>,var_5::allocator<var_4::var_1<4,_true,_32,var_2>var_6>var_6>
    ._M_impl._M_finish = pOVar9;
  }
  var_14 = (long)pOVar9 -
          (long)(pRVar7->super_Output_data_reloc_base<4,_true,_32,var_2>).relocs_.
                super__Vector_base<var_4::var_1<4,_true,_32,var_2>,var_5::allocator<var_4::var_1<4,_true,_32,var_2>var_6>var_6>
                ._M_impl._M_start >> 3;
  if (((pRVar7->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_0x20 & 2)
      != 0) {
LAB_001b0a7d:
                    /* WARNING: Subroutine does not return */
    gold::var_8("../../gold/output.h",0x231,"set_current_data_size_for_child");
  }
  (pRVar7->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_14 * -0x6666666666666664;
  puVar2 = &(od->super_Output_section_data_build).super_Output_section_data.super_Output_data.
            field_0x20;
  *puVar2 = *puVar2 | 0x10;
  var_19 = pSStack_50;
  var_18 = iStack_3c;
  if ((var_17 & 0x10000000) != 0) {
    psVar1 = &(pRVar7->super_Output_data_reloc_base<4,_true,_32,var_2>).
              super_Output_data_reloc_generic.relative_reloc_count_;
    *psVar1 = *psVar1 + 1;
  }
joined_r0x001b0a40:
  if ((var_18 != -4) && (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_ = (int)var_14 * -0x33333333 - 1;
    }
    (var_19->super_Relobj).dyn_reloc_count_ = var_20 + 1;
  }
  return;
}


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

void MASKED(long param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4,
                 ulong param_5)

{
  byte *pbVar1;
  long lVar2;
  undefined8 *puVar3;
  char cVar4;
  long lVar5;
  long lVar6;
  undefined8 *puVar7;
  undefined8 uVar8;
  char local_89;
  undefined8 local_88;
  long lStack_80;
  undefined8 local_78;
  uint uStack_70;
  int iStack_6c;
  undefined4 local_68;
  uint uStack_64;
  undefined8 local_58;
  long lStack_50;
  undefined8 local_48;
  uint uStack_40;
  int iStack_3c;
  undefined4 local_38;
  uint uStack_34;
  
  if ((*(byte *)(param_4 + 7) & 0xf) == 10) {
    if ((*(byte *)((long)param_4 + 0x3a) & 7) == 0) {
      if (((*(byte *)(param_4[2] + 0x3c) & 1) == 0) &&
         ((*(int *)(param_4 + 3) != 0 || ((*(byte *)((long)param_4 + 0x3b) & 0x20) == 0))))
      goto LAB_001b08e0;
    }
    else if ((*(byte *)((long)param_4 + 0x3a) & 7) != 4) {
LAB_001b08e0:
      if (((*(byte *)((long)param_4 + 0x39) & 3) == 0) &&
         ((*(byte *)((long)param_4 + 0x3b) & 0x10) == 0)) {
        lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);
        if (lVar2 == 0) {
LAB_001b0a95:
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/parameters.h",0x5c,"options");
        }
        if (*(char *)(lVar2 + 0x2a61) != '\0') {
          cVar4 = FUN_0043a470(lVar2 + 0x9120,*param_4,0,&local_89);
          param_5 = param_5 & 0xffffffff;
          if ((cVar4 == '\0') || (local_89 != '\0')) {
            lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);
            if (lVar2 == 0) goto LAB_001b0a95;
            if ((*(char *)(lVar2 + 0xd21) != '\0') ||
               (((*(byte *)(param_4 + 7) & 0xf) != 1 && (*(char *)(lVar2 + 0xde9) != '\0'))))
            goto LAB_001b0980;
          }
          goto LAB_001b07a2;
        }
      }
LAB_001b0980:
      lVar5 = FUN_001ac6c0(param_1,param_2,param_3);
      lVar2 = *(long *)(param_1 + 0x60);
      uVar8 = 1;
      FUN_003d73a0(&local_88,param_4,0x25,lVar2,param_5 & 0xffffffff,0,1,0);
      local_68 = 0;
      puVar3 = *(undefined8 **)(lVar5 + 0x50);
      if (puVar3 == *(undefined8 **)(lVar5 + 0x58)) {
        FUN_001c12c0(lVar5 + 0x48,puVar3,&local_88,uVar8);
        puVar7 = *(undefined8 **)(lVar5 + 0x50);
      }
      else {
        puVar7 = puVar3 + 5;
        *puVar3 = local_88;
        puVar3[1] = lStack_80;
        puVar3[2] = local_78;
        puVar3[3] = CONCAT44(iStack_6c,uStack_70);
        puVar3[4] = (ulong)uStack_64 << 0x20;
        *(undefined8 **)(lVar5 + 0x50) = puVar7;
      }
      lVar6 = (long)puVar7 - *(long *)(lVar5 + 0x48) >> 3;
      if ((*(byte *)(lVar5 + 0x20) & 2) != 0) goto LAB_001b0a7d;
      *(long *)(lVar5 + 0x10) = lVar6 * -0x6666666666666664;
      pbVar1 = (byte *)(lVar2 + 0x20);
      *pbVar1 = *pbVar1 | 0x10;
      if ((uStack_70 & 0x10000000) != 0) {
        *(long *)(lVar5 + 0x38) = *(long *)(lVar5 + 0x38) + 1;
      }
      goto joined_r0x001b0a40;
    }
  }
LAB_001b07a2:
  *(byte *)((long)param_4 + 0x3a) = *(byte *)((long)param_4 + 0x3a) | 0x40;
  lVar2 = *(long *)(param_1 + 0x38);
  lVar5 = *(long *)(param_1 + 0x58);
  FUN_003d73a0(&local_58,param_4,7,lVar5,param_5,0,0,0);
  puVar3 = *(undefined8 **)(lVar2 + 0x50);
  local_38 = 0;
  if (puVar3 == *(undefined8 **)(lVar2 + 0x58)) {
    FUN_001c12c0(lVar2 + 0x48,puVar3,&local_58);
    puVar7 = *(undefined8 **)(lVar2 + 0x50);
  }
  else {
    puVar7 = puVar3 + 5;
    *puVar3 = local_58;
    puVar3[1] = lStack_50;
    puVar3[2] = local_48;
    puVar3[3] = CONCAT44(iStack_3c,uStack_40);
    puVar3[4] = (ulong)uStack_34 << 0x20;
    *(undefined8 **)(lVar2 + 0x50) = puVar7;
  }
  lVar6 = (long)puVar7 - *(long *)(lVar2 + 0x48) >> 3;
  if ((*(byte *)(lVar2 + 0x20) & 2) != 0) {
LAB_001b0a7d:
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");
  }
  *(long *)(lVar2 + 0x10) = lVar6 * -0x6666666666666664;
  pbVar1 = (byte *)(lVar5 + 0x20);
  *pbVar1 = *pbVar1 | 0x10;
  lStack_80 = lStack_50;
  iStack_6c = iStack_3c;
  if ((uStack_40 & 0x10000000) != 0) {
    *(long *)(lVar2 + 0x38) = *(long *)(lVar2 + 0x38) + 1;
  }
joined_r0x001b0a40:
  if ((iStack_6c != -4) && (lStack_80 != 0)) {
    if (*(int *)(lStack_80 + 0xa4) == 0) {
      *(int *)(lStack_80 + 0xa0) = (int)lVar6 * -0x33333333 + -1;
    }
    *(int *)(lStack_80 + 0xa4) = *(int *)(lStack_80 + 0xa4) + 1;
  }
  return;
}

