
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original prototype: void write_got_plt(Output_section_incremental_inputs<32,_false> * this,
   uchar * pov, off_t view_size) */

void __thiscall
gold::Output_section_incremental_inputs<32,_false>::write_got_plt
          (Output_section_incremental_inputs<32,_false> *this,uchar *pov,off_t view_size)

{
  char *pcVar1;
  int iVar2;
  uint *global_syms;
  uint uVar3;
  uchar *puVar4;
  _func_int_varargs **pp_Var5;
  _Hash_node_base *p_Var6;
  Output_data_space *pOVar7;
  uint uVar8;
  uint *puVar9;
  uint extraout_v1;
  Output_section_incremental_inputs<32,_false> *this_00;
  int iVar10;
  int *piVar11;
  undefined4 uVar12;
  int iVar13;
  _Hash_node_base *p_Var14;
  int iVar15;
  int in_a3;
  int iVar16;
  _Hash_node_base *p_Var17;
  _Hash_node_base *in_t1;
  Stringpool *strtab;
  int *piVar18;
  pointer ppIVar19;
  int *piVar20;
  uchar *oview;
  Output_section_incremental_inputs<32,_false> *unaff_s4;
  int unaff_s6;
  code *pcVar21;
  code *pcVar22;
  int iVar23;
  Incremental_inputs *pIVar24;
  uint uVar25;
  uint uVar26;
  int iVar27;
  undefined4 in_stack_ffffffac;
  Got_plt_view_info view_info;
  Got_visitor v;
  
  iVar23 = 0x43a1d0;
  iVar27 = 0x43a1d0;
  piVar18 = *(int **)(*(int *)PTR_parameters_00432be0 + 0xc);
  if (piVar18 != (int *)0x0) {
    view_info.got_count = (**(code **)(*piVar18 + 0xcc))(piVar18);
    view_info.plt_count = (**(code **)(*piVar18 + 0xd0))(piVar18);
    view_info.first_plt_entry_offset = (**(code **)(*piVar18 + 0xd4))(piVar18);
    view_info.plt_entry_size = (**(code **)(*piVar18 + 0xd8))(piVar18);
    if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {
      view_info.got_entry_size = 4;
      iVar23 = iVar27;
    }
    else {
      view_info.got_entry_size = (**(code **)(*piVar18 + 0xdc))(piVar18);
      iVar23 = iVar27;
    }
    view_info.got_type_p = pov + 8;
    view_info.got_desc_p = view_info.got_type_p + (view_info.got_count + 3 & 0xfffffffc);
    view_info.plt_desc_p = view_info.got_desc_p + view_info.got_count * 8;
    uVar12 = 0x7ab;
    if (pov + in_a3 == view_info.plt_desc_p + view_info.plt_count * 4) {
      pcVar21 = *(code **)(iVar23 + -0x3980);
      *(uint *)(pov + 4) =
           (((view_info.plt_count >> 0x10) << 0x18 | (view_info.plt_count >> 0x18) << 0x10) >> 0x10)
           + ((view_info.plt_count & 0xff) << 8 | view_info.plt_count >> 8 & 0xff) * 0x10000;
      *(uint *)pov = (((view_info.got_count >> 0x10) << 0x18 | (view_info.got_count >> 0x18) << 0x10
                      ) >> 0x10) +
                     ((view_info.got_count & 0xff) << 8 | view_info.got_count >> 8 & 0xff) * 0x10000
      ;
      (*pcVar21)(view_info.got_type_p,0xff);
      ppIVar19 = (this->inputs_->inputs_).
                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>
                 ._M_impl._M_start;
      if (ppIVar19 !=
          (this->inputs_->inputs_).
          super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>
          ._M_impl._M_finish) {
        iVar27 = *(int *)(iVar23 + -0x5e94);
        unaff_s4 = (Output_section_incremental_inputs<32,_false> *)&view_info;
        do {
          iVar2 = (*(*ppIVar19)->_vptr_Incremental_input_entry[2])(*ppIVar19);
          pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;
          if (iVar2 == 1) {
LAB_0011bbf0:
            iVar2 = (*pp_Var5[4])();
            if (iVar2 == 0) {
              uVar12 = 0x7bf;
              goto LAB_0011bda0;
            }
            piVar18 = *(int **)(iVar2 + 0x24);
            uVar12 = 0x7c1;
            if (piVar18 == (int *)0x0) goto LAB_0011bda0;
            view_info.input_index = (*ppIVar19)->file_index_;
            v.super_Visitor._vptr_Visitor = (_func_int_varargs **)(iVar27 + 8);
            v.info_ = (Got_plt_view_info *)unaff_s4;
            (**(code **)(*piVar18 + 0x34))(piVar18,&v);
          }
          else {
            iVar2 = (*pp_Var5[2])();
            if (iVar2 == 2) {
              pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;
              goto LAB_0011bbf0;
            }
          }
          ppIVar19 = ppIVar19 + 1;
        } while ((this->inputs_->inputs_).
                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>
                 ._M_impl._M_finish != ppIVar19);
      }
      in_t1 = (this->symtab_->table_)._M_h._M_before_begin._M_nxt;
      uVar25 = view_info.sym_index;
      do {
        if (in_t1 == (_Hash_node_base *)0x0) {
          return;
        }
        p_Var17 = in_t1[3]._M_nxt;
        p_Var14 = p_Var17[7]._M_nxt;
        p_Var6 = p_Var17 + 7;
        view_info.sym_index = uVar25;
        iVar27 = iVar23;
        if ((p_Var14 != (_Hash_node_base *)0xffffffff) && (p_Var6 != (_Hash_node_base *)0x0)) {
          view_info.sym_index = (uint)p_Var17[4]._M_nxt;
          if ((_Hash_node_base *)view_info.sym_index == (_Hash_node_base *)0x0) goto LAB_0011bdd4;
          view_info.input_index = 0;
          while( true ) {
            if (view_info.got_entry_size == 0) {
              trap(7);
            }
            uVar25 = (uint)p_Var6[1]._M_nxt / view_info.got_entry_size;
            uVar12 = 0x75d;
            if (view_info.got_count <= uVar25) goto LAB_0011bd7c;
            if ((_Hash_node_base *)0x7e < p_Var14) {
              do {
                uVar12 = 0x761;
LAB_0011bd7c:
                (**(code **)(iVar23 + -0x7e0c))
                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,
                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);
              } while( true );
            }
            view_info.got_type_p[uVar25] = (uchar)p_Var14;
            p_Var6 = p_Var6[2]._M_nxt;
            *(int *)((int)(view_info.got_desc_p + uVar25 * 8) + 4) = 0;
            *(uint *)(view_info.got_desc_p + uVar25 * 8) =
                 (((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>
                 0x10) + ((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff) *
                         0x10000;
            if (p_Var6 == (_Hash_node_base *)0x0) break;
            p_Var14 = p_Var6->_M_nxt;
          }
        }
        uVar25 = view_info.sym_index;
        if (p_Var17[6]._M_nxt != (_Hash_node_base *)0xffffffff) {
          if (view_info.plt_entry_size == 0) {
            trap(7);
          }
          uVar26 = ((int)p_Var17[6]._M_nxt - view_info.first_plt_entry_offset) /
                   view_info.plt_entry_size;
          if (view_info.plt_count <= uVar26) goto LAB_0011bdb8;
          p_Var6 = p_Var17[4]._M_nxt;
          if (p_Var6 == (_Hash_node_base *)0x0) goto LAB_0011bdd4;
          *(uint *)(view_info.plt_desc_p + uVar26 * 4) =
               ((((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10) >> 0x10) +
               (((uint)p_Var6 & 0xff) << 8 | (uint)p_Var6 >> 8 & 0xff) * 0x10000;
        }
        in_t1 = in_t1->_M_nxt;
      } while( true );
    }
LAB_0011bda0:
    iVar27 = iVar23;
    (**(code **)(iVar23 + -0x7e0c))
              (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,*(int *)(iVar23 + -0x7e1c) + -0x36d8);
LAB_0011bdb8:
    (**(code **)(iVar23 + -0x7e0c))
              (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar23 + -0x7e1c) + -0x36ec);
    uVar25 = view_info.sym_index;
LAB_0011bdd4:
    view_info.sym_index = uVar25;
    (**(code **)(iVar23 + -0x7e0c))
              (*(int *)(iVar23 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar23 + -0x7e1c) + -0x34f4);
  }
  iVar2 = 0x73;
  pcVar21 = *(code **)(iVar23 + -0x7e0c);
  this_00 = (Output_section_incremental_inputs<32,_false> *)(*(int *)(iVar23 + -0x7e1c) + -0x5cec);
  (*pcVar21)(this_00,0x73,*(int *)(iVar23 + -0x7e1c) + -0x3514);
  iVar23 = *(int *)&(this_00->super_Output_section_data).super_Output_data.field_0x20;
  pIVar24 = this_00->inputs_;
  strtab = pIVar24->strtab_;
  if (-1 < iVar23 << 2) goto LAB_0011c144;
  iVar16 = (int)(this_00->super_Output_section_data).super_Output_data.offset_;
  iVar13 = *(int *)&(this_00->super_Output_section_data).super_Output_data.offset_;
  if (-1 < iVar23 << 1) goto LAB_0011c128;
  iVar23 = *(int *)&(this_00->super_Output_section_data).super_Output_data.data_size_;
  p_Var6 = *(_Hash_node_base **)
            ((int)&(this_00->super_Output_section_data).super_Output_data.data_size_ + 4);
  if (iVar13 < 0) {
LAB_0011c118:
    iVar13 = *(int *)(pcVar21 + 0x318234);
  }
  else {
    p_Var14 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar16);
    iVar10 = *(int *)(iVar2 + 8);
    iVar13 = (uint)(p_Var14 < p_Var6) + iVar13;
    in_t1 = *(_Hash_node_base **)(iVar2 + 0xc);
    if ((iVar10 < iVar13) || ((iVar13 == iVar10 && (in_t1 < p_Var14)))) goto LAB_0011c118;
    pOVar7 = pIVar24->symtab_section_;
    piVar18 = *(int **)(iVar2 + 0x10);
    iVar13 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.
                      super_Output_data.field_0x20;
    oview = (uchar *)((int)piVar18 + iVar16);
    unaff_s4 = this_00;
    unaff_s6 = iVar2;
    if (-1 < iVar13 << 2) goto LAB_0011c144;
    iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.
                      super_Output_data.offset_;
    iVar15 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.
                  super_Output_data.offset_;
    if (-1 < iVar13 << 1) goto LAB_0011c128;
    uVar25 = *(uint *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.
                       super_Output_data.data_size_;
    p_Var14 = *(_Hash_node_base **)
               ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.
                      super_Output_data.data_size_ + 4);
    if (iVar16 < 0) goto LAB_0011c118;
    p_Var17 = (_Hash_node_base *)((int)&p_Var14->_M_nxt + iVar15);
    iVar16 = (uint)(p_Var17 < p_Var14) + iVar16;
    iVar13 = *(int *)(pcVar21 + 0x318234);
    if (iVar16 <= iVar10) {
      uVar26 = (uint)(in_t1 < p_Var17);
      piVar11 = (int *)0x0;
      if (iVar16 == iVar10) goto LAB_0011c1b4;
LAB_0011bf00:
      uVar26 = this_00->symtab_->output_count_;
      piVar18 = (int *)((int)piVar18 + iVar15);
      if (uVar26 < 0x20000000) {
        p_Var17 = (_Hash_node_base *)(uVar26 << 2);
        global_syms = (uint *)(**(code **)(pcVar21 + 0x3164d0))(p_Var17);
        (**(code **)(pcVar21 + 0x31aa44))(global_syms,0,p_Var17);
        uVar3 = (int)(pIVar24->inputs_).
                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>
                     ._M_impl._M_finish -
                (int)(pIVar24->inputs_).
                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>
                     ._M_impl._M_start >> 2;
        if ((strtab->key_to_offset_).size_ < pIVar24->command_line_key_) goto LAB_0011c198;
        uVar8 = pIVar24->command_line_key_ - 1;
        uVar8 = *(uint *)((int)(strtab->key_to_offset_).chunks_.
                               super__Vector_base<std::vector<int,_std::allocator<int>_>,_std::allocator<std::vector<int,_std::allocator<int>_>_>_>
                               ._M_impl._M_start[uVar8 >> 0xd].
                               super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start +
                         (uVar8 & 0x1fff) * 4);
        *(uint *)(oview + 4) =
             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +
             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;
        oview[0] = '\x02';
        oview[1] = '\0';
        oview[2] = '\0';
        oview[3] = '\0';
        oview[0xc] = '\0';
        oview[0xd] = '\0';
        oview[0xe] = '\0';
        oview[0xf] = '\0';
        *(uint *)(oview + 8) =
             (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;
        puVar4 = write_input_files(this_00,oview,oview + 0x10,strtab);
        puVar4 = write_info_blocks(this_00,oview,puVar4,strtab,global_syms,uVar26);
        if ((int)(puVar4 + -(int)oview) >> 0x1f != iVar23) goto LAB_0011c190;
        if ((_Hash_node_base *)(puVar4 + -(int)oview) != p_Var6) goto LAB_0011c190;
        uVar12 = 0x59f;
        if (uVar26 >> 0x1e != uVar25) goto LAB_0011c178;
        iVar23 = *(int *)(pcVar21 + 0x3165a8);
        if (p_Var17 != p_Var14) {
          do {
            (**(code **)(pcVar21 + 0x3165b8))
                      (*(int *)(pcVar21 + 0x3165a8) + -0x4fcc,uVar12,iVar23 + -0x3564);
LAB_0011c190:
            uVar12 = 0x59c;
LAB_0011c178:
            iVar23 = *(int *)(pcVar21 + 0x3165a8);
          } while( true );
        }
        piVar11 = (int *)((int)piVar18 + (int)p_Var14);
        puVar9 = global_syms;
        if (uVar26 != 0) {
          do {
            uVar25 = *puVar9;
            piVar20 = piVar18 + 1;
            *piVar18 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;
            puVar9 = puVar9 + 1;
            piVar18 = piVar20;
          } while (piVar20 != piVar11);
        }
        (**(code **)(pcVar21 + 0x3165d0))(global_syms);
        pOVar7 = pIVar24->got_plt_section_;
        iVar23 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.
                          super_Output_data.field_0x20;
        if (-1 < iVar23 << 2) goto LAB_0011c144;
        iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.
                          super_Output_data.offset_;
        iVar10 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.
                      super_Output_data.offset_;
        if (-1 < iVar23 << 1) goto LAB_0011c128;
        p_Var6 = *(_Hash_node_base **)
                  ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.
                         super_Output_data.data_size_ + 4);
        if (iVar16 < 0) goto LAB_0011c118;
        in_t1 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar10);
        iVar16 = (uint)(in_t1 < p_Var6) + iVar16;
        iVar13 = *(int *)(pcVar21 + 0x318234);
        if (iVar16 <= *(int *)(iVar2 + 8)) {
          if (*(int *)(iVar2 + 8) == iVar16) goto LAB_0011c160;
          goto LAB_0011c0d0;
        }
        goto LAB_0011c11c;
      }
      pcVar21 = *(code **)(pcVar21 + 0x3164dc);
      (*pcVar21)();
      iVar27 = 7;
      iVar23 = iVar10 + 1;
      goto LAB_0011c20c;
    }
  }
LAB_0011c11c:
  pcVar22 = (code *)(iVar13 + 0x2f54);
LAB_0011c120:
  while( true ) {
    (*pcVar22)();
LAB_0011c128:
    (**(code **)(pcVar21 + 0x3165b8))
              (*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar21 + 0x3165a8) + -0x36c8);
    unaff_s4 = this_00;
    unaff_s6 = iVar2;
LAB_0011c144:
    iVar2 = unaff_s6;
    this_00 = unaff_s4;
    iVar10 = 0xe3;
    (**(code **)(pcVar21 + 0x3165b8))
              (*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar21 + 0x3165a8) + -0x36bc);
LAB_0011c160:
    in_t1 = (_Hash_node_base *)(uint)(*(_Hash_node_base **)(iVar2 + 0xc) < in_t1);
    if (in_t1 == (_Hash_node_base *)0x0) break;
    pcVar22 = (code *)(*(int *)(pcVar21 + 0x318234) + 0x2f54);
  }
LAB_0011c0d0:
  write_got_plt(this_00,(uchar *)(*(int *)(iVar2 + 0x10) + iVar10),
                CONCAT44(iVar27,in_stack_ffffffac));
  return;
LAB_0011c198:
  piVar11 = (int *)&DAT_00000108;
  iVar15 = *(int *)(pcVar21 + 0x3165a8) + -0x3578;
  iVar10 = *(int *)(pcVar21 + 0x316400) + 0x46d4;
  (**(code **)(pcVar21 + 0x3165b8))();
  uVar26 = extraout_v1;
LAB_0011c1b4:
  if (uVar26 != 0) goto code_r0x0011c1bc;
  goto LAB_0011bf00;
code_r0x0011c1bc:
  pcVar22 = (code *)(*(int *)(pcVar21 + 0x318234) + 0x2f54);
  goto LAB_0011c120;
  while (iVar27 != 0x4d) {
LAB_0011c20c:
    pcVar1 = (char *)(iVar23 + -1);
    iVar23 = iVar23 + 1;
    iVar27 = iVar27 + 7;
    iVar2 = iVar23 - iVar10;
    if (-1 < *pcVar1) goto LAB_0011c27c;
  }
  uVar12 = (**(code **)(pcVar21 + 0x31a648))(*(int *)(pcVar21 + 0x3161e4) + -0x2cdc);
  (**(code **)(pcVar21 + 0x31628c))(uVar12);
  iVar2 = 0xb;
LAB_0011c27c:
  *piVar11 = iVar2;
  return;
}



/* gold::Output_section_incremental_inputs<32, false>::write_got_plt(unsigned char*, long long) */

int * gold::Output_section_incremental_inputs<32,false>::write_got_plt
                (uchar *param_1,longlong param_2)

{
  byte *pbVar1;
  int iVar2;
  uint uVar3;
  uchar *puVar4;
  int iVar5;
  uint *puVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint *puVar10;
  uint extraout_v1;
  int *piVar11;
  Output_section_incremental_inputs<32,false> *this;
  int iVar12;
  int *piVar13;
  int *in_a1;
  undefined4 uVar14;
  uint uVar15;
  int iVar16;
  int in_a3;
  int *in_t1;
  Stringpool_template *pSVar17;
  int *piVar18;
  int *piVar19;
  uchar *puVar20;
  Output_section_incremental_inputs<32,false> *unaff_s4;
  uint uVar21;
  int unaff_s6;
  code *pcVar22;
  int iVar23;
  code *pcVar24;
  int iVar25;
  uint uVar26;
  int iVar27;
  undefined4 in_stack_ffffffac;
  int *local_50;
  int local_4c;
  int local_48;
  uint local_44;
  uint local_40;
  int local_3c;
  uint local_38;
  uint local_34;
  uint local_30;
  undefined4 local_2c;
  int local_28;
  Output_section_incremental_inputs<32,false> *local_24;
  
  iVar25 = 0x43a1d0;
  iVar27 = 0x43a1d0;
  piVar18 = *(int **)(*(int *)PTR_parameters_00432be0 + 0xc);
  if (piVar18 != (int *)0x0) {
    local_44 = (**(code **)(*piVar18 + 0xcc))(piVar18);
    local_40 = (**(code **)(*piVar18 + 0xd0))(piVar18);
    local_3c = (**(code **)(*piVar18 + 0xd4))(piVar18);
    local_38 = (**(code **)(*piVar18 + 0xd8))(piVar18);
    if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {
      local_34 = 4;
      iVar25 = iVar27;
    }
    else {
      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);
      iVar25 = iVar27;
    }
    local_50 = in_a1 + 2;
    local_4c = (int)local_50 + (local_44 + 3 & 0xfffffffc);
    local_48 = local_4c + local_44 * 8;
    uVar14 = 0x7ab;
    if ((int)in_a1 + in_a3 == local_48 + local_40 * 4) {
      pcVar22 = *(code **)(iVar25 + -0x3980);
      in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +
                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;
      *in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +
               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;
      (*pcVar22)(local_50,0xff);
      piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);
      if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {
        iVar27 = *(int *)(iVar25 + -0x5e94);
        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;
        do {
          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);
          iVar5 = *(int *)*piVar18;
          if (iVar2 == 1) {
LAB_0011bbf0:
            iVar2 = (**(code **)(iVar5 + 0x10))();
            if (iVar2 == 0) {
              uVar14 = 0x7bf;
              goto LAB_0011bda0;
            }
            piVar11 = *(int **)(iVar2 + 0x24);
            uVar14 = 0x7c1;
            if (piVar11 == (int *)0x0) goto LAB_0011bda0;
            local_2c = *(undefined4 *)(*piVar18 + 8);
            local_28 = iVar27 + 8;
            local_24 = unaff_s4;
            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);
          }
          else {
            iVar2 = (**(code **)(iVar5 + 8))();
            if (iVar2 == 2) {
              iVar5 = *(int *)*piVar18;
              goto LAB_0011bbf0;
            }
          }
          piVar18 = piVar18 + 1;
        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);
      }
      piVar18 = *(int **)(param_1 + 0x34);
      in_t1 = (int *)piVar18[0xc];
      uVar26 = local_30;
      do {
        if (in_t1 == (int *)0x0) {
          return piVar18;
        }
        iVar2 = in_t1[3];
        uVar15 = *(uint *)(iVar2 + 0x1c);
        puVar6 = (uint *)(iVar2 + 0x1c);
        local_30 = uVar26;
        iVar27 = iVar25;
        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {
          local_30 = *(uint *)(iVar2 + 0x10);
          if (local_30 == 0) goto LAB_0011bdd4;
          local_2c = 0;
          while( true ) {
            if (local_34 == 0) {
              trap(7);
            }
            uVar26 = puVar6[1] / local_34;
            uVar14 = 0x75d;
            if (local_44 <= uVar26) goto LAB_0011bd7c;
            if (0x7e < uVar15) {
              do {
                uVar14 = 0x761;
LAB_0011bd7c:
                (**(code **)(iVar25 + -0x7e0c))
                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,
                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);
              } while( true );
            }
            *(char *)((int)local_50 + uVar26) = (char)uVar15;
            puVar6 = (uint *)puVar6[2];
            piVar18 = (int *)(local_4c + uVar26 * 8);
            piVar18[1] = 0;
            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +
                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;
            if (puVar6 == (uint *)0x0) break;
            uVar15 = *puVar6;
          }
        }
        piVar18 = *(int **)(iVar2 + 0x18);
        uVar26 = local_30;
        if (piVar18 != (int *)0xffffffff) {
          if (local_38 == 0) {
            trap(7);
          }
          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;
          if (local_40 <= uVar15) goto LAB_0011bdb8;
          uVar7 = *(uint *)(iVar2 + 0x10);
          piVar18 = (int *)(local_48 + uVar15 * 4);
          if (uVar7 == 0) goto LAB_0011bdd4;
          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
        }
        in_t1 = (int *)*in_t1;
      } while( true );
    }
LAB_0011bda0:
    iVar27 = iVar25;
    (**(code **)(iVar25 + -0x7e0c))
              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8);
LAB_0011bdb8:
    (**(code **)(iVar25 + -0x7e0c))
              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec);
    uVar26 = local_30;
LAB_0011bdd4:
    local_30 = uVar26;
    (**(code **)(iVar25 + -0x7e0c))
              (*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4);
  }
  iVar2 = 0x73;
  pcVar22 = *(code **)(iVar25 + -0x7e0c);
  this = (Output_section_incremental_inputs<32,false> *)(*(int *)(iVar25 + -0x7e1c) + -0x5cec);
  (*pcVar22)(this,0x73,*(int *)(iVar25 + -0x7e1c) + -0x3514);
  piVar18 = *(int **)(this + 0x30);
  pSVar17 = (Stringpool_template *)piVar18[10];
  if (-1 < *(int *)(this + 0x20) << 2) goto LAB_0011c144;
  if (-1 < *(int *)(this + 0x20) << 1) goto LAB_0011c128;
  iVar25 = *(int *)(this + 0x10);
  uVar26 = *(uint *)(this + 0x14);
  if (*(int *)(this + 0x18) < 0) {
LAB_0011c118:
    iVar23 = *(int *)(pcVar22 + 0x318234);
  }
  else {
    uVar15 = uVar26 + *(int *)(this + 0x1c);
    iVar12 = *(int *)(iVar2 + 8);
    iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18);
    in_t1 = *(int **)(iVar2 + 0xc);
    if ((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))) goto LAB_0011c118;
    iVar5 = piVar18[0xe];
    piVar11 = *(int **)(iVar2 + 0x10);
    puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c));
    unaff_s4 = this;
    unaff_s6 = iVar2;
    if (-1 < *(int *)(iVar5 + 0x20) << 2) goto LAB_0011c144;
    iVar16 = *(int *)(iVar5 + 0x1c);
    if (-1 < *(int *)(iVar5 + 0x20) << 1) goto LAB_0011c128;
    uVar15 = *(uint *)(iVar5 + 0x10);
    uVar7 = *(uint *)(iVar5 + 0x14);
    if (*(int *)(iVar5 + 0x18) < 0) goto LAB_0011c118;
    iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18);
    iVar23 = *(int *)(pcVar22 + 0x318234);
    if (iVar5 <= iVar12) {
      uVar8 = (uint)(in_t1 < uVar7 + iVar16);
      piVar13 = (int *)0x0;
      if (iVar5 == iVar12) goto LAB_0011c1b4;
LAB_0011bf00:
      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);
      piVar11 = (int *)((int)piVar11 + iVar16);
      if (uVar8 < 0x20000000) {
        uVar21 = uVar8 << 2;
        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);
        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);
        uVar3 = piVar18[1] - *piVar18 >> 2;
        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;
        uVar9 = piVar18[9] - 1;
        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +
                         (uVar9 & 0x1fff) * 4);
        *(uint *)(puVar20 + 4) =
             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +
             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;
        puVar20[0] = '\x02';
        puVar20[1] = '\0';
        puVar20[2] = '\0';
        puVar20[3] = '\0';
        puVar20[0xc] = '\0';
        puVar20[0xd] = '\0';
        puVar20[0xe] = '\0';
        puVar20[0xf] = '\0';
        *(uint *)(puVar20 + 8) =
             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);
        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);
        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;
        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;
        uVar14 = 0x59f;
        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;
        iVar25 = *(int *)(pcVar22 + 0x3165a8);
        if (uVar21 != uVar7) {
          do {
            (**(code **)(pcVar22 + 0x3165b8))
                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);
LAB_0011c190:
            uVar14 = 0x59c;
LAB_0011c178:
            iVar25 = *(int *)(pcVar22 + 0x3165a8);
          } while( true );
        }
        piVar13 = (int *)((int)piVar11 + uVar7);
        puVar10 = puVar6;
        if (uVar8 != 0) {
          do {
            uVar26 = *puVar10;
            piVar19 = piVar11 + 1;
            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;
            puVar10 = puVar10 + 1;
            piVar11 = piVar19;
          } while (piVar19 != piVar13);
        }
        (**(code **)(pcVar22 + 0x3165d0))(puVar6);
        iVar25 = piVar18[0x10];
        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;
        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;
        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;
        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));
        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);
        iVar23 = *(int *)(pcVar22 + 0x318234);
        if (iVar25 <= *(int *)(iVar2 + 8)) {
          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;
          goto LAB_0011c0d0;
        }
        goto LAB_0011c11c;
      }
      pcVar22 = *(code **)(pcVar22 + 0x3164dc);
      (*pcVar22)();
      piVar18 = (int *)0x0;
      uVar26 = 7;
      iVar27 = iVar12 + 1;
      goto LAB_0011c20c;
    }
  }
LAB_0011c11c:
  pcVar24 = (code *)(iVar23 + 0x2f54);
LAB_0011c120:
  while( true ) {
    (*pcVar24)();
LAB_0011c128:
    (**(code **)(pcVar22 + 0x3165b8))
              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);
    unaff_s4 = this;
    unaff_s6 = iVar2;
LAB_0011c144:
    iVar2 = unaff_s6;
    this = unaff_s4;
    (**(code **)(pcVar22 + 0x3165b8))
              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc);
LAB_0011c160:
    in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);
    if (in_t1 == (int *)0x0) break;
    pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);
  }
LAB_0011c0d0:
  piVar18 = (int *)write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac));
  return piVar18;
LAB_0011c198:
  piVar13 = (int *)&DAT_00000108;
  iVar16 = *(int *)(pcVar22 + 0x3165a8) + -0x3578;
  iVar12 = *(int *)(pcVar22 + 0x316400) + 0x46d4;
  (**(code **)(pcVar22 + 0x3165b8))();
  uVar8 = extraout_v1;
LAB_0011c1b4:
  if (uVar8 != 0) goto code_r0x0011c1bc;
  goto LAB_0011bf00;
code_r0x0011c1bc:
  pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);
  goto LAB_0011c120;
  while (uVar26 != 0x4d) {
LAB_0011c20c:
    pbVar1 = (byte *)(iVar27 + -1);
    iVar27 = iVar27 + 1;
    uVar7 = *pbVar1 & 0x7f;
    uVar15 = (uVar7 >> 1) >> (~uVar26 & 0x1f);
    if ((uVar26 & 0x20) != 0) {
      uVar15 = uVar7 << (uVar26 & 0x1f);
    }
    uVar26 = uVar26 + 7;
    iVar25 = iVar27 - iVar12;
    piVar18 = (int *)((uint)piVar18 | uVar15);
    if (-1 < (char)*pbVar1) goto LAB_0011c27c;
  }
  uVar14 = (**(code **)(pcVar22 + 0x31a648))(*(int *)(pcVar22 + 0x3161e4) + -0x2cdc);
  (**(code **)(pcVar22 + 0x31628c))(uVar14);
  iVar25 = 0xb;
LAB_0011c27c:
  *piVar13 = iVar25;
  return piVar18;
}


lui gp,0x32
addiu gp,gp,-0x1890
addu gp,gp,t9
lw v0,-0x75f0(gp)
addiu sp,sp,-0x68
sw s0,0x4c(sp)
lw v0,0x0(v0)
sw gp,0x10(sp)
sw ra,0x64(sp)
sw s5,0x60(sp)
sw s4,0x5c(sp)
sw s3,0x58(sp)
sw s2,0x54(sp)
sw s1,0x50(sp)
lw s0,0xc(v0)
beq s0,zero,0x0011bdf0
_or s1,a0,zero
lw v0,0x0(s0)
or a0,s0,zero
or s2,a1,zero
lw t9,0xcc(v0)
jalr t9
_or s3,a3,zero
lw v1,0x0(s0)
sw v0,0x24(sp)
lw t9,0xd0(v1)
jalr t9
_or a0,s0,zero
lw v1,0x0(s0)
sw v0,0x28(sp)
lw t9,0xd4(v1)
jalr t9
_or a0,s0,zero
lw v1,0x0(s0)
sw v0,0x2c(sp)
lw t9,0xd8(v1)
jalr t9
_or a0,s0,zero
lw a0,0x0(s0)
lw gp,0x10(sp)
sw v0,0x30(sp)
lw t9,0xdc(a0)
lw v1,-0x5e98(gp)
bne t9,v1,0x0011bd6c
_nop
li v0,0x4
lw a2,0x24(sp)
li a3,-0x4
lw v1,0x28(sp)
addiu a0,s2,0x8
sw v0,0x34(sp)
addu s3,s2,s3
addiu v0,a2,0x3
sw a0,0x18(sp)
sll a1,a2,0x3
and v0,v0,a3
addu v0,a0,v0
sll t0,v1,0x2
addu a1,v0,a1
sw v0,0x1c(sp)
addu v0,a1,t0
sw a1,0x20(sp)
bne s3,v0,0x0011bda0
_li a1,0x7ab
wsbh v0,v1
lw t9,-0x3980(gp)
wsbh a3,a2
rotr v0,v0,0x10
rotr a3,a3,0x10
li a1,0xff
sw v0,0x4(s2)
jalr t9
_sw a3,0x0(s2)
lw v0,0x30(s1)
lw v1,0x4(v0)
lw s0,0x0(v0)
beq s0,v1,0x0011bc4c
_lw gp,0x10(sp)
lw s3,-0x5e94(gp)
li s2,0x1
addiu s4,sp,0x18
addiu s5,sp,0x40
addiu s3,s3,0x8
lw v0,0x0(s0)
or a0,v0,zero
lw v0,0x0(v0)
lw t9,0x8(v0)
jalr t9
_nop
lw a0,0x0(s0)
beq v0,s2,0x0011bbf0
_lw v1,0x0(a0)
lw t9,0x8(v1)
jalr t9
_nop
li v1,0x2
bne v0,v1,0x0011bc38
_lw gp,0x10(sp)
lw a0,0x0(s0)
lw v1,0x0(a0)
lw t9,0x10(v1)
jalr t9
_nop
beq v0,zero,0x0011bd9c
_lw gp,0x10(sp)
lw a0,0x24(v0)
beq a0,zero,0x0011bda0
_li a1,0x7c1
lw v0,0x0(s0)
or a1,s5,zero
lw v1,0x0(a0)
sw s3,0x40(sp)
sw s4,0x44(sp)
lw v0,0x8(v0)
lw t9,0x34(v1)
jalr t9
_sw v0,0x3c(sp)
lw gp,0x10(sp)
lw v0,0x30(s1)
addiu s0,s0,0x4
lw v0,0x4(v0)
bne v0,s0,0x0011bbac
_nop
lw v0,0x34(s1)
lw t1,0x30(v0)
beq t1,zero,0x0011bd48
_li t2,-0x1
lw t0,0xc(t1)
lw a2,0x1c(t0)
beq a2,t2,0x0011bcf0
_addiu v1,t0,0x1c
beq v1,zero,0x0011bcf0
_nop
lw v0,0x10(t0)
beq v0,zero,0x0011bdd4
_nop
sw v0,0x38(sp)
b 0x0011bc90
_sw zero,0x3c(sp)
lw a2,0x0(v1)
lw v0,0x4(v1)
lw a0,0x34(sp)
teq a0,zero
divu v0,a0
lw a0,0x24(sp)
mflo v0
sltu a0,v0,a0
beq a0,zero,0x0011bd7c
_li a1,0x75d
sltiu a0,a2,0x7f
beq a0,zero,0x0011bd94
_sll a3,v0,0x3
lw a1,0x18(sp)
addu v0,a1,v0
sb a2,0x0(v0)
lw v0,0x38(sp)
lw a0,0x1c(sp)
lw v1,0x8(v1)
wsbh v0,v0
addu a0,a0,a3
rotr v0,v0,0x10
sw zero,0x4(a0)
bne v1,zero,0x0011bc8c
_sw v0,0x0(a0)
lw v0,0x18(t0)
beq v0,t2,0x0011bd3c
_lw v1,0x30(sp)
lw a0,0x2c(sp)
subu v0,v0,a0
teq v1,zero
divu v0,v1
lw v1,0x28(sp)
mflo v0
sltu v1,v0,v1
beq v1,zero,0x0011bdb8
_sll v0,v0,0x2
lw a0,0x20(sp)
lw v1,0x10(t0)
beq v1,zero,0x0011bdd4
_addu v0,a0,v0
wsbh v1,v1
rotr v1,v1,0x10
sw v1,0x0(v0)
lw t1,0x0(t1)
bne t1,zero,0x0011bc5c
_nop
lw ra,0x64(sp)
lw s5,0x60(sp)
lw s4,0x5c(sp)
lw s3,0x58(sp)
lw s2,0x54(sp)
lw s1,0x50(sp)
lw s0,0x4c(sp)
jr ra
_addiu sp,sp,0x68
jalr t9
_or a0,s0,zero
b 0x0011bb18
_lw gp,0x10(sp)
lw a2,-0x7e1c(gp)
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,-0x36f4
jalr t9
_addiu a0,a0,-0x4fcc
b 0x0011bd7c
_li a1,0x761
li a1,0x7bf
lw a2,-0x7e1c(gp)
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,-0x36d8
jalr t9
_addiu a0,a0,-0x4fcc
lw a2,-0x7e1c(gp)
li a1,0x789
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,-0x36ec
jalr t9
_addiu a0,a0,-0x4fcc
lw a2,-0x7e1c(gp)
li a1,0x180
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,-0x34f4
jalr t9
_addiu a0,a0,-0x5bdc
lw a2,-0x7e1c(gp)
li a1,0x73
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,-0x3514
jalr t9
_addiu a0,a0,-0x5cec
(translation_unit "/* gold::Output_section_incremental_inputs<32, false>::write_got_plt(unsigned char*, long long) */\n\nint * gold::Output_section_incremental_inputs<32,false>::write_got_plt\n                (uchar *param_1,longlong param_2)\n\n{\n  byte *pbVar1;\n  int iVar2;\n  uint uVar3;\n  uchar *puVar4;\n  int iVar5;\n  uint *puVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  uint extraout_v1;\n  int *piVar11;\n  Output_section_incremental_inputs<32,false> *this;\n  int iVar12;\n  int *piVar13;\n  int *in_a1;\n  undefined4 uVar14;\n  uint uVar15;\n  int iVar16;\n  int in_a3;\n  int *in_t1;\n  Stringpool_template *pSVar17;\n  int *piVar18;\n  int *piVar19;\n  uchar *puVar20;\n  Output_section_incremental_inputs<32,false> *unaff_s4;\n  uint uVar21;\n  int unaff_s6;\n  code *pcVar22;\n  int iVar23;\n  code *pcVar24;\n  int iVar25;\n  uint uVar26;\n  int iVar27;\n  undefined4 in_stack_ffffffac;\n  int *local_50;\n  int local_4c;\n  int local_48;\n  uint local_44;\n  uint local_40;\n  int local_3c;\n  uint local_38;\n  uint local_34;\n  uint local_30;\n  undefined4 local_2c;\n  int local_28;\n  Output_section_incremental_inputs<32,false> *local_24;\n  \n  iVar25 = 0x43a1d0;\n  iVar27 = 0x43a1d0;\n  piVar18 = *(int **)(*(int *)PTR_parameters_00432be0 + 0xc);\n  if (piVar18 != (int *)0x0) {\n    local_44 = (**(code **)(*piVar18 + 0xcc))(piVar18);\n    local_40 = (**(code **)(*piVar18 + 0xd0))(piVar18);\n    local_3c = (**(code **)(*piVar18 + 0xd4))(piVar18);\n    local_38 = (**(code **)(*piVar18 + 0xd8))(piVar18);\n    if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {\n      local_34 = 4;\n      iVar25 = iVar27;\n    }\n    else {\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }\n    local_50 = in_a1 + 2;\n    local_4c = (int)local_50 + (local_44 + 3 & 0xfffffffc);\n    local_48 = local_4c + local_44 * 8;\n    uVar14 = 0x7ab;\n    if ((int)in_a1 + in_a3 == local_48 + local_40 * 4) {\n      pcVar22 = *(code **)(iVar25 + -0x3980);\n      in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;\n      *in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;\n      (*pcVar22)(local_50,0xff);\n      piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);\n      if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }\n      piVar18 = *(int **)(param_1 + 0x34);\n      in_t1 = (int *)piVar18[0xc];\n      uVar26 = local_30;\n      do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );\n    }\nLAB_0011bda0:\n    iVar27 = iVar25;\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8);\nLAB_0011bdb8:\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec);\n    uVar26 = local_30;\nLAB_0011bdd4:\n    local_30 = uVar26;\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4);\n  }\n  iVar2 = 0x73;\n  pcVar22 = *(code **)(iVar25 + -0x7e0c);\n  this = (Output_section_incremental_inputs<32,false> *)(*(int *)(iVar25 + -0x7e1c) + -0x5cec);\n  (*pcVar22)(this,0x73,*(int *)(iVar25 + -0x7e1c) + -0x3514);\n  piVar18 = *(int **)(this + 0x30);\n  pSVar17 = (Stringpool_template *)piVar18[10];\n  if (-1 < *(int *)(this + 0x20) << 2) goto LAB_0011c144;\n  if (-1 < *(int *)(this + 0x20) << 1) goto LAB_0011c128;\n  iVar25 = *(int *)(this + 0x10);\n  uVar26 = *(uint *)(this + 0x14);\n  if (*(int *)(this + 0x18) < 0) {\nLAB_0011c118:\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n  }\n  else {\n    uVar15 = uVar26 + *(int *)(this + 0x1c);\n    iVar12 = *(int *)(iVar2 + 8);\n    iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18);\n    in_t1 = *(int **)(iVar2 + 0xc);\n    if ((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))) goto LAB_0011c118;\n    iVar5 = piVar18[0xe];\n    piVar11 = *(int **)(iVar2 + 0x10);\n    puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c));\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\n    if (-1 < *(int *)(iVar5 + 0x20) << 2) goto LAB_0011c144;\n    iVar16 = *(int *)(iVar5 + 0x1c);\n    if (-1 < *(int *)(iVar5 + 0x20) << 1) goto LAB_0011c128;\n    uVar15 = *(uint *)(iVar5 + 0x10);\n    uVar7 = *(uint *)(iVar5 + 0x14);\n    if (*(int *)(iVar5 + 0x18) < 0) goto LAB_0011c118;\n    iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18);\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n    if (iVar5 <= iVar12) {\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }\n  }\nLAB_0011c11c:\n  pcVar24 = (code *)(iVar23 + 0x2f54);\nLAB_0011c120:\n  while( true ) {\n    (*pcVar24)();\nLAB_0011c128:\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\nLAB_0011c144:\n    iVar2 = unaff_s6;\n    this = unaff_s4;\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc);\nLAB_0011c160:\n    in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);\n    if (in_t1 == (int *)0x0) break;\n    pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);\n  }\nLAB_0011c0d0:\n  piVar18 = (int *)write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac));\n  return piVar18;\nLAB_0011c198:\n  piVar13 = (int *)&DAT_00000108;\n  iVar16 = *(int *)(pcVar22 + 0x3165a8) + -0x3578;\n  iVar12 = *(int *)(pcVar22 + 0x316400) + 0x46d4;\n  (**(code **)(pcVar22 + 0x3165b8))();\n  uVar8 = extraout_v1;\nLAB_0011c1b4:\n  if (uVar8 != 0) goto code_r0x0011c1bc;\n  goto LAB_0011bf00;\ncode_r0x0011c1bc:\n  pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);\n  goto LAB_0011c120;\n  while (uVar26 != 0x4d) {\nLAB_0011c20c:\n    pbVar1 = (byte *)(iVar27 + -1);\n    iVar27 = iVar27 + 1;\n    uVar7 = *pbVar1 & 0x7f;\n    uVar15 = (uVar7 >> 1) >> (~uVar26 & 0x1f);\n    if ((uVar26 & 0x20) != 0) {\n      uVar15 = uVar7 << (uVar26 & 0x1f);\n    }\n    uVar26 = uVar26 + 7;\n    iVar25 = iVar27 - iVar12;\n    piVar18 = (int *)((uint)piVar18 | uVar15);\n    if (-1 < (char)*pbVar1) goto LAB_0011c27c;\n  }\n  uVar14 = (**(code **)(pcVar22 + 0x31a648))(*(int *)(pcVar22 + 0x3161e4) + -0x2cdc);\n  (**(code **)(pcVar22 + 0x31628c))(uVar14);\n  iVar25 = 0xb;\nLAB_0011c27c:\n  *piVar13 = iVar25;\n  return piVar18;\n}\n\n" comment (declaration "int * gold::Output_section_incremental_inputs<32,false>::write_got_plt\n                (uchar *param_1,longlong param_2)\n\n{\n  byte *pbVar1;" primitive_type (pointer_declarator "* gold::Output_section_incremental_inputs" * (ERROR "gold::" identifier : :) identifier) (ERROR "<32" < number_literal) , (ERROR "false>::write_got_plt\n                (uchar *param_1,longlong param_2)\n\n{\n  byte" identifier > : : (function_declarator "write_got_plt\n                (uchar *param_1,longlong param_2)" identifier (parameter_list "(uchar *param_1,longlong param_2)" ( (parameter_declaration "uchar *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "longlong param_2" type_identifier identifier) ))) { identifier) (pointer_declarator "*pbVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uchar *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (expression_statement "Output_section_incremental_inputs<32,false> *this;" (update_expression "Output_section_incremental_inputs<32,false> *this" (binary_expression "Output_section_incremental_inputs<32,false> *this" (binary_expression "Output_section_incremental_inputs<32" identifier < number_literal) (ERROR ",false" , false) > (pointer_expression "*this" * identifier)) --) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int *in_a1;" primitive_type (pointer_declarator "*in_a1" * identifier) ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int in_a3;" primitive_type identifier ;) (declaration "int *in_t1;" primitive_type (pointer_declarator "*in_t1" * identifier) ;) (declaration "Stringpool_template *pSVar17;" type_identifier (pointer_declarator "*pSVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "uchar *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (expression_statement "Output_section_incremental_inputs<32,false> *unaff_s4;" (update_expression "Output_section_incremental_inputs<32,false> *unaff_s4" (binary_expression "Output_section_incremental_inputs<32,false> *unaff_s4" (binary_expression "Output_section_incremental_inputs<32" identifier < number_literal) (ERROR ",false" , false) > (pointer_expression "*unaff_s4" * identifier)) --) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "undefined4 in_stack_ffffffac;" type_identifier identifier ;) (declaration "int *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "int local_28;" primitive_type identifier ;) (expression_statement "Output_section_incremental_inputs<32,false> *local_24;" (update_expression "Output_section_incremental_inputs<32,false> *local_24" (binary_expression "Output_section_incremental_inputs<32,false> *local_24" (binary_expression "Output_section_incremental_inputs<32" identifier < number_literal) (ERROR ",false" , false) > (pointer_expression "*local_24" * identifier)) --) ;) (expression_statement "iVar25 = 0x43a1d0;" (assignment_expression "iVar25 = 0x43a1d0" identifier = number_literal) ;) (expression_statement "iVar27 = 0x43a1d0;" (assignment_expression "iVar27 = 0x43a1d0" identifier = number_literal) ;) (expression_statement "piVar18 = *(int **)(*(int *)PTR_parameters_00432be0 + 0xc);" (assignment_expression "piVar18 = *(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 0xc" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (piVar18 != (int *)0x0) {\n    local_44 = (**(code **)(*piVar18 + 0xcc))(piVar18);\n    local_40 = (**(code **)(*piVar18 + 0xd0))(piVar18);\n    local_3c = (**(code **)(*piVar18 + 0xd4))(piVar18);\n    local_38 = (**(code **)(*piVar18 + 0xd8))(piVar18);\n    if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {\n      local_34 = 4;\n      iVar25 = iVar27;\n    }\n    else {\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }\n    local_50 = in_a1 + 2;\n    local_4c = (int)local_50 + (local_44 + 3 & 0xfffffffc);\n    local_48 = local_4c + local_44 * 8;\n    uVar14 = 0x7ab;\n    if ((int)in_a1 + in_a3 == local_48 + local_40 * 4) {\n      pcVar22 = *(code **)(iVar25 + -0x3980);\n      in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;\n      *in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;\n      (*pcVar22)(local_50,0xff);\n      piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);\n      if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }\n      piVar18 = *(int **)(param_1 + 0x34);\n      in_t1 = (int *)piVar18[0xc];\n      uVar26 = local_30;\n      do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );\n    }\nLAB_0011bda0:\n    iVar27 = iVar25;\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8);\nLAB_0011bdb8:\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec);\n    uVar26 = local_30;\nLAB_0011bdd4:\n    local_30 = uVar26;\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4);\n  }" if (parenthesized_expression "(piVar18 != (int *)0x0)" ( (binary_expression "piVar18 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_44 = (**(code **)(*piVar18 + 0xcc))(piVar18);\n    local_40 = (**(code **)(*piVar18 + 0xd0))(piVar18);\n    local_3c = (**(code **)(*piVar18 + 0xd4))(piVar18);\n    local_38 = (**(code **)(*piVar18 + 0xd8))(piVar18);\n    if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {\n      local_34 = 4;\n      iVar25 = iVar27;\n    }\n    else {\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }\n    local_50 = in_a1 + 2;\n    local_4c = (int)local_50 + (local_44 + 3 & 0xfffffffc);\n    local_48 = local_4c + local_44 * 8;\n    uVar14 = 0x7ab;\n    if ((int)in_a1 + in_a3 == local_48 + local_40 * 4) {\n      pcVar22 = *(code **)(iVar25 + -0x3980);\n      in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;\n      *in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;\n      (*pcVar22)(local_50,0xff);\n      piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);\n      if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }\n      piVar18 = *(int **)(param_1 + 0x34);\n      in_t1 = (int *)piVar18[0xc];\n      uVar26 = local_30;\n      do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );\n    }\nLAB_0011bda0:\n    iVar27 = iVar25;\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8);\nLAB_0011bdb8:\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec);\n    uVar26 = local_30;\nLAB_0011bdd4:\n    local_30 = uVar26;\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4);\n  }" { (expression_statement "local_44 = (**(code **)(*piVar18 + 0xcc))(piVar18);" (assignment_expression "local_44 = (**(code **)(*piVar18 + 0xcc))(piVar18)" identifier = (call_expression "(**(code **)(*piVar18 + 0xcc))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xcc))" ( (pointer_expression "**(code **)(*piVar18 + 0xcc)" * (pointer_expression "*(code **)(*piVar18 + 0xcc)" * (cast_expression "(code **)(*piVar18 + 0xcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xcc)" ( (binary_expression "*piVar18 + 0xcc" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (expression_statement "local_40 = (**(code **)(*piVar18 + 0xd0))(piVar18);" (assignment_expression "local_40 = (**(code **)(*piVar18 + 0xd0))(piVar18)" identifier = (call_expression "(**(code **)(*piVar18 + 0xd0))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xd0))" ( (pointer_expression "**(code **)(*piVar18 + 0xd0)" * (pointer_expression "*(code **)(*piVar18 + 0xd0)" * (cast_expression "(code **)(*piVar18 + 0xd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xd0)" ( (binary_expression "*piVar18 + 0xd0" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (expression_statement "local_3c = (**(code **)(*piVar18 + 0xd4))(piVar18);" (assignment_expression "local_3c = (**(code **)(*piVar18 + 0xd4))(piVar18)" identifier = (call_expression "(**(code **)(*piVar18 + 0xd4))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xd4))" ( (pointer_expression "**(code **)(*piVar18 + 0xd4)" * (pointer_expression "*(code **)(*piVar18 + 0xd4)" * (cast_expression "(code **)(*piVar18 + 0xd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xd4)" ( (binary_expression "*piVar18 + 0xd4" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (expression_statement "local_38 = (**(code **)(*piVar18 + 0xd8))(piVar18);" (assignment_expression "local_38 = (**(code **)(*piVar18 + 0xd8))(piVar18)" identifier = (call_expression "(**(code **)(*piVar18 + 0xd8))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xd8))" ( (pointer_expression "**(code **)(*piVar18 + 0xd8)" * (pointer_expression "*(code **)(*piVar18 + 0xd8)" * (cast_expression "(code **)(*piVar18 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xd8)" ( (binary_expression "*piVar18 + 0xd8" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (if_statement "if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {\n      local_34 = 4;\n      iVar25 = iVar27;\n    }\n    else {\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }" if (parenthesized_expression "(*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98))" ( (binary_expression "*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)" (pointer_expression "*(code **)(*piVar18 + 0xdc)" * (cast_expression "(code **)(*piVar18 + 0xdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xdc)" ( (binary_expression "*piVar18 + 0xdc" (pointer_expression "*piVar18" * identifier) + number_literal) )))) == (pointer_expression "*(code **)(iVar27 + -0x5e98)" * (cast_expression "(code **)(iVar27 + -0x5e98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar27 + -0x5e98)" ( (binary_expression "iVar27 + -0x5e98" identifier + number_literal) ))))) )) (compound_statement "{\n      local_34 = 4;\n      iVar25 = iVar27;\n    }" { (expression_statement "local_34 = 4;" (assignment_expression "local_34 = 4" identifier = number_literal) ;) (expression_statement "iVar25 = iVar27;" (assignment_expression "iVar25 = iVar27" identifier = identifier) ;) }) (else_clause "else {\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }" else (compound_statement "{\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }" { (expression_statement "local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);" (assignment_expression "local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18)" identifier = (call_expression "(**(code **)(*piVar18 + 0xdc))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xdc))" ( (pointer_expression "**(code **)(*piVar18 + 0xdc)" * (pointer_expression "*(code **)(*piVar18 + 0xdc)" * (cast_expression "(code **)(*piVar18 + 0xdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xdc)" ( (binary_expression "*piVar18 + 0xdc" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (expression_statement "iVar25 = iVar27;" (assignment_expression "iVar25 = iVar27" identifier = identifier) ;) }))) (expression_statement "local_50 = in_a1 + 2;" (assignment_expression "local_50 = in_a1 + 2" identifier = (binary_expression "in_a1 + 2" identifier + number_literal)) ;) (expression_statement "local_4c = (int)local_50 + (local_44 + 3 & 0xfffffffc);" (assignment_expression "local_4c = (int)local_50 + (local_44 + 3 & 0xfffffffc)" identifier = (binary_expression "(int)local_50 + (local_44 + 3 & 0xfffffffc)" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(local_44 + 3 & 0xfffffffc)" ( (binary_expression "local_44 + 3 & 0xfffffffc" (binary_expression "local_44 + 3" identifier + number_literal) & number_literal) )))) ;) (expression_statement "local_48 = local_4c + local_44 * 8;" (assignment_expression "local_48 = local_4c + local_44 * 8" identifier = (binary_expression "local_4c + local_44 * 8" identifier + (binary_expression "local_44 * 8" identifier * number_literal))) ;) (expression_statement "uVar14 = 0x7ab;" (assignment_expression "uVar14 = 0x7ab" identifier = number_literal) ;) (if_statement "if ((int)in_a1 + in_a3 == local_48 + local_40 * 4) {\n      pcVar22 = *(code **)(iVar25 + -0x3980);\n      in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;\n      *in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;\n      (*pcVar22)(local_50,0xff);\n      piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);\n      if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }\n      piVar18 = *(int **)(param_1 + 0x34);\n      in_t1 = (int *)piVar18[0xc];\n      uVar26 = local_30;\n      do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );\n    }" if (parenthesized_expression "((int)in_a1 + in_a3 == local_48 + local_40 * 4)" ( (binary_expression "(int)in_a1 + in_a3 == local_48 + local_40 * 4" (binary_expression "(int)in_a1 + in_a3" (cast_expression "(int)in_a1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) == (binary_expression "local_48 + local_40 * 4" identifier + (binary_expression "local_40 * 4" identifier * number_literal))) )) (compound_statement "{\n      pcVar22 = *(code **)(iVar25 + -0x3980);\n      in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;\n      *in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;\n      (*pcVar22)(local_50,0xff);\n      piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);\n      if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }\n      piVar18 = *(int **)(param_1 + 0x34);\n      in_t1 = (int *)piVar18[0xc];\n      uVar26 = local_30;\n      do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );\n    }" { (expression_statement "pcVar22 = *(code **)(iVar25 + -0x3980);" (assignment_expression "pcVar22 = *(code **)(iVar25 + -0x3980)" identifier = (pointer_expression "*(code **)(iVar25 + -0x3980)" * (cast_expression "(code **)(iVar25 + -0x3980)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + -0x3980)" ( (binary_expression "iVar25 + -0x3980" identifier + number_literal) ))))) ;) (expression_statement "in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;" (assignment_expression "in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000" (subscript_expression "in_a1[1]" identifier [ number_literal ]) = (binary_expression "(((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10)" ( (binary_expression "(local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10" (binary_expression "(local_40 >> 0x10) << 0x18" (parenthesized_expression "(local_40 >> 0x10)" ( (binary_expression "local_40 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(local_40 >> 0x18) << 0x10" (parenthesized_expression "(local_40 >> 0x18)" ( (binary_expression "local_40 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff)" ( (binary_expression "(local_40 & 0xff) << 8 | local_40 >> 8 & 0xff" (binary_expression "(local_40 & 0xff) << 8" (parenthesized_expression "(local_40 & 0xff)" ( (binary_expression "local_40 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "local_40 >> 8 & 0xff" (binary_expression "local_40 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "*in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;" (assignment_expression "*in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000" (pointer_expression "*in_a1" * identifier) = (binary_expression "(((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10)" ( (binary_expression "(local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10" (binary_expression "(local_44 >> 0x10) << 0x18" (parenthesized_expression "(local_44 >> 0x10)" ( (binary_expression "local_44 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(local_44 >> 0x18) << 0x10" (parenthesized_expression "(local_44 >> 0x18)" ( (binary_expression "local_44 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff)" ( (binary_expression "(local_44 & 0xff) << 8 | local_44 >> 8 & 0xff" (binary_expression "(local_44 & 0xff) << 8" (parenthesized_expression "(local_44 & 0xff)" ( (binary_expression "local_44 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "local_44 >> 8 & 0xff" (binary_expression "local_44 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "(*pcVar22)(local_50,0xff);" (call_expression "(*pcVar22)(local_50,0xff)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(local_50,0xff)" ( identifier , number_literal ))) ;) (expression_statement "piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);" (assignment_expression "piVar18 = (int *)**(undefined4 **)(param_1 + 0x30)" identifier = (cast_expression "(int *)**(undefined4 **)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(param_1 + 0x30)" * (pointer_expression "*(undefined4 **)(param_1 + 0x30)" * (cast_expression "(undefined4 **)(param_1 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))))) ;) (if_statement "if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }" if (parenthesized_expression "(piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1])" ( (binary_expression "piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]" identifier != (cast_expression "(int *)(*(undefined4 **)(param_1 + 0x30))[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(undefined4 **)(param_1 + 0x30))[1]" (parenthesized_expression "(*(undefined4 **)(param_1 + 0x30))" ( (pointer_expression "*(undefined4 **)(param_1 + 0x30)" * (cast_expression "(undefined4 **)(param_1 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) )) [ number_literal ]))) )) (compound_statement "{\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }" { (expression_statement "iVar27 = *(int *)(iVar25 + -0x5e94);" (assignment_expression "iVar27 = *(int *)(iVar25 + -0x5e94)" identifier = (pointer_expression "*(int *)(iVar25 + -0x5e94)" * (cast_expression "(int *)(iVar25 + -0x5e94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x5e94)" ( (binary_expression "iVar25 + -0x5e94" identifier + number_literal) ))))) ;) (expression_statement "unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;" (assignment_expression "unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50" identifier = (binary_expression "(Output_section_incremental_inputs<32,false> *)&local_50" (parenthesized_expression "(Output_section_incremental_inputs<32,false> *)" ( (comma_expression "Output_section_incremental_inputs<32,false> *" (binary_expression "Output_section_incremental_inputs<32" identifier < number_literal) , (binary_expression "false> *" false > (pointer_expression "*" * identifier))) )) & identifier)) ;) (do_statement "do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);" do (compound_statement "{\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        }" { (expression_statement "iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);" (assignment_expression "iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18)" identifier = (call_expression "(**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18)" (parenthesized_expression "(**(code **)(*(int *)*piVar18 + 8))" ( (pointer_expression "**(code **)(*(int *)*piVar18 + 8)" * (pointer_expression "*(code **)(*(int *)*piVar18 + 8)" * (cast_expression "(code **)(*(int *)*piVar18 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)*piVar18 + 8)" ( (binary_expression "*(int *)*piVar18 + 8" (pointer_expression "*(int *)*piVar18" * (cast_expression "(int *)*piVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier))) + number_literal) ))))) )) (argument_list "((int *)*piVar18)" ( (cast_expression "(int *)*piVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier)) )))) ;) (expression_statement "iVar5 = *(int *)*piVar18;" (assignment_expression "iVar5 = *(int *)*piVar18" identifier = (pointer_expression "*(int *)*piVar18" * (cast_expression "(int *)*piVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier)))) ;) (if_statement "if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }" if (parenthesized_expression "(iVar2 == 1)" ( (binary_expression "iVar2 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }" { (labeled_statement "LAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();" statement_identifier : (expression_statement "iVar2 = (**(code **)(iVar5 + 0x10))();" (assignment_expression "iVar2 = (**(code **)(iVar5 + 0x10))()" identifier = (call_expression "(**(code **)(iVar5 + 0x10))()" (parenthesized_expression "(**(code **)(iVar5 + 0x10))" ( (pointer_expression "**(code **)(iVar5 + 0x10)" * (pointer_expression "*(code **)(iVar5 + 0x10)" * (cast_expression "(code **)(iVar5 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (if_statement "if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }" { (expression_statement "uVar14 = 0x7bf;" (assignment_expression "uVar14 = 0x7bf" identifier = number_literal) ;) (goto_statement "goto LAB_0011bda0;" goto statement_identifier ;) })) (expression_statement "piVar11 = *(int **)(iVar2 + 0x24);" (assignment_expression "piVar11 = *(int **)(iVar2 + 0x24)" identifier = (pointer_expression "*(int **)(iVar2 + 0x24)" * (cast_expression "(int **)(iVar2 + 0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x24)" ( (binary_expression "iVar2 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = 0x7c1;" (assignment_expression "uVar14 = 0x7c1" identifier = number_literal) ;) (if_statement "if (piVar11 == (int *)0x0) goto LAB_0011bda0;" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011bda0;" goto statement_identifier ;)) (expression_statement "local_2c = *(undefined4 *)(*piVar18 + 8);" (assignment_expression "local_2c = *(undefined4 *)(*piVar18 + 8)" identifier = (pointer_expression "*(undefined4 *)(*piVar18 + 8)" * (cast_expression "(undefined4 *)(*piVar18 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar18 + 8)" ( (binary_expression "*piVar18 + 8" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) ;) (expression_statement "local_28 = iVar27 + 8;" (assignment_expression "local_28 = iVar27 + 8" identifier = (binary_expression "iVar27 + 8" identifier + number_literal)) ;) (expression_statement "local_24 = unaff_s4;" (assignment_expression "local_24 = unaff_s4" identifier = identifier) ;) (expression_statement "(**(code **)(*piVar11 + 0x34))(piVar11,&local_28);" (call_expression "(**(code **)(*piVar11 + 0x34))(piVar11,&local_28)" (parenthesized_expression "(**(code **)(*piVar11 + 0x34))" ( (pointer_expression "**(code **)(*piVar11 + 0x34)" * (pointer_expression "*(code **)(*piVar11 + 0x34)" * (cast_expression "(code **)(*piVar11 + 0x34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar11 + 0x34)" ( (binary_expression "*piVar11 + 0x34" (pointer_expression "*piVar11" * identifier) + number_literal) ))))) )) (argument_list "(piVar11,&local_28)" ( identifier , (pointer_expression "&local_28" & identifier) ))) ;) }) (else_clause "else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }" else (compound_statement "{\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }" { (expression_statement "iVar2 = (**(code **)(iVar5 + 8))();" (assignment_expression "iVar2 = (**(code **)(iVar5 + 8))()" identifier = (call_expression "(**(code **)(iVar5 + 8))()" (parenthesized_expression "(**(code **)(iVar5 + 8))" ( (pointer_expression "**(code **)(iVar5 + 8)" * (pointer_expression "*(code **)(iVar5 + 8)" * (cast_expression "(code **)(iVar5 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }" if (parenthesized_expression "(iVar2 == 2)" ( (binary_expression "iVar2 == 2" identifier == number_literal) )) (compound_statement "{\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }" { (expression_statement "iVar5 = *(int *)*piVar18;" (assignment_expression "iVar5 = *(int *)*piVar18" identifier = (pointer_expression "*(int *)*piVar18" * (cast_expression "(int *)*piVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier)))) ;) (goto_statement "goto LAB_0011bbf0;" goto statement_identifier ;) })) }))) (expression_statement "piVar18 = piVar18 + 1;" (assignment_expression "piVar18 = piVar18 + 1" identifier = (binary_expression "piVar18 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18)" ( (binary_expression "*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18" (pointer_expression "*(int **)(*(int *)(param_1 + 0x30) + 4)" * (cast_expression "(int **)(*(int *)(param_1 + 0x30) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1 + 0x30) + 4)" ( (binary_expression "*(int *)(param_1 + 0x30) + 4" (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) + number_literal) )))) != identifier) )) ;) })) (expression_statement "piVar18 = *(int **)(param_1 + 0x34);" (assignment_expression "piVar18 = *(int **)(param_1 + 0x34)" identifier = (pointer_expression "*(int **)(param_1 + 0x34)" * (cast_expression "(int **)(param_1 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "in_t1 = (int *)piVar18[0xc];" (assignment_expression "in_t1 = (int *)piVar18[0xc]" identifier = (cast_expression "(int *)piVar18[0xc]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0xc]" identifier [ number_literal ]))) ;) (expression_statement "uVar26 = local_30;" (assignment_expression "uVar26 = local_30" identifier = identifier) ;) (do_statement "do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );" do (compound_statement "{\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      }" { (if_statement "if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }" if (parenthesized_expression "(in_t1 == (int *)0x0)" ( (binary_expression "in_t1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return piVar18;\n        }" { (return_statement "return piVar18;" return identifier ;) })) (expression_statement "iVar2 = in_t1[3];" (assignment_expression "iVar2 = in_t1[3]" identifier = (subscript_expression "in_t1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = *(uint *)(iVar2 + 0x1c);" (assignment_expression "uVar15 = *(uint *)(iVar2 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = (uint *)(iVar2 + 0x1c);" (assignment_expression "puVar6 = (uint *)(iVar2 + 0x1c)" identifier = (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) ;) (expression_statement "local_30 = uVar26;" (assignment_expression "local_30 = uVar26" identifier = identifier) ;) (expression_statement "iVar27 = iVar25;" (assignment_expression "iVar27 = iVar25" identifier = identifier) ;) (if_statement "if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }" if (parenthesized_expression "((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0))" ( (binary_expression "(uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)" (parenthesized_expression "(uVar15 != 0xffffffff)" ( (binary_expression "uVar15 != 0xffffffff" identifier != number_literal) )) && (parenthesized_expression "(puVar6 != (uint *)0x0)" ( (binary_expression "puVar6 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }" { (expression_statement "local_30 = *(uint *)(iVar2 + 0x10);" (assignment_expression "local_30 = *(uint *)(iVar2 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (local_30 == 0) goto LAB_0011bdd4;" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0011bdd4;" goto statement_identifier ;)) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }" { (if_statement "if (local_34 == 0) {\n              trap(7);\n            }" if (parenthesized_expression "(local_34 == 0)" ( (binary_expression "local_34 == 0" identifier == number_literal) )) (compound_statement "{\n              trap(7);\n            }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar26 = puVar6[1] / local_34;" (assignment_expression "uVar26 = puVar6[1] / local_34" identifier = (binary_expression "puVar6[1] / local_34" (subscript_expression "puVar6[1]" identifier [ number_literal ]) / identifier)) ;) (expression_statement "uVar14 = 0x75d;" (assignment_expression "uVar14 = 0x75d" identifier = number_literal) ;) (if_statement "if (local_44 <= uVar26) goto LAB_0011bd7c;" if (parenthesized_expression "(local_44 <= uVar26)" ( (binary_expression "local_44 <= uVar26" identifier <= identifier) )) (goto_statement "goto LAB_0011bd7c;" goto statement_identifier ;)) (if_statement "if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }" if (parenthesized_expression "(0x7e < uVar15)" ( (binary_expression "0x7e < uVar15" number_literal < identifier) )) (compound_statement "{\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }" { (do_statement "do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );" do (compound_statement "{\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              }" { (expression_statement "uVar14 = 0x761;" (assignment_expression "uVar14 = 0x761" identifier = number_literal) ;) (labeled_statement "LAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);" statement_identifier : (expression_statement "(**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);" (call_expression "(**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4)" (parenthesized_expression "(**(code **)(iVar25 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar25 + -0x7e0c)" * (pointer_expression "*(code **)(iVar25 + -0x7e0c)" * (cast_expression "(code **)(iVar25 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + -0x7e0c)" ( (binary_expression "iVar25 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4)" ( (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x4fcc" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x36f4" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "*(char *)((int)local_50 + uVar26) = (char)uVar15;" (assignment_expression "*(char *)((int)local_50 + uVar26) = (char)uVar15" (pointer_expression "*(char *)((int)local_50 + uVar26)" * (cast_expression "(char *)((int)local_50 + uVar26)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_50 + uVar26)" ( (binary_expression "(int)local_50 + uVar26" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = (cast_expression "(char)uVar15" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "puVar6 = (uint *)puVar6[2];" (assignment_expression "puVar6 = (uint *)puVar6[2]" identifier = (cast_expression "(uint *)puVar6[2]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[2]" identifier [ number_literal ]))) ;) (expression_statement "piVar18 = (int *)(local_4c + uVar26 * 8);" (assignment_expression "piVar18 = (int *)(local_4c + uVar26 * 8)" identifier = (cast_expression "(int *)(local_4c + uVar26 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_4c + uVar26 * 8)" ( (binary_expression "local_4c + uVar26 * 8" identifier + (binary_expression "uVar26 * 8" identifier * number_literal)) )))) ;) (expression_statement "piVar18[1] = 0;" (assignment_expression "piVar18[1] = 0" (subscript_expression "piVar18[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar18" * identifier) = (binary_expression "(((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10)" ( (binary_expression "(local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10" (binary_expression "(local_30 >> 0x10) << 0x18" (parenthesized_expression "(local_30 >> 0x10)" ( (binary_expression "local_30 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(local_30 >> 0x18) << 0x10" (parenthesized_expression "(local_30 >> 0x18)" ( (binary_expression "local_30 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff)" ( (binary_expression "(local_30 & 0xff) << 8 | local_30 >> 8 & 0xff" (binary_expression "(local_30 & 0xff) << 8" (parenthesized_expression "(local_30 & 0xff)" ( (binary_expression "local_30 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "local_30 >> 8 & 0xff" (binary_expression "local_30 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (puVar6 == (uint *)0x0) break;" if (parenthesized_expression "(puVar6 == (uint *)0x0)" ( (binary_expression "puVar6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar15 = *puVar6;" (assignment_expression "uVar15 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) })) })) (expression_statement "piVar18 = *(int **)(iVar2 + 0x18);" (assignment_expression "piVar18 = *(int **)(iVar2 + 0x18)" identifier = (pointer_expression "*(int **)(iVar2 + 0x18)" * (cast_expression "(int **)(iVar2 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar26 = local_30;" (assignment_expression "uVar26 = local_30" identifier = identifier) ;) (if_statement "if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }" if (parenthesized_expression "(piVar18 != (int *)0xffffffff)" ( (binary_expression "piVar18 != (int *)0xffffffff" identifier != (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }" { (if_statement "if (local_38 == 0) {\n            trap(7);\n          }" if (parenthesized_expression "(local_38 == 0)" ( (binary_expression "local_38 == 0" identifier == number_literal) )) (compound_statement "{\n            trap(7);\n          }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar15 = (uint)((int)piVar18 - local_3c) / local_38;" (assignment_expression "uVar15 = (uint)((int)piVar18 - local_3c) / local_38" identifier = (binary_expression "(uint)((int)piVar18 - local_3c) / local_38" (call_expression "(uint)((int)piVar18 - local_3c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)piVar18 - local_3c)" ( (binary_expression "(int)piVar18 - local_3c" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) / identifier)) ;) (if_statement "if (local_40 <= uVar15) goto LAB_0011bdb8;" if (parenthesized_expression "(local_40 <= uVar15)" ( (binary_expression "local_40 <= uVar15" identifier <= identifier) )) (goto_statement "goto LAB_0011bdb8;" goto statement_identifier ;)) (expression_statement "uVar7 = *(uint *)(iVar2 + 0x10);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "piVar18 = (int *)(local_48 + uVar15 * 4);" (assignment_expression "piVar18 = (int *)(local_48 + uVar15 * 4)" identifier = (cast_expression "(int *)(local_48 + uVar15 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + uVar15 * 4)" ( (binary_expression "local_48 + uVar15 * 4" identifier + (binary_expression "uVar15 * 4" identifier * number_literal)) )))) ;) (if_statement "if (uVar7 == 0) goto LAB_0011bdd4;" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0011bdd4;" goto statement_identifier ;)) (expression_statement "*piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar18" * identifier) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) })) (expression_statement "in_t1 = (int *)*in_t1;" (assignment_expression "in_t1 = (int *)*in_t1" identifier = (cast_expression "(int *)*in_t1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*in_t1" * identifier))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (labeled_statement "LAB_0011bda0:\n    iVar27 = iVar25;" statement_identifier : (expression_statement "iVar27 = iVar25;" (assignment_expression "iVar27 = iVar25" identifier = identifier) ;)) (expression_statement "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8);" (call_expression "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8)" (parenthesized_expression "(**(code **)(iVar25 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar25 + -0x7e0c)" * (pointer_expression "*(code **)(iVar25 + -0x7e0c)" * (cast_expression "(code **)(iVar25 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + -0x7e0c)" ( (binary_expression "iVar25 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8)" ( (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x4fcc" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x36d8" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0011bdb8:\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec);" statement_identifier : (expression_statement "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec);" (call_expression "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec)" (parenthesized_expression "(**(code **)(iVar25 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar25 + -0x7e0c)" * (pointer_expression "*(code **)(iVar25 + -0x7e0c)" * (cast_expression "(code **)(iVar25 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + -0x7e0c)" ( (binary_expression "iVar25 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec)" ( (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x4fcc" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x36ec" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "uVar26 = local_30;" (assignment_expression "uVar26 = local_30" identifier = identifier) ;) (labeled_statement "LAB_0011bdd4:\n    local_30 = uVar26;" statement_identifier : (expression_statement "local_30 = uVar26;" (assignment_expression "local_30 = uVar26" identifier = identifier) ;)) (expression_statement "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4);" (call_expression "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4)" (parenthesized_expression "(**(code **)(iVar25 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar25 + -0x7e0c)" * (pointer_expression "*(code **)(iVar25 + -0x7e0c)" * (cast_expression "(code **)(iVar25 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + -0x7e0c)" ( (binary_expression "iVar25 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4)" ( (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x5bdc" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x34f4" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iVar2 = 0x73;" (assignment_expression "iVar2 = 0x73" identifier = number_literal) ;) (expression_statement "pcVar22 = *(code **)(iVar25 + -0x7e0c);" (assignment_expression "pcVar22 = *(code **)(iVar25 + -0x7e0c)" identifier = (pointer_expression "*(code **)(iVar25 + -0x7e0c)" * (cast_expression "(code **)(iVar25 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + -0x7e0c)" ( (binary_expression "iVar25 + -0x7e0c" identifier + number_literal) ))))) ;) (expression_statement "this = (Output_section_incremental_inputs<32,false> *)(*(int *)(iVar25 + -0x7e1c) + -0x5cec);" (assignment_expression "this = (Output_section_incremental_inputs<32,false> *)(*(int *)(iVar25 + -0x7e1c) + -0x5cec)" identifier = (call_expression "(Output_section_incremental_inputs<32,false> *)(*(int *)(iVar25 + -0x7e1c) + -0x5cec)" (parenthesized_expression "(Output_section_incremental_inputs<32,false> *)" ( (comma_expression "Output_section_incremental_inputs<32,false> *" (binary_expression "Output_section_incremental_inputs<32" identifier < number_literal) , (binary_expression "false> *" false > (pointer_expression "*" * identifier))) )) (argument_list "(*(int *)(iVar25 + -0x7e1c) + -0x5cec)" ( (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x5cec" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar22)(this,0x73,*(int *)(iVar25 + -0x7e1c) + -0x3514);" (call_expression "(*pcVar22)(this,0x73,*(int *)(iVar25 + -0x7e1c) + -0x3514)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(this,0x73,*(int *)(iVar25 + -0x7e1c) + -0x3514)" ( identifier , number_literal , (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x3514" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar18 = *(int **)(this + 0x30);" (assignment_expression "piVar18 = *(int **)(this + 0x30)" identifier = (pointer_expression "*(int **)(this + 0x30)" * (cast_expression "(int **)(this + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x30)" ( (binary_expression "this + 0x30" identifier + number_literal) ))))) ;) (expression_statement "pSVar17 = (Stringpool_template *)piVar18[10];" (assignment_expression "pSVar17 = (Stringpool_template *)piVar18[10]" identifier = (cast_expression "(Stringpool_template *)piVar18[10]" ( (type_descriptor "Stringpool_template *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[10]" identifier [ number_literal ]))) ;) (if_statement "if (-1 < *(int *)(this + 0x20) << 2) goto LAB_0011c144;" if (parenthesized_expression "(-1 < *(int *)(this + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(this + 0x20) << 2" number_literal < (binary_expression "*(int *)(this + 0x20) << 2" (pointer_expression "*(int *)(this + 0x20)" * (cast_expression "(int *)(this + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x20)" ( (binary_expression "this + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_0011c144;" goto statement_identifier ;)) (if_statement "if (-1 < *(int *)(this + 0x20) << 1) goto LAB_0011c128;" if (parenthesized_expression "(-1 < *(int *)(this + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(this + 0x20) << 1" number_literal < (binary_expression "*(int *)(this + 0x20) << 1" (pointer_expression "*(int *)(this + 0x20)" * (cast_expression "(int *)(this + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x20)" ( (binary_expression "this + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_0011c128;" goto statement_identifier ;)) (expression_statement "iVar25 = *(int *)(this + 0x10);" (assignment_expression "iVar25 = *(int *)(this + 0x10)" identifier = (pointer_expression "*(int *)(this + 0x10)" * (cast_expression "(int *)(this + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar26 = *(uint *)(this + 0x14);" (assignment_expression "uVar26 = *(uint *)(this + 0x14)" identifier = (pointer_expression "*(uint *)(this + 0x14)" * (cast_expression "(uint *)(this + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(this + 0x18) < 0) {\nLAB_0011c118:\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n  }\n  else {\n    uVar15 = uVar26 + *(int *)(this + 0x1c);\n    iVar12 = *(int *)(iVar2 + 8);\n    iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18);\n    in_t1 = *(int **)(iVar2 + 0xc);\n    if ((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))) goto LAB_0011c118;\n    iVar5 = piVar18[0xe];\n    piVar11 = *(int **)(iVar2 + 0x10);\n    puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c));\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\n    if (-1 < *(int *)(iVar5 + 0x20) << 2) goto LAB_0011c144;\n    iVar16 = *(int *)(iVar5 + 0x1c);\n    if (-1 < *(int *)(iVar5 + 0x20) << 1) goto LAB_0011c128;\n    uVar15 = *(uint *)(iVar5 + 0x10);\n    uVar7 = *(uint *)(iVar5 + 0x14);\n    if (*(int *)(iVar5 + 0x18) < 0) goto LAB_0011c118;\n    iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18);\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n    if (iVar5 <= iVar12) {\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }\n  }" if (parenthesized_expression "(*(int *)(this + 0x18) < 0)" ( (binary_expression "*(int *)(this + 0x18) < 0" (pointer_expression "*(int *)(this + 0x18)" * (cast_expression "(int *)(this + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x18)" ( (binary_expression "this + 0x18" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\nLAB_0011c118:\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n  }" { (labeled_statement "LAB_0011c118:\n    iVar23 = *(int *)(pcVar22 + 0x318234);" statement_identifier : (expression_statement "iVar23 = *(int *)(pcVar22 + 0x318234);" (assignment_expression "iVar23 = *(int *)(pcVar22 + 0x318234)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x318234)" * (cast_expression "(int *)(pcVar22 + 0x318234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x318234)" ( (binary_expression "pcVar22 + 0x318234" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n    uVar15 = uVar26 + *(int *)(this + 0x1c);\n    iVar12 = *(int *)(iVar2 + 8);\n    iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18);\n    in_t1 = *(int **)(iVar2 + 0xc);\n    if ((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))) goto LAB_0011c118;\n    iVar5 = piVar18[0xe];\n    piVar11 = *(int **)(iVar2 + 0x10);\n    puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c));\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\n    if (-1 < *(int *)(iVar5 + 0x20) << 2) goto LAB_0011c144;\n    iVar16 = *(int *)(iVar5 + 0x1c);\n    if (-1 < *(int *)(iVar5 + 0x20) << 1) goto LAB_0011c128;\n    uVar15 = *(uint *)(iVar5 + 0x10);\n    uVar7 = *(uint *)(iVar5 + 0x14);\n    if (*(int *)(iVar5 + 0x18) < 0) goto LAB_0011c118;\n    iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18);\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n    if (iVar5 <= iVar12) {\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }\n  }" else (compound_statement "{\n    uVar15 = uVar26 + *(int *)(this + 0x1c);\n    iVar12 = *(int *)(iVar2 + 8);\n    iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18);\n    in_t1 = *(int **)(iVar2 + 0xc);\n    if ((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))) goto LAB_0011c118;\n    iVar5 = piVar18[0xe];\n    piVar11 = *(int **)(iVar2 + 0x10);\n    puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c));\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\n    if (-1 < *(int *)(iVar5 + 0x20) << 2) goto LAB_0011c144;\n    iVar16 = *(int *)(iVar5 + 0x1c);\n    if (-1 < *(int *)(iVar5 + 0x20) << 1) goto LAB_0011c128;\n    uVar15 = *(uint *)(iVar5 + 0x10);\n    uVar7 = *(uint *)(iVar5 + 0x14);\n    if (*(int *)(iVar5 + 0x18) < 0) goto LAB_0011c118;\n    iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18);\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n    if (iVar5 <= iVar12) {\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }\n  }" { (expression_statement "uVar15 = uVar26 + *(int *)(this + 0x1c);" (assignment_expression "uVar15 = uVar26 + *(int *)(this + 0x1c)" identifier = (binary_expression "uVar26 + *(int *)(this + 0x1c)" identifier + (pointer_expression "*(int *)(this + 0x1c)" * (cast_expression "(int *)(this + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1c)" ( (binary_expression "this + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar12 = *(int *)(iVar2 + 8);" (assignment_expression "iVar12 = *(int *)(iVar2 + 8)" identifier = (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18);" (assignment_expression "iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18)" identifier = (binary_expression "(uint)(uVar15 < uVar26) + *(int *)(this + 0x18)" (call_expression "(uint)(uVar15 < uVar26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar15 < uVar26)" ( (binary_expression "uVar15 < uVar26" identifier < identifier) ))) + (pointer_expression "*(int *)(this + 0x18)" * (cast_expression "(int *)(this + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x18)" ( (binary_expression "this + 0x18" identifier + number_literal) )))))) ;) (expression_statement "in_t1 = *(int **)(iVar2 + 0xc);" (assignment_expression "in_t1 = *(int **)(iVar2 + 0xc)" identifier = (pointer_expression "*(int **)(iVar2 + 0xc)" * (cast_expression "(int **)(iVar2 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))) goto LAB_0011c118;" if (parenthesized_expression "((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15))))" ( (binary_expression "(iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))" (parenthesized_expression "(iVar12 < iVar5)" ( (binary_expression "iVar12 < iVar5" identifier < identifier) )) || (parenthesized_expression "((iVar5 == iVar12 && (in_t1 < uVar15)))" ( (parenthesized_expression "(iVar5 == iVar12 && (in_t1 < uVar15))" ( (binary_expression "iVar5 == iVar12 && (in_t1 < uVar15)" (binary_expression "iVar5 == iVar12" identifier == identifier) && (parenthesized_expression "(in_t1 < uVar15)" ( (binary_expression "in_t1 < uVar15" identifier < identifier) ))) )) ))) )) (goto_statement "goto LAB_0011c118;" goto statement_identifier ;)) (expression_statement "iVar5 = piVar18[0xe];" (assignment_expression "iVar5 = piVar18[0xe]" identifier = (subscript_expression "piVar18[0xe]" identifier [ number_literal ])) ;) (expression_statement "piVar11 = *(int **)(iVar2 + 0x10);" (assignment_expression "piVar11 = *(int **)(iVar2 + 0x10)" identifier = (pointer_expression "*(int **)(iVar2 + 0x10)" * (cast_expression "(int **)(iVar2 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c));" (assignment_expression "puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c))" identifier = (cast_expression "(uchar *)((int)piVar11 + *(int *)(this + 0x1c))" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + *(int *)(this + 0x1c))" ( (binary_expression "(int)piVar11 + *(int *)(this + 0x1c)" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(this + 0x1c)" * (cast_expression "(int *)(this + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1c)" ( (binary_expression "this + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "unaff_s4 = this;" (assignment_expression "unaff_s4 = this" identifier = identifier) ;) (expression_statement "unaff_s6 = iVar2;" (assignment_expression "unaff_s6 = iVar2" identifier = identifier) ;) (if_statement "if (-1 < *(int *)(iVar5 + 0x20) << 2) goto LAB_0011c144;" if (parenthesized_expression "(-1 < *(int *)(iVar5 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(iVar5 + 0x20) << 2" number_literal < (binary_expression "*(int *)(iVar5 + 0x20) << 2" (pointer_expression "*(int *)(iVar5 + 0x20)" * (cast_expression "(int *)(iVar5 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x20)" ( (binary_expression "iVar5 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_0011c144;" goto statement_identifier ;)) (expression_statement "iVar16 = *(int *)(iVar5 + 0x1c);" (assignment_expression "iVar16 = *(int *)(iVar5 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x1c)" * (cast_expression "(int *)(iVar5 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x1c)" ( (binary_expression "iVar5 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar5 + 0x20) << 1) goto LAB_0011c128;" if (parenthesized_expression "(-1 < *(int *)(iVar5 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar5 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar5 + 0x20) << 1" (pointer_expression "*(int *)(iVar5 + 0x20)" * (cast_expression "(int *)(iVar5 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x20)" ( (binary_expression "iVar5 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_0011c128;" goto statement_identifier ;)) (expression_statement "uVar15 = *(uint *)(iVar5 + 0x10);" (assignment_expression "uVar15 = *(uint *)(iVar5 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)(iVar5 + 0x14);" (assignment_expression "uVar7 = *(uint *)(iVar5 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar5 + 0x14)" * (cast_expression "(uint *)(iVar5 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x14)" ( (binary_expression "iVar5 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar5 + 0x18) < 0) goto LAB_0011c118;" if (parenthesized_expression "(*(int *)(iVar5 + 0x18) < 0)" ( (binary_expression "*(int *)(iVar5 + 0x18) < 0" (pointer_expression "*(int *)(iVar5 + 0x18)" * (cast_expression "(int *)(iVar5 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x18)" ( (binary_expression "iVar5 + 0x18" identifier + number_literal) )))) < number_literal) )) (goto_statement "goto LAB_0011c118;" goto statement_identifier ;)) (expression_statement "iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18);" (assignment_expression "iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18)" identifier = (binary_expression "(uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18)" (call_expression "(uint)(uVar7 + iVar16 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 + iVar16 < uVar7)" ( (binary_expression "uVar7 + iVar16 < uVar7" (binary_expression "uVar7 + iVar16" identifier + identifier) < identifier) ))) + (pointer_expression "*(int *)(iVar5 + 0x18)" * (cast_expression "(int *)(iVar5 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x18)" ( (binary_expression "iVar5 + 0x18" identifier + number_literal) )))))) ;) (expression_statement "iVar23 = *(int *)(pcVar22 + 0x318234);" (assignment_expression "iVar23 = *(int *)(pcVar22 + 0x318234)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x318234)" * (cast_expression "(int *)(pcVar22 + 0x318234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x318234)" ( (binary_expression "pcVar22 + 0x318234" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 <= iVar12) {\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }" if (parenthesized_expression "(iVar5 <= iVar12)" ( (binary_expression "iVar5 <= iVar12" identifier <= identifier) )) (compound_statement "{\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }" { (expression_statement "uVar8 = (uint)(in_t1 < uVar7 + iVar16);" (assignment_expression "uVar8 = (uint)(in_t1 < uVar7 + iVar16)" identifier = (call_expression "(uint)(in_t1 < uVar7 + iVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t1 < uVar7 + iVar16)" ( (binary_expression "in_t1 < uVar7 + iVar16" identifier < (binary_expression "uVar7 + iVar16" identifier + identifier)) )))) ;) (expression_statement "piVar13 = (int *)0x0;" (assignment_expression "piVar13 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar5 == iVar12) goto LAB_0011c1b4;" if (parenthesized_expression "(iVar5 == iVar12)" ( (binary_expression "iVar5 == iVar12" identifier == identifier) )) (goto_statement "goto LAB_0011c1b4;" goto statement_identifier ;)) (labeled_statement "LAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);" statement_identifier : (expression_statement "uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);" (assignment_expression "uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10)" identifier = (pointer_expression "*(uint *)(*(int *)(this + 0x34) + 0x10)" * (cast_expression "(uint *)(*(int *)(this + 0x34) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(this + 0x34) + 0x10)" ( (binary_expression "*(int *)(this + 0x34) + 0x10" (pointer_expression "*(int *)(this + 0x34)" * (cast_expression "(int *)(this + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x34)" ( (binary_expression "this + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;)) (expression_statement "piVar11 = (int *)((int)piVar11 + iVar16);" (assignment_expression "piVar11 = (int *)((int)piVar11 + iVar16)" identifier = (cast_expression "(int *)((int)piVar11 + iVar16)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + iVar16)" ( (binary_expression "(int)piVar11 + iVar16" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }" if (parenthesized_expression "(uVar8 < 0x20000000)" ( (binary_expression "uVar8 < 0x20000000" identifier < number_literal) )) (compound_statement "{\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }" { (expression_statement "uVar21 = uVar8 << 2;" (assignment_expression "uVar21 = uVar8 << 2" identifier = (binary_expression "uVar8 << 2" identifier << number_literal)) ;) (expression_statement "puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);" (assignment_expression "puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21)" identifier = (cast_expression "(uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar22 + 0x3164d0))(uVar21)" (parenthesized_expression "(**(code **)(pcVar22 + 0x3164d0))" ( (pointer_expression "**(code **)(pcVar22 + 0x3164d0)" * (pointer_expression "*(code **)(pcVar22 + 0x3164d0)" * (cast_expression "(code **)(pcVar22 + 0x3164d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x3164d0)" ( (binary_expression "pcVar22 + 0x3164d0" identifier + number_literal) ))))) )) (argument_list "(uVar21)" ( identifier ))))) ;) (expression_statement "(**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);" (call_expression "(**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21)" (parenthesized_expression "(**(code **)(pcVar22 + 0x31aa44))" ( (pointer_expression "**(code **)(pcVar22 + 0x31aa44)" * (pointer_expression "*(code **)(pcVar22 + 0x31aa44)" * (cast_expression "(code **)(pcVar22 + 0x31aa44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x31aa44)" ( (binary_expression "pcVar22 + 0x31aa44" identifier + number_literal) ))))) )) (argument_list "(puVar6,0,uVar21)" ( identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = piVar18[1] - *piVar18 >> 2;" (assignment_expression "uVar3 = piVar18[1] - *piVar18 >> 2" identifier = (binary_expression "piVar18[1] - *piVar18 >> 2" (binary_expression "piVar18[1] - *piVar18" (subscript_expression "piVar18[1]" identifier [ number_literal ]) - (pointer_expression "*piVar18" * identifier)) >> number_literal)) ;) (if_statement "if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;" if (parenthesized_expression "(*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9])" ( (binary_expression "*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]" (pointer_expression "*(uint *)(pSVar17 + 0x28)" * (cast_expression "(uint *)(pSVar17 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar17 + 0x28)" ( (binary_expression "pSVar17 + 0x28" identifier + number_literal) )))) < (cast_expression "(uint)piVar18[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar18[9]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_0011c198;" goto statement_identifier ;)) (expression_statement "uVar9 = piVar18[9] - 1;" (assignment_expression "uVar9 = piVar18[9] - 1" identifier = (binary_expression "piVar18[9] - 1" (subscript_expression "piVar18[9]" identifier [ number_literal ]) - number_literal)) ;) (expression_statement "uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);" (assignment_expression "uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4)" identifier = (pointer_expression "*(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4)" * (cast_expression "(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4)" ( (binary_expression "*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4" (pointer_expression "*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc)" * (cast_expression "(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc)" ( (binary_expression "*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc" (pointer_expression "*(int *)(pSVar17 + 0x1c)" * (cast_expression "(int *)(pSVar17 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar17 + 0x1c)" ( (binary_expression "pSVar17 + 0x1c" identifier + number_literal) )))) + (binary_expression "(uVar9 >> 0xd) * 0xc" (parenthesized_expression "(uVar9 >> 0xd)" ( (binary_expression "uVar9 >> 0xd" identifier >> number_literal) )) * number_literal)) )))) + (binary_expression "(uVar9 & 0x1fff) * 4" (parenthesized_expression "(uVar9 & 0x1fff)" ( (binary_expression "uVar9 & 0x1fff" identifier & number_literal) )) * number_literal)) ))))) ;) (expression_statement "*(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar20 + 4)" * (cast_expression "(uint *)(puVar20 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 4)" ( (binary_expression "puVar20 + 4" identifier + number_literal) )))) = (binary_expression "(((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10)" ( (binary_expression "(uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10" (binary_expression "(uVar3 >> 0x10) << 0x18" (parenthesized_expression "(uVar3 >> 0x10)" ( (binary_expression "uVar3 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar3 >> 0x18) << 0x10" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff)" ( (binary_expression "(uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff" (binary_expression "(uVar3 & 0xff) << 8" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar3 >> 8 & 0xff" (binary_expression "uVar3 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar20[0] = '\x02';" (assignment_expression "puVar20[0] = '\x02'" (subscript_expression "puVar20[0]" identifier [ number_literal ]) = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "puVar20[1] = '\0';" (assignment_expression "puVar20[1] = '\0'" (subscript_expression "puVar20[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar20[2] = '\0';" (assignment_expression "puVar20[2] = '\0'" (subscript_expression "puVar20[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar20[3] = '\0';" (assignment_expression "puVar20[3] = '\0'" (subscript_expression "puVar20[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar20[0xc] = '\0';" (assignment_expression "puVar20[0xc] = '\0'" (subscript_expression "puVar20[0xc]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar20[0xd] = '\0';" (assignment_expression "puVar20[0xd] = '\0'" (subscript_expression "puVar20[0xd]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar20[0xe] = '\0';" (assignment_expression "puVar20[0xe] = '\0'" (subscript_expression "puVar20[0xe]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar20[0xf] = '\0';" (assignment_expression "puVar20[0xf] = '\0'" (subscript_expression "puVar20[0xf]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar20 + 8)" * (cast_expression "(uint *)(puVar20 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) )))) = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);" (assignment_expression "puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17)" identifier = (cast_expression "(uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "write_input_files(this,puVar20,puVar20 + 0x10,pSVar17)" identifier (argument_list "(this,puVar20,puVar20 + 0x10,pSVar17)" ( identifier , identifier , (binary_expression "puVar20 + 0x10" identifier + number_literal) , identifier ))))) ;) (expression_statement "iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);" (assignment_expression "iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8)" identifier = (call_expression "write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8)" identifier (argument_list "(this,puVar20,puVar4,pSVar17,puVar6,uVar8)" ( identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;" if (parenthesized_expression "(iVar5 - (int)puVar20 >> 0x1f != iVar25)" ( (binary_expression "iVar5 - (int)puVar20 >> 0x1f != iVar25" (binary_expression "iVar5 - (int)puVar20 >> 0x1f" (binary_expression "iVar5 - (int)puVar20" identifier - (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) != identifier) )) (goto_statement "goto LAB_0011c190;" goto statement_identifier ;)) (if_statement "if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;" if (parenthesized_expression "(iVar5 - (int)puVar20 != uVar26)" ( (binary_expression "iVar5 - (int)puVar20 != uVar26" (binary_expression "iVar5 - (int)puVar20" identifier - (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) != identifier) )) (goto_statement "goto LAB_0011c190;" goto statement_identifier ;)) (expression_statement "uVar14 = 0x59f;" (assignment_expression "uVar14 = 0x59f" identifier = number_literal) ;) (if_statement "if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;" if (parenthesized_expression "(uVar8 >> 0x1e != uVar15)" ( (binary_expression "uVar8 >> 0x1e != uVar15" (binary_expression "uVar8 >> 0x1e" identifier >> number_literal) != identifier) )) (goto_statement "goto LAB_0011c178;" goto statement_identifier ;)) (expression_statement "iVar25 = *(int *)(pcVar22 + 0x3165a8);" (assignment_expression "iVar25 = *(int *)(pcVar22 + 0x3165a8)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" * (cast_expression "(int *)(pcVar22 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3165a8)" ( (binary_expression "pcVar22 + 0x3165a8" identifier + number_literal) ))))) ;) (if_statement "if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }" if (parenthesized_expression "(uVar21 != uVar7)" ( (binary_expression "uVar21 != uVar7" identifier != identifier) )) (compound_statement "{\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }" { (do_statement "do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );" do (compound_statement "{\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          }" { (expression_statement "(**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);" (call_expression "(**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564)" (parenthesized_expression "(**(code **)(pcVar22 + 0x3165b8))" ( (pointer_expression "**(code **)(pcVar22 + 0x3165b8)" * (pointer_expression "*(code **)(pcVar22 + 0x3165b8)" * (cast_expression "(code **)(pcVar22 + 0x3165b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x3165b8)" ( (binary_expression "pcVar22 + 0x3165b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564)" ( (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x4fcc" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" * (cast_expression "(int *)(pcVar22 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3165a8)" ( (binary_expression "pcVar22 + 0x3165a8" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "iVar25 + -0x3564" identifier + number_literal) ))) ;) (labeled_statement "LAB_0011c190:\n            uVar14 = 0x59c;" statement_identifier : (expression_statement "uVar14 = 0x59c;" (assignment_expression "uVar14 = 0x59c" identifier = number_literal) ;)) (labeled_statement "LAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);" statement_identifier : (expression_statement "iVar25 = *(int *)(pcVar22 + 0x3165a8);" (assignment_expression "iVar25 = *(int *)(pcVar22 + 0x3165a8)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" * (cast_expression "(int *)(pcVar22 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3165a8)" ( (binary_expression "pcVar22 + 0x3165a8" identifier + number_literal) ))))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "piVar13 = (int *)((int)piVar11 + uVar7);" (assignment_expression "piVar13 = (int *)((int)piVar11 + uVar7)" identifier = (cast_expression "(int *)((int)piVar11 + uVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + uVar7)" ( (binary_expression "(int)piVar11 + uVar7" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "puVar10 = puVar6;" (assignment_expression "puVar10 = puVar6" identifier = identifier) ;) (if_statement "if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }" { (do_statement "do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);" do (compound_statement "{\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          }" { (expression_statement "uVar26 = *puVar10;" (assignment_expression "uVar26 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "piVar19 = piVar11 + 1;" (assignment_expression "piVar19 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) (expression_statement "*piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar11" * identifier) = (binary_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10)" ( (binary_expression "(uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10" (binary_expression "(uVar26 >> 0x10) << 0x18" (parenthesized_expression "(uVar26 >> 0x10)" ( (binary_expression "uVar26 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar26 >> 0x18) << 0x10" (parenthesized_expression "(uVar26 >> 0x18)" ( (binary_expression "uVar26 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff)" ( (binary_expression "(uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff" (binary_expression "(uVar26 & 0xff) << 8" (parenthesized_expression "(uVar26 & 0xff)" ( (binary_expression "uVar26 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar26 >> 8 & 0xff" (binary_expression "uVar26 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar10 = puVar10 + 1;" (assignment_expression "puVar10 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) (expression_statement "piVar11 = piVar19;" (assignment_expression "piVar11 = piVar19" identifier = identifier) ;) }) while (parenthesized_expression "(piVar19 != piVar13)" ( (binary_expression "piVar19 != piVar13" identifier != identifier) )) ;) })) (expression_statement "(**(code **)(pcVar22 + 0x3165d0))(puVar6);" (call_expression "(**(code **)(pcVar22 + 0x3165d0))(puVar6)" (parenthesized_expression "(**(code **)(pcVar22 + 0x3165d0))" ( (pointer_expression "**(code **)(pcVar22 + 0x3165d0)" * (pointer_expression "*(code **)(pcVar22 + 0x3165d0)" * (cast_expression "(code **)(pcVar22 + 0x3165d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x3165d0)" ( (binary_expression "pcVar22 + 0x3165d0" identifier + number_literal) ))))) )) (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "iVar25 = piVar18[0x10];" (assignment_expression "iVar25 = piVar18[0x10]" identifier = (subscript_expression "piVar18[0x10]" identifier [ number_literal ])) ;) (if_statement "if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;" if (parenthesized_expression "(-1 < *(int *)(iVar25 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(iVar25 + 0x20) << 2" number_literal < (binary_expression "*(int *)(iVar25 + 0x20) << 2" (pointer_expression "*(int *)(iVar25 + 0x20)" * (cast_expression "(int *)(iVar25 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x20)" ( (binary_expression "iVar25 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_0011c144;" goto statement_identifier ;)) (if_statement "if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;" if (parenthesized_expression "(-1 < *(int *)(iVar25 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar25 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar25 + 0x20) << 1" (pointer_expression "*(int *)(iVar25 + 0x20)" * (cast_expression "(int *)(iVar25 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x20)" ( (binary_expression "iVar25 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_0011c128;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;" if (parenthesized_expression "(*(int *)(iVar25 + 0x18) < 0)" ( (binary_expression "*(int *)(iVar25 + 0x18) < 0" (pointer_expression "*(int *)(iVar25 + 0x18)" * (cast_expression "(int *)(iVar25 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x18)" ( (binary_expression "iVar25 + 0x18" identifier + number_literal) )))) < number_literal) )) (goto_statement "goto LAB_0011c118;" goto statement_identifier ;)) (expression_statement "in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));" (assignment_expression "in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c))" identifier = (cast_expression "(int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c))" ( (binary_expression "*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c)" (pointer_expression "*(uint *)(iVar25 + 0x14)" * (cast_expression "(uint *)(iVar25 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x14)" ( (binary_expression "iVar25 + 0x14" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar25 + 0x1c)" * (cast_expression "(int *)(iVar25 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x1c)" ( (binary_expression "iVar25 + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);" (assignment_expression "iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18)" identifier = (binary_expression "(uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18)" (call_expression "(uint)(in_t1 < *(uint *)(iVar25 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t1 < *(uint *)(iVar25 + 0x14))" ( (binary_expression "in_t1 < *(uint *)(iVar25 + 0x14)" identifier < (pointer_expression "*(uint *)(iVar25 + 0x14)" * (cast_expression "(uint *)(iVar25 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x14)" ( (binary_expression "iVar25 + 0x14" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(iVar25 + 0x18)" * (cast_expression "(int *)(iVar25 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x18)" ( (binary_expression "iVar25 + 0x18" identifier + number_literal) )))))) ;) (expression_statement "iVar23 = *(int *)(pcVar22 + 0x318234);" (assignment_expression "iVar23 = *(int *)(pcVar22 + 0x318234)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x318234)" * (cast_expression "(int *)(pcVar22 + 0x318234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x318234)" ( (binary_expression "pcVar22 + 0x318234" identifier + number_literal) ))))) ;) (if_statement "if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }" if (parenthesized_expression "(iVar25 <= *(int *)(iVar2 + 8))" ( (binary_expression "iVar25 <= *(int *)(iVar2 + 8)" identifier <= (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }" { (if_statement "if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;" if (parenthesized_expression "(*(int *)(iVar2 + 8) == iVar25)" ( (binary_expression "*(int *)(iVar2 + 8) == iVar25" (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_0011c160;" goto statement_identifier ;)) (goto_statement "goto LAB_0011c0d0;" goto statement_identifier ;) })) (goto_statement "goto LAB_0011c11c;" goto statement_identifier ;) })) (expression_statement "pcVar22 = *(code **)(pcVar22 + 0x3164dc);" (assignment_expression "pcVar22 = *(code **)(pcVar22 + 0x3164dc)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x3164dc)" * (cast_expression "(code **)(pcVar22 + 0x3164dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x3164dc)" ( (binary_expression "pcVar22 + 0x3164dc" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar18 = (int *)0x0;" (assignment_expression "piVar18 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar26 = 7;" (assignment_expression "uVar26 = 7" identifier = number_literal) ;) (expression_statement "iVar27 = iVar12 + 1;" (assignment_expression "iVar27 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0011c20c;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0011c11c:\n  pcVar24 = (code *)(iVar23 + 0x2f54);" statement_identifier : (expression_statement "pcVar24 = (code *)(iVar23 + 0x2f54);" (assignment_expression "pcVar24 = (code *)(iVar23 + 0x2f54)" identifier = (cast_expression "(code *)(iVar23 + 0x2f54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x2f54)" ( (binary_expression "iVar23 + 0x2f54" identifier + number_literal) )))) ;)) (labeled_statement "LAB_0011c120:\n  while( true ) {\n    (*pcVar24)();\nLAB_0011c128:\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\nLAB_0011c144:\n    iVar2 = unaff_s6;\n    this = unaff_s4;\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc);\nLAB_0011c160:\n    in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);\n    if (in_t1 == (int *)0x0) break;\n    pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);\n  }" statement_identifier : (while_statement "while( true ) {\n    (*pcVar24)();\nLAB_0011c128:\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\nLAB_0011c144:\n    iVar2 = unaff_s6;\n    this = unaff_s4;\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc);\nLAB_0011c160:\n    in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);\n    if (in_t1 == (int *)0x0) break;\n    pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    (*pcVar24)();\nLAB_0011c128:\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\nLAB_0011c144:\n    iVar2 = unaff_s6;\n    this = unaff_s4;\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc);\nLAB_0011c160:\n    in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);\n    if (in_t1 == (int *)0x0) break;\n    pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);\n  }" { (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0011c128:\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);" statement_identifier : (expression_statement "(**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);" (call_expression "(**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8)" (parenthesized_expression "(**(code **)(pcVar22 + 0x3165b8))" ( (pointer_expression "**(code **)(pcVar22 + 0x3165b8)" * (pointer_expression "*(code **)(pcVar22 + 0x3165b8)" * (cast_expression "(code **)(pcVar22 + 0x3165b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x3165b8)" ( (binary_expression "pcVar22 + 0x3165b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8)" ( (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x4fe0" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" * (cast_expression "(int *)(pcVar22 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3165a8)" ( (binary_expression "pcVar22 + 0x3165a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x36c8" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" * (cast_expression "(int *)(pcVar22 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3165a8)" ( (binary_expression "pcVar22 + 0x3165a8" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "unaff_s4 = this;" (assignment_expression "unaff_s4 = this" identifier = identifier) ;) (expression_statement "unaff_s6 = iVar2;" (assignment_expression "unaff_s6 = iVar2" identifier = identifier) ;) (labeled_statement "LAB_0011c144:\n    iVar2 = unaff_s6;" statement_identifier : (expression_statement "iVar2 = unaff_s6;" (assignment_expression "iVar2 = unaff_s6" identifier = identifier) ;)) (expression_statement "this = unaff_s4;" (assignment_expression "this = unaff_s4" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc);" (call_expression "(**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc)" (parenthesized_expression "(**(code **)(pcVar22 + 0x3165b8))" ( (pointer_expression "**(code **)(pcVar22 + 0x3165b8)" * (pointer_expression "*(code **)(pcVar22 + 0x3165b8)" * (cast_expression "(code **)(pcVar22 + 0x3165b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x3165b8)" ( (binary_expression "pcVar22 + 0x3165b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc)" ( (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x4fe0" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" * (cast_expression "(int *)(pcVar22 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3165a8)" ( (binary_expression "pcVar22 + 0x3165a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x36bc" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" * (cast_expression "(int *)(pcVar22 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3165a8)" ( (binary_expression "pcVar22 + 0x3165a8" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0011c160:\n    in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);" statement_identifier : (expression_statement "in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);" (assignment_expression "in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1)" identifier = (cast_expression "(int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(uint *)(iVar2 + 0xc) < in_t1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(iVar2 + 0xc) < in_t1)" ( (binary_expression "*(uint *)(iVar2 + 0xc) < in_t1" (pointer_expression "*(uint *)(iVar2 + 0xc)" * (cast_expression "(uint *)(iVar2 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) < identifier) ))))) ;)) (if_statement "if (in_t1 == (int *)0x0) break;" if (parenthesized_expression "(in_t1 == (int *)0x0)" ( (binary_expression "in_t1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);" (assignment_expression "pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54)" identifier = (cast_expression "(code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x318234) + 0x2f54)" ( (binary_expression "*(int *)(pcVar22 + 0x318234) + 0x2f54" (pointer_expression "*(int *)(pcVar22 + 0x318234)" * (cast_expression "(int *)(pcVar22 + 0x318234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x318234)" ( (binary_expression "pcVar22 + 0x318234" identifier + number_literal) )))) + number_literal) )))) ;) }))) (labeled_statement "LAB_0011c0d0:\n  piVar18 = (int *)write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac));" statement_identifier : (expression_statement "piVar18 = (int *)write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac));" (assignment_expression "piVar18 = (int *)write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac))" identifier = (cast_expression "(int *)write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac))" identifier (argument_list "((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac))" ( (cast_expression "(uchar *)this" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (call_expression "CONCAT44(iVar27,in_stack_ffffffac)" identifier (argument_list "(iVar27,in_stack_ffffffac)" ( identifier , identifier ))) ))))) ;)) (return_statement "return piVar18;" return identifier ;) (labeled_statement "LAB_0011c198:\n  piVar13 = (int *)&DAT_00000108;" statement_identifier : (expression_statement "piVar13 = (int *)&DAT_00000108;" (assignment_expression "piVar13 = (int *)&DAT_00000108" identifier = (cast_expression "(int *)&DAT_00000108" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000108" & identifier))) ;)) (expression_statement "iVar16 = *(int *)(pcVar22 + 0x3165a8) + -0x3578;" (assignment_expression "iVar16 = *(int *)(pcVar22 + 0x3165a8) + -0x3578" identifier = (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x3578" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" * (cast_expression "(int *)(pcVar22 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3165a8)" ( (binary_expression "pcVar22 + 0x3165a8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar12 = *(int *)(pcVar22 + 0x316400) + 0x46d4;" (assignment_expression "iVar12 = *(int *)(pcVar22 + 0x316400) + 0x46d4" identifier = (binary_expression "*(int *)(pcVar22 + 0x316400) + 0x46d4" (pointer_expression "*(int *)(pcVar22 + 0x316400)" * (cast_expression "(int *)(pcVar22 + 0x316400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x316400)" ( (binary_expression "pcVar22 + 0x316400" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar22 + 0x3165b8))();" (call_expression "(**(code **)(pcVar22 + 0x3165b8))()" (parenthesized_expression "(**(code **)(pcVar22 + 0x3165b8))" ( (pointer_expression "**(code **)(pcVar22 + 0x3165b8)" * (pointer_expression "*(code **)(pcVar22 + 0x3165b8)" * (cast_expression "(code **)(pcVar22 + 0x3165b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x3165b8)" ( (binary_expression "pcVar22 + 0x3165b8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar8 = extraout_v1;" (assignment_expression "uVar8 = extraout_v1" identifier = identifier) ;) (labeled_statement "LAB_0011c1b4:\n  if (uVar8 != 0) goto code_r0x0011c1bc;" statement_identifier : (if_statement "if (uVar8 != 0) goto code_r0x0011c1bc;" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x0011c1bc;" goto statement_identifier ;))) (goto_statement "goto LAB_0011bf00;" goto statement_identifier ;) (labeled_statement "code_r0x0011c1bc:\n  pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);" statement_identifier : (expression_statement "pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);" (assignment_expression "pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54)" identifier = (cast_expression "(code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x318234) + 0x2f54)" ( (binary_expression "*(int *)(pcVar22 + 0x318234) + 0x2f54" (pointer_expression "*(int *)(pcVar22 + 0x318234)" * (cast_expression "(int *)(pcVar22 + 0x318234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x318234)" ( (binary_expression "pcVar22 + 0x318234" identifier + number_literal) )))) + number_literal) )))) ;)) (goto_statement "goto LAB_0011c120;" goto statement_identifier ;) (while_statement "while (uVar26 != 0x4d) {\nLAB_0011c20c:\n    pbVar1 = (byte *)(iVar27 + -1);\n    iVar27 = iVar27 + 1;\n    uVar7 = *pbVar1 & 0x7f;\n    uVar15 = (uVar7 >> 1) >> (~uVar26 & 0x1f);\n    if ((uVar26 & 0x20) != 0) {\n      uVar15 = uVar7 << (uVar26 & 0x1f);\n    }\n    uVar26 = uVar26 + 7;\n    iVar25 = iVar27 - iVar12;\n    piVar18 = (int *)((uint)piVar18 | uVar15);\n    if (-1 < (char)*pbVar1) goto LAB_0011c27c;\n  }" while (parenthesized_expression "(uVar26 != 0x4d)" ( (binary_expression "uVar26 != 0x4d" identifier != number_literal) )) (compound_statement "{\nLAB_0011c20c:\n    pbVar1 = (byte *)(iVar27 + -1);\n    iVar27 = iVar27 + 1;\n    uVar7 = *pbVar1 & 0x7f;\n    uVar15 = (uVar7 >> 1) >> (~uVar26 & 0x1f);\n    if ((uVar26 & 0x20) != 0) {\n      uVar15 = uVar7 << (uVar26 & 0x1f);\n    }\n    uVar26 = uVar26 + 7;\n    iVar25 = iVar27 - iVar12;\n    piVar18 = (int *)((uint)piVar18 | uVar15);\n    if (-1 < (char)*pbVar1) goto LAB_0011c27c;\n  }" { (labeled_statement "LAB_0011c20c:\n    pbVar1 = (byte *)(iVar27 + -1);" statement_identifier : (expression_statement "pbVar1 = (byte *)(iVar27 + -1);" (assignment_expression "pbVar1 = (byte *)(iVar27 + -1)" identifier = (cast_expression "(byte *)(iVar27 + -1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + -1)" ( (binary_expression "iVar27 + -1" identifier + number_literal) )))) ;)) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = *pbVar1 & 0x7f;" (assignment_expression "uVar7 = *pbVar1 & 0x7f" identifier = (binary_expression "*pbVar1 & 0x7f" (pointer_expression "*pbVar1" * identifier) & number_literal)) ;) (expression_statement "uVar15 = (uVar7 >> 1) >> (~uVar26 & 0x1f);" (assignment_expression "uVar15 = (uVar7 >> 1) >> (~uVar26 & 0x1f)" identifier = (binary_expression "(uVar7 >> 1) >> (~uVar26 & 0x1f)" (parenthesized_expression "(uVar7 >> 1)" ( (binary_expression "uVar7 >> 1" identifier >> number_literal) )) >> (parenthesized_expression "(~uVar26 & 0x1f)" ( (binary_expression "~uVar26 & 0x1f" (unary_expression "~uVar26" ~ identifier) & number_literal) )))) ;) (if_statement "if ((uVar26 & 0x20) != 0) {\n      uVar15 = uVar7 << (uVar26 & 0x1f);\n    }" if (parenthesized_expression "((uVar26 & 0x20) != 0)" ( (binary_expression "(uVar26 & 0x20) != 0" (parenthesized_expression "(uVar26 & 0x20)" ( (binary_expression "uVar26 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar15 = uVar7 << (uVar26 & 0x1f);\n    }" { (expression_statement "uVar15 = uVar7 << (uVar26 & 0x1f);" (assignment_expression "uVar15 = uVar7 << (uVar26 & 0x1f)" identifier = (binary_expression "uVar7 << (uVar26 & 0x1f)" identifier << (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) )))) ;) })) (expression_statement "uVar26 = uVar26 + 7;" (assignment_expression "uVar26 = uVar26 + 7" identifier = (binary_expression "uVar26 + 7" identifier + number_literal)) ;) (expression_statement "iVar25 = iVar27 - iVar12;" (assignment_expression "iVar25 = iVar27 - iVar12" identifier = (binary_expression "iVar27 - iVar12" identifier - identifier)) ;) (expression_statement "piVar18 = (int *)((uint)piVar18 | uVar15);" (assignment_expression "piVar18 = (int *)((uint)piVar18 | uVar15)" identifier = (cast_expression "(int *)((uint)piVar18 | uVar15)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)piVar18 | uVar15)" ( (binary_expression "(uint)piVar18 | uVar15" (cast_expression "(uint)piVar18" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier) )))) ;) (if_statement "if (-1 < (char)*pbVar1) goto LAB_0011c27c;" if (parenthesized_expression "(-1 < (char)*pbVar1)" ( (binary_expression "-1 < (char)*pbVar1" number_literal < (cast_expression "(char)*pbVar1" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar1" * identifier))) )) (goto_statement "goto LAB_0011c27c;" goto statement_identifier ;)) })) (expression_statement "uVar14 = (**(code **)(pcVar22 + 0x31a648))(*(int *)(pcVar22 + 0x3161e4) + -0x2cdc);" (assignment_expression "uVar14 = (**(code **)(pcVar22 + 0x31a648))(*(int *)(pcVar22 + 0x3161e4) + -0x2cdc)" identifier = (call_expression "(**(code **)(pcVar22 + 0x31a648))(*(int *)(pcVar22 + 0x3161e4) + -0x2cdc)" (parenthesized_expression "(**(code **)(pcVar22 + 0x31a648))" ( (pointer_expression "**(code **)(pcVar22 + 0x31a648)" * (pointer_expression "*(code **)(pcVar22 + 0x31a648)" * (cast_expression "(code **)(pcVar22 + 0x31a648)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x31a648)" ( (binary_expression "pcVar22 + 0x31a648" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + 0x3161e4) + -0x2cdc)" ( (binary_expression "*(int *)(pcVar22 + 0x3161e4) + -0x2cdc" (pointer_expression "*(int *)(pcVar22 + 0x3161e4)" * (cast_expression "(int *)(pcVar22 + 0x3161e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3161e4)" ( (binary_expression "pcVar22 + 0x3161e4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar22 + 0x31628c))(uVar14);" (call_expression "(**(code **)(pcVar22 + 0x31628c))(uVar14)" (parenthesized_expression "(**(code **)(pcVar22 + 0x31628c))" ( (pointer_expression "**(code **)(pcVar22 + 0x31628c)" * (pointer_expression "*(code **)(pcVar22 + 0x31628c)" * (cast_expression "(code **)(pcVar22 + 0x31628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x31628c)" ( (binary_expression "pcVar22 + 0x31628c" identifier + number_literal) ))))) )) (argument_list "(uVar14)" ( identifier ))) ;) (expression_statement "iVar25 = 0xb;" (assignment_expression "iVar25 = 0xb" identifier = number_literal) ;) (labeled_statement "LAB_0011c27c:\n  *piVar13 = iVar25;" statement_identifier : (expression_statement "*piVar13 = iVar25;" (assignment_expression "*piVar13 = iVar25" (pointer_expression "*piVar13" * identifier) = identifier) ;)) (return_statement "return piVar18;" return identifier ;) (ERROR "}" }))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n/* DWARF original prototype: void write_got_plt(Output_section_incremental_inputs<32,_false> * this,\n   uchar * pov, off_t view_size) */\n\nvoid __thiscall\ngold::Output_section_incremental_inputs<32,_false>::write_got_plt\n          (Output_section_incremental_inputs<32,_false> *this,uchar *pov,off_t view_size)\n\n{\n  char *pcVar1;\n  int iVar2;\n  uint *global_syms;\n  uint uVar3;\n  uchar *puVar4;\n  _func_int_varargs **pp_Var5;\n  _Hash_node_base *p_Var6;\n  Output_data_space *pOVar7;\n  uint uVar8;\n  uint *puVar9;\n  uint extraout_v1;\n  Output_section_incremental_inputs<32,_false> *this_00;\n  int iVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  int iVar13;\n  _Hash_node_base *p_Var14;\n  int iVar15;\n  int in_a3;\n  int iVar16;\n  _Hash_node_base *p_Var17;\n  _Hash_node_base *in_t1;\n  Stringpool *strtab;\n  int *piVar18;\n  pointer ppIVar19;\n  int *piVar20;\n  uchar *oview;\n  Output_section_incremental_inputs<32,_false> *unaff_s4;\n  int unaff_s6;\n  code *pcVar21;\n  code *pcVar22;\n  int iVar23;\n  Incremental_inputs *pIVar24;\n  uint uVar25;\n  uint uVar26;\n  int iVar27;\n  undefined4 in_stack_ffffffac;\n  Got_plt_view_info view_info;\n  Got_visitor v;\n  \n  iVar23 = 0x43a1d0;\n  iVar27 = 0x43a1d0;\n  piVar18 = *(int **)(*(int *)PTR_parameters_00432be0 + 0xc);\n  if (piVar18 != (int *)0x0) {\n    view_info.got_count = (**(code **)(*piVar18 + 0xcc))(piVar18);\n    view_info.plt_count = (**(code **)(*piVar18 + 0xd0))(piVar18);\n    view_info.first_plt_entry_offset = (**(code **)(*piVar18 + 0xd4))(piVar18);\n    view_info.plt_entry_size = (**(code **)(*piVar18 + 0xd8))(piVar18);\n    if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {\n      view_info.got_entry_size = 4;\n      iVar23 = iVar27;\n    }\n    else {\n      view_info.got_entry_size = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar23 = iVar27;\n    }\n    view_info.got_type_p = pov + 8;\n    view_info.got_desc_p = view_info.got_type_p + (view_info.got_count + 3 & 0xfffffffc);\n    view_info.plt_desc_p = view_info.got_desc_p + view_info.got_count * 8;\n    uVar12 = 0x7ab;\n    if (pov + in_a3 == view_info.plt_desc_p + view_info.plt_count * 4) {\n      pcVar21 = *(code **)(iVar23 + -0x3980);\n      *(uint *)(pov + 4) =\n           (((view_info.plt_count >> 0x10) << 0x18 | (view_info.plt_count >> 0x18) << 0x10) >> 0x10)\n           + ((view_info.plt_count & 0xff) << 8 | view_info.plt_count >> 8 & 0xff) * 0x10000;\n      *(uint *)pov = (((view_info.got_count >> 0x10) << 0x18 | (view_info.got_count >> 0x18) << 0x10\n                      ) >> 0x10) +\n                     ((view_info.got_count & 0xff) << 8 | view_info.got_count >> 8 & 0xff) * 0x10000\n      ;\n      (*pcVar21)(view_info.got_type_p,0xff);\n      ppIVar19 = (this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_start;\n      if (ppIVar19 !=\n          (this->inputs_->inputs_).\n          super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n          ._M_impl._M_finish) {\n        iVar27 = *(int *)(iVar23 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,_false> *)&view_info;\n        do {\n          iVar2 = (*(*ppIVar19)->_vptr_Incremental_input_entry[2])(*ppIVar19);\n          pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (*pp_Var5[4])();\n            if (iVar2 == 0) {\n              uVar12 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar18 = *(int **)(iVar2 + 0x24);\n            uVar12 = 0x7c1;\n            if (piVar18 == (int *)0x0) goto LAB_0011bda0;\n            view_info.input_index = (*ppIVar19)->file_index_;\n            v.super_Visitor._vptr_Visitor = (_func_int_varargs **)(iVar27 + 8);\n            v.info_ = (Got_plt_view_info *)unaff_s4;\n            (**(code **)(*piVar18 + 0x34))(piVar18,&v);\n          }\n          else {\n            iVar2 = (*pp_Var5[2])();\n            if (iVar2 == 2) {\n              pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n              goto LAB_0011bbf0;\n            }\n          }\n          ppIVar19 = ppIVar19 + 1;\n        } while ((this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_finish != ppIVar19);\n      }\n      in_t1 = (this->symtab_->table_)._M_h._M_before_begin._M_nxt;\n      uVar25 = view_info.sym_index;\n      do {\n        if (in_t1 == (_Hash_node_base *)0x0) {\n          return;\n        }\n        p_Var17 = in_t1[3]._M_nxt;\n        p_Var14 = p_Var17[7]._M_nxt;\n        p_Var6 = p_Var17 + 7;\n        view_info.sym_index = uVar25;\n        iVar27 = iVar23;\n        if ((p_Var14 != (_Hash_node_base *)0xffffffff) && (p_Var6 != (_Hash_node_base *)0x0)) {\n          view_info.sym_index = (uint)p_Var17[4]._M_nxt;\n          if ((_Hash_node_base *)view_info.sym_index == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          view_info.input_index = 0;\n          while( true ) {\n            if (view_info.got_entry_size == 0) {\n              trap(7);\n            }\n            uVar25 = (uint)p_Var6[1]._M_nxt / view_info.got_entry_size;\n            uVar12 = 0x75d;\n            if (view_info.got_count <= uVar25) goto LAB_0011bd7c;\n            if ((_Hash_node_base *)0x7e < p_Var14) {\n              do {\n                uVar12 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            view_info.got_type_p[uVar25] = (uchar)p_Var14;\n            p_Var6 = p_Var6[2]._M_nxt;\n            *(int *)((int)(view_info.got_desc_p + uVar25 * 8) + 4) = 0;\n            *(uint *)(view_info.got_desc_p + uVar25 * 8) =\n                 (((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>\n                 0x10) + ((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff) *\n                         0x10000;\n            if (p_Var6 == (_Hash_node_base *)0x0) break;\n            p_Var14 = p_Var6->_M_nxt;\n          }\n        }\n        uVar25 = view_info.sym_index;\n        if (p_Var17[6]._M_nxt != (_Hash_node_base *)0xffffffff) {\n          if (view_info.plt_entry_size == 0) {\n            trap(7);\n          }\n          uVar26 = ((int)p_Var17[6]._M_nxt - view_info.first_plt_entry_offset) /\n                   view_info.plt_entry_size;\n          if (view_info.plt_count <= uVar26) goto LAB_0011bdb8;\n          p_Var6 = p_Var17[4]._M_nxt;\n          if (p_Var6 == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          *(uint *)(view_info.plt_desc_p + uVar26 * 4) =\n               ((((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10) >> 0x10) +\n               (((uint)p_Var6 & 0xff) << 8 | (uint)p_Var6 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = in_t1->_M_nxt;\n      } while( true );\n    }\nLAB_0011bda0:\n    iVar27 = iVar23;\n    (**(code **)(iVar23 + -0x7e0c))\n              (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,*(int *)(iVar23 + -0x7e1c) + -0x36d8);\nLAB_0011bdb8:\n    (**(code **)(iVar23 + -0x7e0c))\n              (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar23 + -0x7e1c) + -0x36ec);\n    uVar25 = view_info.sym_index;\nLAB_0011bdd4:\n    view_info.sym_index = uVar25;\n    (**(code **)(iVar23 + -0x7e0c))\n              (*(int *)(iVar23 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar23 + -0x7e1c) + -0x34f4);\n  }\n  iVar2 = 0x73;\n  pcVar21 = *(code **)(iVar23 + -0x7e0c);\n  this_00 = (Output_section_incremental_inputs<32,_false> *)(*(int *)(iVar23 + -0x7e1c) + -0x5cec);\n  (*pcVar21)(this_00,0x73,*(int *)(iVar23 + -0x7e1c) + -0x3514);\n  iVar23 = *(int *)&(this_00->super_Output_section_data).super_Output_data.field_0x20;\n  pIVar24 = this_00->inputs_;\n  strtab = pIVar24->strtab_;\n  if (-1 < iVar23 << 2) goto LAB_0011c144;\n  iVar16 = (int)(this_00->super_Output_section_data).super_Output_data.offset_;\n  iVar13 = *(int *)&(this_00->super_Output_section_data).super_Output_data.offset_;\n  if (-1 < iVar23 << 1) goto LAB_0011c128;\n  iVar23 = *(int *)&(this_00->super_Output_section_data).super_Output_data.data_size_;\n  p_Var6 = *(_Hash_node_base **)\n            ((int)&(this_00->super_Output_section_data).super_Output_data.data_size_ + 4);\n  if (iVar13 < 0) {\nLAB_0011c118:\n    iVar13 = *(int *)(pcVar21 + 0x318234);\n  }\n  else {\n    p_Var14 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar16);\n    iVar10 = *(int *)(iVar2 + 8);\n    iVar13 = (uint)(p_Var14 < p_Var6) + iVar13;\n    in_t1 = *(_Hash_node_base **)(iVar2 + 0xc);\n    if ((iVar10 < iVar13) || ((iVar13 == iVar10 && (in_t1 < p_Var14)))) goto LAB_0011c118;\n    pOVar7 = pIVar24->symtab_section_;\n    piVar18 = *(int **)(iVar2 + 0x10);\n    iVar13 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20;\n    oview = (uchar *)((int)piVar18 + iVar16);\n    unaff_s4 = this_00;\n    unaff_s6 = iVar2;\n    if (-1 < iVar13 << 2) goto LAB_0011c144;\n    iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n    iVar15 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.offset_;\n    if (-1 < iVar13 << 1) goto LAB_0011c128;\n    uVar25 = *(uint *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_;\n    p_Var14 = *(_Hash_node_base **)\n               ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4);\n    if (iVar16 < 0) goto LAB_0011c118;\n    p_Var17 = (_Hash_node_base *)((int)&p_Var14->_M_nxt + iVar15);\n    iVar16 = (uint)(p_Var17 < p_Var14) + iVar16;\n    iVar13 = *(int *)(pcVar21 + 0x318234);\n    if (iVar16 <= iVar10) {\n      uVar26 = (uint)(in_t1 < p_Var17);\n      piVar11 = (int *)0x0;\n      if (iVar16 == iVar10) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar26 = this_00->symtab_->output_count_;\n      piVar18 = (int *)((int)piVar18 + iVar15);\n      if (uVar26 < 0x20000000) {\n        p_Var17 = (_Hash_node_base *)(uVar26 << 2);\n        global_syms = (uint *)(**(code **)(pcVar21 + 0x3164d0))(p_Var17);\n        (**(code **)(pcVar21 + 0x31aa44))(global_syms,0,p_Var17);\n        uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_start >> 2;\n        if ((strtab->key_to_offset_).size_ < pIVar24->command_line_key_) goto LAB_0011c198;\n        uVar8 = pIVar24->command_line_key_ - 1;\n        uVar8 = *(uint *)((int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std::vector<int,_std::allocator<int>_>,_std::allocator<std::vector<int,_std::allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start +\n                         (uVar8 & 0x1fff) * 4);\n        *(uint *)(oview + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        oview[0] = '\x02';\n        oview[1] = '\0';\n        oview[2] = '\0';\n        oview[3] = '\0';\n        oview[0xc] = '\0';\n        oview[0xd] = '\0';\n        oview[0xe] = '\0';\n        oview[0xf] = '\0';\n        *(uint *)(oview + 8) =\n             (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n        puVar4 = write_input_files(this_00,oview,oview + 0x10,strtab);\n        puVar4 = write_info_blocks(this_00,oview,puVar4,strtab,global_syms,uVar26);\n        if ((int)(puVar4 + -(int)oview) >> 0x1f != iVar23) goto LAB_0011c190;\n        if ((_Hash_node_base *)(puVar4 + -(int)oview) != p_Var6) goto LAB_0011c190;\n        uVar12 = 0x59f;\n        if (uVar26 >> 0x1e != uVar25) goto LAB_0011c178;\n        iVar23 = *(int *)(pcVar21 + 0x3165a8);\n        if (p_Var17 != p_Var14) {\n          do {\n            (**(code **)(pcVar21 + 0x3165b8))\n                      (*(int *)(pcVar21 + 0x3165a8) + -0x4fcc,uVar12,iVar23 + -0x3564);\nLAB_0011c190:\n            uVar12 = 0x59c;\nLAB_0011c178:\n            iVar23 = *(int *)(pcVar21 + 0x3165a8);\n          } while( true );\n        }\n        piVar11 = (int *)((int)piVar18 + (int)p_Var14);\n        puVar9 = global_syms;\n        if (uVar26 != 0) {\n          do {\n            uVar25 = *puVar9;\n            piVar20 = piVar18 + 1;\n            *piVar18 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n            puVar9 = puVar9 + 1;\n            piVar18 = piVar20;\n          } while (piVar20 != piVar11);\n        }\n        (**(code **)(pcVar21 + 0x3165d0))(global_syms);\n        pOVar7 = pIVar24->got_plt_section_;\n        iVar23 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20;\n        if (-1 < iVar23 << 2) goto LAB_0011c144;\n        iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.offset_;\n        iVar10 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n        if (-1 < iVar23 << 1) goto LAB_0011c128;\n        p_Var6 = *(_Hash_node_base **)\n                  ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_ + 4);\n        if (iVar16 < 0) goto LAB_0011c118;\n        in_t1 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar10);\n        iVar16 = (uint)(in_t1 < p_Var6) + iVar16;\n        iVar13 = *(int *)(pcVar21 + 0x318234);\n        if (iVar16 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar16) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar21 = *(code **)(pcVar21 + 0x3164dc);\n      (*pcVar21)();\n      iVar27 = 7;\n      iVar23 = iVar10 + 1;\n      goto LAB_0011c20c;\n    }\n  }\nLAB_0011c11c:\n  pcVar22 = (code *)(iVar13 + 0x2f54);\nLAB_0011c120:\n  while( true ) {\n    (*pcVar22)();\nLAB_0011c128:\n    (**(code **)(pcVar21 + 0x3165b8))\n              (*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar21 + 0x3165a8) + -0x36c8);\n    unaff_s4 = this_00;\n    unaff_s6 = iVar2;\nLAB_0011c144:\n    iVar2 = unaff_s6;\n    this_00 = unaff_s4;\n    iVar10 = 0xe3;\n    (**(code **)(pcVar21 + 0x3165b8))\n              (*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar21 + 0x3165a8) + -0x36bc);\nLAB_0011c160:\n    in_t1 = (_Hash_node_base *)(uint)(*(_Hash_node_base **)(iVar2 + 0xc) < in_t1);\n    if (in_t1 == (_Hash_node_base *)0x0) break;\n    pcVar22 = (code *)(*(int *)(pcVar21 + 0x318234) + 0x2f54);\n  }\nLAB_0011c0d0:\n  write_got_plt(this_00,(uchar *)(*(int *)(iVar2 + 0x10) + iVar10),\n                CONCAT44(iVar27,in_stack_ffffffac));\n  return;\nLAB_0011c198:\n  piVar11 = (int *)&DAT_00000108;\n  iVar15 = *(int *)(pcVar21 + 0x3165a8) + -0x3578;\n  iVar10 = *(int *)(pcVar21 + 0x316400) + 0x46d4;\n  (**(code **)(pcVar21 + 0x3165b8))();\n  uVar26 = extraout_v1;\nLAB_0011c1b4:\n  if (uVar26 != 0) goto code_r0x0011c1bc;\n  goto LAB_0011bf00;\ncode_r0x0011c1bc:\n  pcVar22 = (code *)(*(int *)(pcVar21 + 0x318234) + 0x2f54);\n  goto LAB_0011c120;\n  while (iVar27 != 0x4d) {\nLAB_0011c20c:\n    pcVar1 = (char *)(iVar23 + -1);\n    iVar23 = iVar23 + 1;\n    iVar27 = iVar27 + 7;\n    iVar2 = iVar23 - iVar10;\n    if (-1 < *pcVar1) goto LAB_0011c27c;\n  }\n  uVar12 = (**(code **)(pcVar21 + 0x31a648))(*(int *)(pcVar21 + 0x3161e4) + -0x2cdc);\n  (**(code **)(pcVar21 + 0x31628c))(uVar12);\n  iVar2 = 0xb;\nLAB_0011c27c:\n  *piVar11 = iVar2;\n  return;\n}\n\n" comment comment comment comment comment comment comment comment (declaration "void __thiscall\ngold::Output_section_incremental_inputs<32,_false>::write_got_plt\n          (Output_section_incremental_inputs<32,_false> *this,uchar *pov,off_t view_size)\n\n{\n  char *pcVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>::write_got_plt\n          (Output_section_incremental_inputs<32,_false> *this,uchar *pov,off_t view_size)\n\n{\n  char" identifier > : : (function_declarator "write_got_plt\n          (Output_section_incremental_inputs<32,_false> *this,uchar *pov,off_t view_size)" identifier (parameter_list "(Output_section_incremental_inputs<32,_false> *this,uchar *pov,off_t view_size)" ( (parameter_declaration "Output_section_incremental_inputs" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "uchar *pov" type_identifier (pointer_declarator "*pov" * identifier)) , (parameter_declaration "off_t view_size" type_identifier identifier) ))) { primitive_type) (pointer_declarator "*pcVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint *global_syms;" type_identifier (pointer_declarator "*global_syms" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uchar *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "_func_int_varargs **pp_Var5;" type_identifier (pointer_declarator "**pp_Var5" * (pointer_declarator "*pp_Var5" * identifier)) ;) (declaration "_Hash_node_base *p_Var6;" type_identifier (pointer_declarator "*p_Var6" * identifier) ;) (declaration "Output_data_space *pOVar7;" type_identifier (pointer_declarator "*pOVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (expression_statement "Output_section_incremental_inputs<32,_false> *this_00;" (update_expression "Output_section_incremental_inputs<32,_false> *this_00" (binary_expression "Output_section_incremental_inputs<32,_false> *this_00" (binary_expression "Output_section_incremental_inputs<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*this_00" * identifier)) --) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "_Hash_node_base *p_Var14;" type_identifier (pointer_declarator "*p_Var14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int in_a3;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "_Hash_node_base *p_Var17;" type_identifier (pointer_declarator "*p_Var17" * identifier) ;) (declaration "_Hash_node_base *in_t1;" type_identifier (pointer_declarator "*in_t1" * identifier) ;) (declaration "Stringpool *strtab;" type_identifier (pointer_declarator "*strtab" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "pointer ppIVar19;" type_identifier identifier ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "uchar *oview;" type_identifier (pointer_declarator "*oview" * identifier) ;) (expression_statement "Output_section_incremental_inputs<32,_false> *unaff_s4;" (update_expression "Output_section_incremental_inputs<32,_false> *unaff_s4" (binary_expression "Output_section_incremental_inputs<32,_false> *unaff_s4" (binary_expression "Output_section_incremental_inputs<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*unaff_s4" * identifier)) --) ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "code *pcVar21;" type_identifier (pointer_declarator "*pcVar21" * identifier) ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "Incremental_inputs *pIVar24;" type_identifier (pointer_declarator "*pIVar24" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "undefined4 in_stack_ffffffac;" type_identifier identifier ;) (declaration "Got_plt_view_info view_info;" type_identifier identifier ;) (declaration "Got_visitor v;" type_identifier identifier ;) (expression_statement "iVar23 = 0x43a1d0;" (assignment_expression "iVar23 = 0x43a1d0" identifier = number_literal) ;) (expression_statement "iVar27 = 0x43a1d0;" (assignment_expression "iVar27 = 0x43a1d0" identifier = number_literal) ;) (expression_statement "piVar18 = *(int **)(*(int *)PTR_parameters_00432be0 + 0xc);" (assignment_expression "piVar18 = *(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 0xc" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (piVar18 != (int *)0x0) {\n    view_info.got_count = (**(code **)(*piVar18 + 0xcc))(piVar18);\n    view_info.plt_count = (**(code **)(*piVar18 + 0xd0))(piVar18);\n    view_info.first_plt_entry_offset = (**(code **)(*piVar18 + 0xd4))(piVar18);\n    view_info.plt_entry_size = (**(code **)(*piVar18 + 0xd8))(piVar18);\n    if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {\n      view_info.got_entry_size = 4;\n      iVar23 = iVar27;\n    }\n    else {\n      view_info.got_entry_size = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar23 = iVar27;\n    }\n    view_info.got_type_p = pov + 8;\n    view_info.got_desc_p = view_info.got_type_p + (view_info.got_count + 3 & 0xfffffffc);\n    view_info.plt_desc_p = view_info.got_desc_p + view_info.got_count * 8;\n    uVar12 = 0x7ab;\n    if (pov + in_a3 == view_info.plt_desc_p + view_info.plt_count * 4) {\n      pcVar21 = *(code **)(iVar23 + -0x3980);\n      *(uint *)(pov + 4) =\n           (((view_info.plt_count >> 0x10) << 0x18 | (view_info.plt_count >> 0x18) << 0x10) >> 0x10)\n           + ((view_info.plt_count & 0xff) << 8 | view_info.plt_count >> 8 & 0xff) * 0x10000;\n      *(uint *)pov = (((view_info.got_count >> 0x10) << 0x18 | (view_info.got_count >> 0x18) << 0x10\n                      ) >> 0x10) +\n                     ((view_info.got_count & 0xff) << 8 | view_info.got_count >> 8 & 0xff) * 0x10000\n      ;\n      (*pcVar21)(view_info.got_type_p,0xff);\n      ppIVar19 = (this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_start;\n      if (ppIVar19 !=\n          (this->inputs_->inputs_).\n          super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n          ._M_impl._M_finish) {\n        iVar27 = *(int *)(iVar23 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,_false> *)&view_info;\n        do {\n          iVar2 = (*(*ppIVar19)->_vptr_Incremental_input_entry[2])(*ppIVar19);\n          pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (*pp_Var5[4])();\n            if (iVar2 == 0) {\n              uVar12 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar18 = *(int **)(iVar2 + 0x24);\n            uVar12 = 0x7c1;\n            if (piVar18 == (int *)0x0) goto LAB_0011bda0;\n            view_info.input_index = (*ppIVar19)->file_index_;\n            v.super_Visitor._vptr_Visitor = (_func_int_varargs **)(iVar27 + 8);\n            v.info_ = (Got_plt_view_info *)unaff_s4;\n            (**(code **)(*piVar18 + 0x34))(piVar18,&v);\n          }\n          else {\n            iVar2 = (*pp_Var5[2])();\n            if (iVar2 == 2) {\n              pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n              goto LAB_0011bbf0;\n            }\n          }\n          ppIVar19 = ppIVar19 + 1;\n        } while ((this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_finish != ppIVar19);\n      }\n      in_t1 = (this->symtab_->table_)._M_h._M_before_begin._M_nxt;\n      uVar25 = view_info.sym_index;\n      do {\n        if (in_t1 == (_Hash_node_base *)0x0) {\n          return;\n        }\n        p_Var17 = in_t1[3]._M_nxt;\n        p_Var14 = p_Var17[7]._M_nxt;\n        p_Var6 = p_Var17 + 7;\n        view_info.sym_index = uVar25;\n        iVar27 = iVar23;\n        if ((p_Var14 != (_Hash_node_base *)0xffffffff) && (p_Var6 != (_Hash_node_base *)0x0)) {\n          view_info.sym_index = (uint)p_Var17[4]._M_nxt;\n          if ((_Hash_node_base *)view_info.sym_index == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          view_info.input_index = 0;\n          while( true ) {\n            if (view_info.got_entry_size == 0) {\n              trap(7);\n            }\n            uVar25 = (uint)p_Var6[1]._M_nxt / view_info.got_entry_size;\n            uVar12 = 0x75d;\n            if (view_info.got_count <= uVar25) goto LAB_0011bd7c;\n            if ((_Hash_node_base *)0x7e < p_Var14) {\n              do {\n                uVar12 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            view_info.got_type_p[uVar25] = (uchar)p_Var14;\n            p_Var6 = p_Var6[2]._M_nxt;\n            *(int *)((int)(view_info.got_desc_p + uVar25 * 8) + 4) = 0;\n            *(uint *)(view_info.got_desc_p + uVar25 * 8) =\n                 (((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>\n                 0x10) + ((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff) *\n                         0x10000;\n            if (p_Var6 == (_Hash_node_base *)0x0) break;\n            p_Var14 = p_Var6->_M_nxt;\n          }\n        }\n        uVar25 = view_info.sym_index;\n        if (p_Var17[6]._M_nxt != (_Hash_node_base *)0xffffffff) {\n          if (view_info.plt_entry_size == 0) {\n            trap(7);\n          }\n          uVar26 = ((int)p_Var17[6]._M_nxt - view_info.first_plt_entry_offset) /\n                   view_info.plt_entry_size;\n          if (view_info.plt_count <= uVar26) goto LAB_0011bdb8;\n          p_Var6 = p_Var17[4]._M_nxt;\n          if (p_Var6 == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          *(uint *)(view_info.plt_desc_p + uVar26 * 4) =\n               ((((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10) >> 0x10) +\n               (((uint)p_Var6 & 0xff) << 8 | (uint)p_Var6 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = in_t1->_M_nxt;\n      } while( true );\n    }\nLAB_0011bda0:\n    iVar27 = iVar23;\n    (**(code **)(iVar23 + -0x7e0c))\n              (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,*(int *)(iVar23 + -0x7e1c) + -0x36d8);\nLAB_0011bdb8:\n    (**(code **)(iVar23 + -0x7e0c))\n              (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar23 + -0x7e1c) + -0x36ec);\n    uVar25 = view_info.sym_index;\nLAB_0011bdd4:\n    view_info.sym_index = uVar25;\n    (**(code **)(iVar23 + -0x7e0c))\n              (*(int *)(iVar23 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar23 + -0x7e1c) + -0x34f4);\n  }" if (parenthesized_expression "(piVar18 != (int *)0x0)" ( (binary_expression "piVar18 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    view_info.got_count = (**(code **)(*piVar18 + 0xcc))(piVar18);\n    view_info.plt_count = (**(code **)(*piVar18 + 0xd0))(piVar18);\n    view_info.first_plt_entry_offset = (**(code **)(*piVar18 + 0xd4))(piVar18);\n    view_info.plt_entry_size = (**(code **)(*piVar18 + 0xd8))(piVar18);\n    if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {\n      view_info.got_entry_size = 4;\n      iVar23 = iVar27;\n    }\n    else {\n      view_info.got_entry_size = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar23 = iVar27;\n    }\n    view_info.got_type_p = pov + 8;\n    view_info.got_desc_p = view_info.got_type_p + (view_info.got_count + 3 & 0xfffffffc);\n    view_info.plt_desc_p = view_info.got_desc_p + view_info.got_count * 8;\n    uVar12 = 0x7ab;\n    if (pov + in_a3 == view_info.plt_desc_p + view_info.plt_count * 4) {\n      pcVar21 = *(code **)(iVar23 + -0x3980);\n      *(uint *)(pov + 4) =\n           (((view_info.plt_count >> 0x10) << 0x18 | (view_info.plt_count >> 0x18) << 0x10) >> 0x10)\n           + ((view_info.plt_count & 0xff) << 8 | view_info.plt_count >> 8 & 0xff) * 0x10000;\n      *(uint *)pov = (((view_info.got_count >> 0x10) << 0x18 | (view_info.got_count >> 0x18) << 0x10\n                      ) >> 0x10) +\n                     ((view_info.got_count & 0xff) << 8 | view_info.got_count >> 8 & 0xff) * 0x10000\n      ;\n      (*pcVar21)(view_info.got_type_p,0xff);\n      ppIVar19 = (this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_start;\n      if (ppIVar19 !=\n          (this->inputs_->inputs_).\n          super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n          ._M_impl._M_finish) {\n        iVar27 = *(int *)(iVar23 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,_false> *)&view_info;\n        do {\n          iVar2 = (*(*ppIVar19)->_vptr_Incremental_input_entry[2])(*ppIVar19);\n          pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (*pp_Var5[4])();\n            if (iVar2 == 0) {\n              uVar12 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar18 = *(int **)(iVar2 + 0x24);\n            uVar12 = 0x7c1;\n            if (piVar18 == (int *)0x0) goto LAB_0011bda0;\n            view_info.input_index = (*ppIVar19)->file_index_;\n            v.super_Visitor._vptr_Visitor = (_func_int_varargs **)(iVar27 + 8);\n            v.info_ = (Got_plt_view_info *)unaff_s4;\n            (**(code **)(*piVar18 + 0x34))(piVar18,&v);\n          }\n          else {\n            iVar2 = (*pp_Var5[2])();\n            if (iVar2 == 2) {\n              pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n              goto LAB_0011bbf0;\n            }\n          }\n          ppIVar19 = ppIVar19 + 1;\n        } while ((this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_finish != ppIVar19);\n      }\n      in_t1 = (this->symtab_->table_)._M_h._M_before_begin._M_nxt;\n      uVar25 = view_info.sym_index;\n      do {\n        if (in_t1 == (_Hash_node_base *)0x0) {\n          return;\n        }\n        p_Var17 = in_t1[3]._M_nxt;\n        p_Var14 = p_Var17[7]._M_nxt;\n        p_Var6 = p_Var17 + 7;\n        view_info.sym_index = uVar25;\n        iVar27 = iVar23;\n        if ((p_Var14 != (_Hash_node_base *)0xffffffff) && (p_Var6 != (_Hash_node_base *)0x0)) {\n          view_info.sym_index = (uint)p_Var17[4]._M_nxt;\n          if ((_Hash_node_base *)view_info.sym_index == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          view_info.input_index = 0;\n          while( true ) {\n            if (view_info.got_entry_size == 0) {\n              trap(7);\n            }\n            uVar25 = (uint)p_Var6[1]._M_nxt / view_info.got_entry_size;\n            uVar12 = 0x75d;\n            if (view_info.got_count <= uVar25) goto LAB_0011bd7c;\n            if ((_Hash_node_base *)0x7e < p_Var14) {\n              do {\n                uVar12 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            view_info.got_type_p[uVar25] = (uchar)p_Var14;\n            p_Var6 = p_Var6[2]._M_nxt;\n            *(int *)((int)(view_info.got_desc_p + uVar25 * 8) + 4) = 0;\n            *(uint *)(view_info.got_desc_p + uVar25 * 8) =\n                 (((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>\n                 0x10) + ((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff) *\n                         0x10000;\n            if (p_Var6 == (_Hash_node_base *)0x0) break;\n            p_Var14 = p_Var6->_M_nxt;\n          }\n        }\n        uVar25 = view_info.sym_index;\n        if (p_Var17[6]._M_nxt != (_Hash_node_base *)0xffffffff) {\n          if (view_info.plt_entry_size == 0) {\n            trap(7);\n          }\n          uVar26 = ((int)p_Var17[6]._M_nxt - view_info.first_plt_entry_offset) /\n                   view_info.plt_entry_size;\n          if (view_info.plt_count <= uVar26) goto LAB_0011bdb8;\n          p_Var6 = p_Var17[4]._M_nxt;\n          if (p_Var6 == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          *(uint *)(view_info.plt_desc_p + uVar26 * 4) =\n               ((((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10) >> 0x10) +\n               (((uint)p_Var6 & 0xff) << 8 | (uint)p_Var6 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = in_t1->_M_nxt;\n      } while( true );\n    }\nLAB_0011bda0:\n    iVar27 = iVar23;\n    (**(code **)(iVar23 + -0x7e0c))\n              (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,*(int *)(iVar23 + -0x7e1c) + -0x36d8);\nLAB_0011bdb8:\n    (**(code **)(iVar23 + -0x7e0c))\n              (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar23 + -0x7e1c) + -0x36ec);\n    uVar25 = view_info.sym_index;\nLAB_0011bdd4:\n    view_info.sym_index = uVar25;\n    (**(code **)(iVar23 + -0x7e0c))\n              (*(int *)(iVar23 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar23 + -0x7e1c) + -0x34f4);\n  }" { (expression_statement "view_info.got_count = (**(code **)(*piVar18 + 0xcc))(piVar18);" (assignment_expression "view_info.got_count = (**(code **)(*piVar18 + 0xcc))(piVar18)" (field_expression "view_info.got_count" identifier . field_identifier) = (call_expression "(**(code **)(*piVar18 + 0xcc))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xcc))" ( (pointer_expression "**(code **)(*piVar18 + 0xcc)" * (pointer_expression "*(code **)(*piVar18 + 0xcc)" * (cast_expression "(code **)(*piVar18 + 0xcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xcc)" ( (binary_expression "*piVar18 + 0xcc" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (expression_statement "view_info.plt_count = (**(code **)(*piVar18 + 0xd0))(piVar18);" (assignment_expression "view_info.plt_count = (**(code **)(*piVar18 + 0xd0))(piVar18)" (field_expression "view_info.plt_count" identifier . field_identifier) = (call_expression "(**(code **)(*piVar18 + 0xd0))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xd0))" ( (pointer_expression "**(code **)(*piVar18 + 0xd0)" * (pointer_expression "*(code **)(*piVar18 + 0xd0)" * (cast_expression "(code **)(*piVar18 + 0xd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xd0)" ( (binary_expression "*piVar18 + 0xd0" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (expression_statement "view_info.first_plt_entry_offset = (**(code **)(*piVar18 + 0xd4))(piVar18);" (assignment_expression "view_info.first_plt_entry_offset = (**(code **)(*piVar18 + 0xd4))(piVar18)" (field_expression "view_info.first_plt_entry_offset" identifier . field_identifier) = (call_expression "(**(code **)(*piVar18 + 0xd4))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xd4))" ( (pointer_expression "**(code **)(*piVar18 + 0xd4)" * (pointer_expression "*(code **)(*piVar18 + 0xd4)" * (cast_expression "(code **)(*piVar18 + 0xd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xd4)" ( (binary_expression "*piVar18 + 0xd4" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (expression_statement "view_info.plt_entry_size = (**(code **)(*piVar18 + 0xd8))(piVar18);" (assignment_expression "view_info.plt_entry_size = (**(code **)(*piVar18 + 0xd8))(piVar18)" (field_expression "view_info.plt_entry_size" identifier . field_identifier) = (call_expression "(**(code **)(*piVar18 + 0xd8))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xd8))" ( (pointer_expression "**(code **)(*piVar18 + 0xd8)" * (pointer_expression "*(code **)(*piVar18 + 0xd8)" * (cast_expression "(code **)(*piVar18 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xd8)" ( (binary_expression "*piVar18 + 0xd8" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (if_statement "if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {\n      view_info.got_entry_size = 4;\n      iVar23 = iVar27;\n    }\n    else {\n      view_info.got_entry_size = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar23 = iVar27;\n    }" if (parenthesized_expression "(*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98))" ( (binary_expression "*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)" (pointer_expression "*(code **)(*piVar18 + 0xdc)" * (cast_expression "(code **)(*piVar18 + 0xdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xdc)" ( (binary_expression "*piVar18 + 0xdc" (pointer_expression "*piVar18" * identifier) + number_literal) )))) == (pointer_expression "*(code **)(iVar27 + -0x5e98)" * (cast_expression "(code **)(iVar27 + -0x5e98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar27 + -0x5e98)" ( (binary_expression "iVar27 + -0x5e98" identifier + number_literal) ))))) )) (compound_statement "{\n      view_info.got_entry_size = 4;\n      iVar23 = iVar27;\n    }" { (expression_statement "view_info.got_entry_size = 4;" (assignment_expression "view_info.got_entry_size = 4" (field_expression "view_info.got_entry_size" identifier . field_identifier) = number_literal) ;) (expression_statement "iVar23 = iVar27;" (assignment_expression "iVar23 = iVar27" identifier = identifier) ;) }) (else_clause "else {\n      view_info.got_entry_size = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar23 = iVar27;\n    }" else (compound_statement "{\n      view_info.got_entry_size = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar23 = iVar27;\n    }" { (expression_statement "view_info.got_entry_size = (**(code **)(*piVar18 + 0xdc))(piVar18);" (assignment_expression "view_info.got_entry_size = (**(code **)(*piVar18 + 0xdc))(piVar18)" (field_expression "view_info.got_entry_size" identifier . field_identifier) = (call_expression "(**(code **)(*piVar18 + 0xdc))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xdc))" ( (pointer_expression "**(code **)(*piVar18 + 0xdc)" * (pointer_expression "*(code **)(*piVar18 + 0xdc)" * (cast_expression "(code **)(*piVar18 + 0xdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xdc)" ( (binary_expression "*piVar18 + 0xdc" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (expression_statement "iVar23 = iVar27;" (assignment_expression "iVar23 = iVar27" identifier = identifier) ;) }))) (expression_statement "view_info.got_type_p = pov + 8;" (assignment_expression "view_info.got_type_p = pov + 8" (field_expression "view_info.got_type_p" identifier . field_identifier) = (binary_expression "pov + 8" identifier + number_literal)) ;) (expression_statement "view_info.got_desc_p = view_info.got_type_p + (view_info.got_count + 3 & 0xfffffffc);" (assignment_expression "view_info.got_desc_p = view_info.got_type_p + (view_info.got_count + 3 & 0xfffffffc)" (field_expression "view_info.got_desc_p" identifier . field_identifier) = (binary_expression "view_info.got_type_p + (view_info.got_count + 3 & 0xfffffffc)" (field_expression "view_info.got_type_p" identifier . field_identifier) + (parenthesized_expression "(view_info.got_count + 3 & 0xfffffffc)" ( (binary_expression "view_info.got_count + 3 & 0xfffffffc" (binary_expression "view_info.got_count + 3" (field_expression "view_info.got_count" identifier . field_identifier) + number_literal) & number_literal) )))) ;) (expression_statement "view_info.plt_desc_p = view_info.got_desc_p + view_info.got_count * 8;" (assignment_expression "view_info.plt_desc_p = view_info.got_desc_p + view_info.got_count * 8" (field_expression "view_info.plt_desc_p" identifier . field_identifier) = (binary_expression "view_info.got_desc_p + view_info.got_count * 8" (field_expression "view_info.got_desc_p" identifier . field_identifier) + (binary_expression "view_info.got_count * 8" (field_expression "view_info.got_count" identifier . field_identifier) * number_literal))) ;) (expression_statement "uVar12 = 0x7ab;" (assignment_expression "uVar12 = 0x7ab" identifier = number_literal) ;) (if_statement "if (pov + in_a3 == view_info.plt_desc_p + view_info.plt_count * 4) {\n      pcVar21 = *(code **)(iVar23 + -0x3980);\n      *(uint *)(pov + 4) =\n           (((view_info.plt_count >> 0x10) << 0x18 | (view_info.plt_count >> 0x18) << 0x10) >> 0x10)\n           + ((view_info.plt_count & 0xff) << 8 | view_info.plt_count >> 8 & 0xff) * 0x10000;\n      *(uint *)pov = (((view_info.got_count >> 0x10) << 0x18 | (view_info.got_count >> 0x18) << 0x10\n                      ) >> 0x10) +\n                     ((view_info.got_count & 0xff) << 8 | view_info.got_count >> 8 & 0xff) * 0x10000\n      ;\n      (*pcVar21)(view_info.got_type_p,0xff);\n      ppIVar19 = (this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_start;\n      if (ppIVar19 !=\n          (this->inputs_->inputs_).\n          super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n          ._M_impl._M_finish) {\n        iVar27 = *(int *)(iVar23 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,_false> *)&view_info;\n        do {\n          iVar2 = (*(*ppIVar19)->_vptr_Incremental_input_entry[2])(*ppIVar19);\n          pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (*pp_Var5[4])();\n            if (iVar2 == 0) {\n              uVar12 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar18 = *(int **)(iVar2 + 0x24);\n            uVar12 = 0x7c1;\n            if (piVar18 == (int *)0x0) goto LAB_0011bda0;\n            view_info.input_index = (*ppIVar19)->file_index_;\n            v.super_Visitor._vptr_Visitor = (_func_int_varargs **)(iVar27 + 8);\n            v.info_ = (Got_plt_view_info *)unaff_s4;\n            (**(code **)(*piVar18 + 0x34))(piVar18,&v);\n          }\n          else {\n            iVar2 = (*pp_Var5[2])();\n            if (iVar2 == 2) {\n              pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n              goto LAB_0011bbf0;\n            }\n          }\n          ppIVar19 = ppIVar19 + 1;\n        } while ((this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_finish != ppIVar19);\n      }\n      in_t1 = (this->symtab_->table_)._M_h._M_before_begin._M_nxt;\n      uVar25 = view_info.sym_index;\n      do {\n        if (in_t1 == (_Hash_node_base *)0x0) {\n          return;\n        }\n        p_Var17 = in_t1[3]._M_nxt;\n        p_Var14 = p_Var17[7]._M_nxt;\n        p_Var6 = p_Var17 + 7;\n        view_info.sym_index = uVar25;\n        iVar27 = iVar23;\n        if ((p_Var14 != (_Hash_node_base *)0xffffffff) && (p_Var6 != (_Hash_node_base *)0x0)) {\n          view_info.sym_index = (uint)p_Var17[4]._M_nxt;\n          if ((_Hash_node_base *)view_info.sym_index == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          view_info.input_index = 0;\n          while( true ) {\n            if (view_info.got_entry_size == 0) {\n              trap(7);\n            }\n            uVar25 = (uint)p_Var6[1]._M_nxt / view_info.got_entry_size;\n            uVar12 = 0x75d;\n            if (view_info.got_count <= uVar25) goto LAB_0011bd7c;\n            if ((_Hash_node_base *)0x7e < p_Var14) {\n              do {\n                uVar12 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            view_info.got_type_p[uVar25] = (uchar)p_Var14;\n            p_Var6 = p_Var6[2]._M_nxt;\n            *(int *)((int)(view_info.got_desc_p + uVar25 * 8) + 4) = 0;\n            *(uint *)(view_info.got_desc_p + uVar25 * 8) =\n                 (((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>\n                 0x10) + ((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff) *\n                         0x10000;\n            if (p_Var6 == (_Hash_node_base *)0x0) break;\n            p_Var14 = p_Var6->_M_nxt;\n          }\n        }\n        uVar25 = view_info.sym_index;\n        if (p_Var17[6]._M_nxt != (_Hash_node_base *)0xffffffff) {\n          if (view_info.plt_entry_size == 0) {\n            trap(7);\n          }\n          uVar26 = ((int)p_Var17[6]._M_nxt - view_info.first_plt_entry_offset) /\n                   view_info.plt_entry_size;\n          if (view_info.plt_count <= uVar26) goto LAB_0011bdb8;\n          p_Var6 = p_Var17[4]._M_nxt;\n          if (p_Var6 == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          *(uint *)(view_info.plt_desc_p + uVar26 * 4) =\n               ((((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10) >> 0x10) +\n               (((uint)p_Var6 & 0xff) << 8 | (uint)p_Var6 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = in_t1->_M_nxt;\n      } while( true );\n    }" if (parenthesized_expression "(pov + in_a3 == view_info.plt_desc_p + view_info.plt_count * 4)" ( (binary_expression "pov + in_a3 == view_info.plt_desc_p + view_info.plt_count * 4" (binary_expression "pov + in_a3" identifier + identifier) == (binary_expression "view_info.plt_desc_p + view_info.plt_count * 4" (field_expression "view_info.plt_desc_p" identifier . field_identifier) + (binary_expression "view_info.plt_count * 4" (field_expression "view_info.plt_count" identifier . field_identifier) * number_literal))) )) (compound_statement "{\n      pcVar21 = *(code **)(iVar23 + -0x3980);\n      *(uint *)(pov + 4) =\n           (((view_info.plt_count >> 0x10) << 0x18 | (view_info.plt_count >> 0x18) << 0x10) >> 0x10)\n           + ((view_info.plt_count & 0xff) << 8 | view_info.plt_count >> 8 & 0xff) * 0x10000;\n      *(uint *)pov = (((view_info.got_count >> 0x10) << 0x18 | (view_info.got_count >> 0x18) << 0x10\n                      ) >> 0x10) +\n                     ((view_info.got_count & 0xff) << 8 | view_info.got_count >> 8 & 0xff) * 0x10000\n      ;\n      (*pcVar21)(view_info.got_type_p,0xff);\n      ppIVar19 = (this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_start;\n      if (ppIVar19 !=\n          (this->inputs_->inputs_).\n          super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n          ._M_impl._M_finish) {\n        iVar27 = *(int *)(iVar23 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,_false> *)&view_info;\n        do {\n          iVar2 = (*(*ppIVar19)->_vptr_Incremental_input_entry[2])(*ppIVar19);\n          pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (*pp_Var5[4])();\n            if (iVar2 == 0) {\n              uVar12 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar18 = *(int **)(iVar2 + 0x24);\n            uVar12 = 0x7c1;\n            if (piVar18 == (int *)0x0) goto LAB_0011bda0;\n            view_info.input_index = (*ppIVar19)->file_index_;\n            v.super_Visitor._vptr_Visitor = (_func_int_varargs **)(iVar27 + 8);\n            v.info_ = (Got_plt_view_info *)unaff_s4;\n            (**(code **)(*piVar18 + 0x34))(piVar18,&v);\n          }\n          else {\n            iVar2 = (*pp_Var5[2])();\n            if (iVar2 == 2) {\n              pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n              goto LAB_0011bbf0;\n            }\n          }\n          ppIVar19 = ppIVar19 + 1;\n        } while ((this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_finish != ppIVar19);\n      }\n      in_t1 = (this->symtab_->table_)._M_h._M_before_begin._M_nxt;\n      uVar25 = view_info.sym_index;\n      do {\n        if (in_t1 == (_Hash_node_base *)0x0) {\n          return;\n        }\n        p_Var17 = in_t1[3]._M_nxt;\n        p_Var14 = p_Var17[7]._M_nxt;\n        p_Var6 = p_Var17 + 7;\n        view_info.sym_index = uVar25;\n        iVar27 = iVar23;\n        if ((p_Var14 != (_Hash_node_base *)0xffffffff) && (p_Var6 != (_Hash_node_base *)0x0)) {\n          view_info.sym_index = (uint)p_Var17[4]._M_nxt;\n          if ((_Hash_node_base *)view_info.sym_index == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          view_info.input_index = 0;\n          while( true ) {\n            if (view_info.got_entry_size == 0) {\n              trap(7);\n            }\n            uVar25 = (uint)p_Var6[1]._M_nxt / view_info.got_entry_size;\n            uVar12 = 0x75d;\n            if (view_info.got_count <= uVar25) goto LAB_0011bd7c;\n            if ((_Hash_node_base *)0x7e < p_Var14) {\n              do {\n                uVar12 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            view_info.got_type_p[uVar25] = (uchar)p_Var14;\n            p_Var6 = p_Var6[2]._M_nxt;\n            *(int *)((int)(view_info.got_desc_p + uVar25 * 8) + 4) = 0;\n            *(uint *)(view_info.got_desc_p + uVar25 * 8) =\n                 (((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>\n                 0x10) + ((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff) *\n                         0x10000;\n            if (p_Var6 == (_Hash_node_base *)0x0) break;\n            p_Var14 = p_Var6->_M_nxt;\n          }\n        }\n        uVar25 = view_info.sym_index;\n        if (p_Var17[6]._M_nxt != (_Hash_node_base *)0xffffffff) {\n          if (view_info.plt_entry_size == 0) {\n            trap(7);\n          }\n          uVar26 = ((int)p_Var17[6]._M_nxt - view_info.first_plt_entry_offset) /\n                   view_info.plt_entry_size;\n          if (view_info.plt_count <= uVar26) goto LAB_0011bdb8;\n          p_Var6 = p_Var17[4]._M_nxt;\n          if (p_Var6 == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          *(uint *)(view_info.plt_desc_p + uVar26 * 4) =\n               ((((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10) >> 0x10) +\n               (((uint)p_Var6 & 0xff) << 8 | (uint)p_Var6 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = in_t1->_M_nxt;\n      } while( true );\n    }" { (expression_statement "pcVar21 = *(code **)(iVar23 + -0x3980);" (assignment_expression "pcVar21 = *(code **)(iVar23 + -0x3980)" identifier = (pointer_expression "*(code **)(iVar23 + -0x3980)" * (cast_expression "(code **)(iVar23 + -0x3980)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + -0x3980)" ( (binary_expression "iVar23 + -0x3980" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(pov + 4) =\n           (((view_info.plt_count >> 0x10) << 0x18 | (view_info.plt_count >> 0x18) << 0x10) >> 0x10)\n           + ((view_info.plt_count & 0xff) << 8 | view_info.plt_count >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(pov + 4) =\n           (((view_info.plt_count >> 0x10) << 0x18 | (view_info.plt_count >> 0x18) << 0x10) >> 0x10)\n           + ((view_info.plt_count & 0xff) << 8 | view_info.plt_count >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(pov + 4)" * (cast_expression "(uint *)(pov + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pov + 4)" ( (binary_expression "pov + 4" identifier + number_literal) )))) = (binary_expression "(((view_info.plt_count >> 0x10) << 0x18 | (view_info.plt_count >> 0x18) << 0x10) >> 0x10)\n           + ((view_info.plt_count & 0xff) << 8 | view_info.plt_count >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((view_info.plt_count >> 0x10) << 0x18 | (view_info.plt_count >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((view_info.plt_count >> 0x10) << 0x18 | (view_info.plt_count >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((view_info.plt_count >> 0x10) << 0x18 | (view_info.plt_count >> 0x18) << 0x10)" ( (binary_expression "(view_info.plt_count >> 0x10) << 0x18 | (view_info.plt_count >> 0x18) << 0x10" (binary_expression "(view_info.plt_count >> 0x10) << 0x18" (parenthesized_expression "(view_info.plt_count >> 0x10)" ( (binary_expression "view_info.plt_count >> 0x10" (field_expression "view_info.plt_count" identifier . field_identifier) >> number_literal) )) << number_literal) | (binary_expression "(view_info.plt_count >> 0x18) << 0x10" (parenthesized_expression "(view_info.plt_count >> 0x18)" ( (binary_expression "view_info.plt_count >> 0x18" (field_expression "view_info.plt_count" identifier . field_identifier) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((view_info.plt_count & 0xff) << 8 | view_info.plt_count >> 8 & 0xff) * 0x10000" (parenthesized_expression "((view_info.plt_count & 0xff) << 8 | view_info.plt_count >> 8 & 0xff)" ( (binary_expression "(view_info.plt_count & 0xff) << 8 | view_info.plt_count >> 8 & 0xff" (binary_expression "(view_info.plt_count & 0xff) << 8" (parenthesized_expression "(view_info.plt_count & 0xff)" ( (binary_expression "view_info.plt_count & 0xff" (field_expression "view_info.plt_count" identifier . field_identifier) & number_literal) )) << number_literal) | (binary_expression "view_info.plt_count >> 8 & 0xff" (binary_expression "view_info.plt_count >> 8" (field_expression "view_info.plt_count" identifier . field_identifier) >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "*(uint *)pov = (((view_info.got_count >> 0x10) << 0x18 | (view_info.got_count >> 0x18) << 0x10\n                      ) >> 0x10) +\n                     ((view_info.got_count & 0xff) << 8 | view_info.got_count >> 8 & 0xff) * 0x10000\n      ;" (assignment_expression "*(uint *)pov = (((view_info.got_count >> 0x10) << 0x18 | (view_info.got_count >> 0x18) << 0x10\n                      ) >> 0x10) +\n                     ((view_info.got_count & 0xff) << 8 | view_info.got_count >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)pov" * (cast_expression "(uint *)pov" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(((view_info.got_count >> 0x10) << 0x18 | (view_info.got_count >> 0x18) << 0x10\n                      ) >> 0x10) +\n                     ((view_info.got_count & 0xff) << 8 | view_info.got_count >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((view_info.got_count >> 0x10) << 0x18 | (view_info.got_count >> 0x18) << 0x10\n                      ) >> 0x10)" ( (binary_expression "((view_info.got_count >> 0x10) << 0x18 | (view_info.got_count >> 0x18) << 0x10\n                      ) >> 0x10" (parenthesized_expression "((view_info.got_count >> 0x10) << 0x18 | (view_info.got_count >> 0x18) << 0x10\n                      )" ( (binary_expression "(view_info.got_count >> 0x10) << 0x18 | (view_info.got_count >> 0x18) << 0x10" (binary_expression "(view_info.got_count >> 0x10) << 0x18" (parenthesized_expression "(view_info.got_count >> 0x10)" ( (binary_expression "view_info.got_count >> 0x10" (field_expression "view_info.got_count" identifier . field_identifier) >> number_literal) )) << number_literal) | (binary_expression "(view_info.got_count >> 0x18) << 0x10" (parenthesized_expression "(view_info.got_count >> 0x18)" ( (binary_expression "view_info.got_count >> 0x18" (field_expression "view_info.got_count" identifier . field_identifier) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((view_info.got_count & 0xff) << 8 | view_info.got_count >> 8 & 0xff) * 0x10000" (parenthesized_expression "((view_info.got_count & 0xff) << 8 | view_info.got_count >> 8 & 0xff)" ( (binary_expression "(view_info.got_count & 0xff) << 8 | view_info.got_count >> 8 & 0xff" (binary_expression "(view_info.got_count & 0xff) << 8" (parenthesized_expression "(view_info.got_count & 0xff)" ( (binary_expression "view_info.got_count & 0xff" (field_expression "view_info.got_count" identifier . field_identifier) & number_literal) )) << number_literal) | (binary_expression "view_info.got_count >> 8 & 0xff" (binary_expression "view_info.got_count >> 8" (field_expression "view_info.got_count" identifier . field_identifier) >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "(*pcVar21)(view_info.got_type_p,0xff);" (call_expression "(*pcVar21)(view_info.got_type_p,0xff)" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "(view_info.got_type_p,0xff)" ( (field_expression "view_info.got_type_p" identifier . field_identifier) , number_literal ))) ;) (expression_statement "ppIVar19 = (this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_start;" (field_expression "ppIVar19 = (this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_start" (field_expression "ppIVar19 = (this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl" (binary_expression "ppIVar19 = (this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_" (binary_expression "ppIVar19 = (this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold" (binary_expression "ppIVar19 = (this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std" (assignment_expression "ppIVar19 = (this->inputs_->inputs_).\n                 super__Vector_base<gold" identifier = (binary_expression "(this->inputs_->inputs_).\n                 super__Vector_base<gold" (field_expression "(this->inputs_->inputs_).\n                 super__Vector_base" (parenthesized_expression "(this->inputs_->inputs_)" ( (field_expression "this->inputs_->inputs_" (field_expression "this->inputs_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (ppIVar19 !=\n          (this->inputs_->inputs_).\n          super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n          ._M_impl._M_finish) {\n        iVar27 = *(int *)(iVar23 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,_false> *)&view_info;\n        do {\n          iVar2 = (*(*ppIVar19)->_vptr_Incremental_input_entry[2])(*ppIVar19);\n          pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (*pp_Var5[4])();\n            if (iVar2 == 0) {\n              uVar12 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar18 = *(int **)(iVar2 + 0x24);\n            uVar12 = 0x7c1;\n            if (piVar18 == (int *)0x0) goto LAB_0011bda0;\n            view_info.input_index = (*ppIVar19)->file_index_;\n            v.super_Visitor._vptr_Visitor = (_func_int_varargs **)(iVar27 + 8);\n            v.info_ = (Got_plt_view_info *)unaff_s4;\n            (**(code **)(*piVar18 + 0x34))(piVar18,&v);\n          }\n          else {\n            iVar2 = (*pp_Var5[2])();\n            if (iVar2 == 2) {\n              pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n              goto LAB_0011bbf0;\n            }\n          }\n          ppIVar19 = ppIVar19 + 1;\n        } while ((this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_finish != ppIVar19);\n      }" if (parenthesized_expression "(ppIVar19 !=\n          (this->inputs_->inputs_).\n          super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n          ._M_impl._M_finish)" ( (field_expression "ppIVar19 !=\n          (this->inputs_->inputs_).\n          super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n          ._M_impl._M_finish" (field_expression "ppIVar19 !=\n          (this->inputs_->inputs_).\n          super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n          ._M_impl" (binary_expression "ppIVar19 !=\n          (this->inputs_->inputs_).\n          super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_" (binary_expression "ppIVar19 !=\n          (this->inputs_->inputs_).\n          super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold" (binary_expression "ppIVar19 !=\n          (this->inputs_->inputs_).\n          super__Vector_base<gold::Incremental_input_entry*,_std" (binary_expression "ppIVar19 !=\n          (this->inputs_->inputs_).\n          super__Vector_base<gold" identifier != (binary_expression "(this->inputs_->inputs_).\n          super__Vector_base<gold" (field_expression "(this->inputs_->inputs_).\n          super__Vector_base" (parenthesized_expression "(this->inputs_->inputs_)" ( (field_expression "this->inputs_->inputs_" (field_expression "this->inputs_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n        iVar27 = *(int *)(iVar23 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,_false> *)&view_info;\n        do {\n          iVar2 = (*(*ppIVar19)->_vptr_Incremental_input_entry[2])(*ppIVar19);\n          pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (*pp_Var5[4])();\n            if (iVar2 == 0) {\n              uVar12 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar18 = *(int **)(iVar2 + 0x24);\n            uVar12 = 0x7c1;\n            if (piVar18 == (int *)0x0) goto LAB_0011bda0;\n            view_info.input_index = (*ppIVar19)->file_index_;\n            v.super_Visitor._vptr_Visitor = (_func_int_varargs **)(iVar27 + 8);\n            v.info_ = (Got_plt_view_info *)unaff_s4;\n            (**(code **)(*piVar18 + 0x34))(piVar18,&v);\n          }\n          else {\n            iVar2 = (*pp_Var5[2])();\n            if (iVar2 == 2) {\n              pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n              goto LAB_0011bbf0;\n            }\n          }\n          ppIVar19 = ppIVar19 + 1;\n        } while ((this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_finish != ppIVar19);\n      }" { (expression_statement "iVar27 = *(int *)(iVar23 + -0x5e94);" (assignment_expression "iVar27 = *(int *)(iVar23 + -0x5e94)" identifier = (pointer_expression "*(int *)(iVar23 + -0x5e94)" * (cast_expression "(int *)(iVar23 + -0x5e94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + -0x5e94)" ( (binary_expression "iVar23 + -0x5e94" identifier + number_literal) ))))) ;) (expression_statement "unaff_s4 = (Output_section_incremental_inputs<32,_false> *)&view_info;" (assignment_expression "unaff_s4 = (Output_section_incremental_inputs<32,_false> *)&view_info" identifier = (binary_expression "(Output_section_incremental_inputs<32,_false> *)&view_info" (parenthesized_expression "(Output_section_incremental_inputs<32,_false> *)" ( (comma_expression "Output_section_incremental_inputs<32,_false> *" (binary_expression "Output_section_incremental_inputs<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) & identifier)) ;) (do_statement "do {\n          iVar2 = (*(*ppIVar19)->_vptr_Incremental_input_entry[2])(*ppIVar19);\n          pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (*pp_Var5[4])();\n            if (iVar2 == 0) {\n              uVar12 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar18 = *(int **)(iVar2 + 0x24);\n            uVar12 = 0x7c1;\n            if (piVar18 == (int *)0x0) goto LAB_0011bda0;\n            view_info.input_index = (*ppIVar19)->file_index_;\n            v.super_Visitor._vptr_Visitor = (_func_int_varargs **)(iVar27 + 8);\n            v.info_ = (Got_plt_view_info *)unaff_s4;\n            (**(code **)(*piVar18 + 0x34))(piVar18,&v);\n          }\n          else {\n            iVar2 = (*pp_Var5[2])();\n            if (iVar2 == 2) {\n              pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n              goto LAB_0011bbf0;\n            }\n          }\n          ppIVar19 = ppIVar19 + 1;\n        } while ((this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_finish != ppIVar19);" do (compound_statement "{\n          iVar2 = (*(*ppIVar19)->_vptr_Incremental_input_entry[2])(*ppIVar19);\n          pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (*pp_Var5[4])();\n            if (iVar2 == 0) {\n              uVar12 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar18 = *(int **)(iVar2 + 0x24);\n            uVar12 = 0x7c1;\n            if (piVar18 == (int *)0x0) goto LAB_0011bda0;\n            view_info.input_index = (*ppIVar19)->file_index_;\n            v.super_Visitor._vptr_Visitor = (_func_int_varargs **)(iVar27 + 8);\n            v.info_ = (Got_plt_view_info *)unaff_s4;\n            (**(code **)(*piVar18 + 0x34))(piVar18,&v);\n          }\n          else {\n            iVar2 = (*pp_Var5[2])();\n            if (iVar2 == 2) {\n              pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n              goto LAB_0011bbf0;\n            }\n          }\n          ppIVar19 = ppIVar19 + 1;\n        }" { (expression_statement "iVar2 = (*(*ppIVar19)->_vptr_Incremental_input_entry[2])(*ppIVar19);" (assignment_expression "iVar2 = (*(*ppIVar19)->_vptr_Incremental_input_entry[2])(*ppIVar19)" identifier = (call_expression "(*(*ppIVar19)->_vptr_Incremental_input_entry[2])(*ppIVar19)" (parenthesized_expression "(*(*ppIVar19)->_vptr_Incremental_input_entry[2])" ( (pointer_expression "*(*ppIVar19)->_vptr_Incremental_input_entry[2]" * (subscript_expression "(*ppIVar19)->_vptr_Incremental_input_entry[2]" (field_expression "(*ppIVar19)->_vptr_Incremental_input_entry" (parenthesized_expression "(*ppIVar19)" ( (pointer_expression "*ppIVar19" * identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "(*ppIVar19)" ( (pointer_expression "*ppIVar19" * identifier) )))) ;) (expression_statement "pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;" (assignment_expression "pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry" identifier = (field_expression "(*ppIVar19)->_vptr_Incremental_input_entry" (parenthesized_expression "(*ppIVar19)" ( (pointer_expression "*ppIVar19" * identifier) )) -> field_identifier)) ;) (if_statement "if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (*pp_Var5[4])();\n            if (iVar2 == 0) {\n              uVar12 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar18 = *(int **)(iVar2 + 0x24);\n            uVar12 = 0x7c1;\n            if (piVar18 == (int *)0x0) goto LAB_0011bda0;\n            view_info.input_index = (*ppIVar19)->file_index_;\n            v.super_Visitor._vptr_Visitor = (_func_int_varargs **)(iVar27 + 8);\n            v.info_ = (Got_plt_view_info *)unaff_s4;\n            (**(code **)(*piVar18 + 0x34))(piVar18,&v);\n          }\n          else {\n            iVar2 = (*pp_Var5[2])();\n            if (iVar2 == 2) {\n              pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n              goto LAB_0011bbf0;\n            }\n          }" if (parenthesized_expression "(iVar2 == 1)" ( (binary_expression "iVar2 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_0011bbf0:\n            iVar2 = (*pp_Var5[4])();\n            if (iVar2 == 0) {\n              uVar12 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar18 = *(int **)(iVar2 + 0x24);\n            uVar12 = 0x7c1;\n            if (piVar18 == (int *)0x0) goto LAB_0011bda0;\n            view_info.input_index = (*ppIVar19)->file_index_;\n            v.super_Visitor._vptr_Visitor = (_func_int_varargs **)(iVar27 + 8);\n            v.info_ = (Got_plt_view_info *)unaff_s4;\n            (**(code **)(*piVar18 + 0x34))(piVar18,&v);\n          }" { (labeled_statement "LAB_0011bbf0:\n            iVar2 = (*pp_Var5[4])();" statement_identifier : (expression_statement "iVar2 = (*pp_Var5[4])();" (assignment_expression "iVar2 = (*pp_Var5[4])()" identifier = (call_expression "(*pp_Var5[4])()" (parenthesized_expression "(*pp_Var5[4])" ( (pointer_expression "*pp_Var5[4]" * (subscript_expression "pp_Var5[4]" identifier [ number_literal ])) )) (argument_list "()" ( )))) ;)) (if_statement "if (iVar2 == 0) {\n              uVar12 = 0x7bf;\n              goto LAB_0011bda0;\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar12 = 0x7bf;\n              goto LAB_0011bda0;\n            }" { (expression_statement "uVar12 = 0x7bf;" (assignment_expression "uVar12 = 0x7bf" identifier = number_literal) ;) (goto_statement "goto LAB_0011bda0;" goto statement_identifier ;) })) (expression_statement "piVar18 = *(int **)(iVar2 + 0x24);" (assignment_expression "piVar18 = *(int **)(iVar2 + 0x24)" identifier = (pointer_expression "*(int **)(iVar2 + 0x24)" * (cast_expression "(int **)(iVar2 + 0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x24)" ( (binary_expression "iVar2 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = 0x7c1;" (assignment_expression "uVar12 = 0x7c1" identifier = number_literal) ;) (if_statement "if (piVar18 == (int *)0x0) goto LAB_0011bda0;" if (parenthesized_expression "(piVar18 == (int *)0x0)" ( (binary_expression "piVar18 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011bda0;" goto statement_identifier ;)) (expression_statement "view_info.input_index = (*ppIVar19)->file_index_;" (assignment_expression "view_info.input_index = (*ppIVar19)->file_index_" (field_expression "view_info.input_index" identifier . field_identifier) = (field_expression "(*ppIVar19)->file_index_" (parenthesized_expression "(*ppIVar19)" ( (pointer_expression "*ppIVar19" * identifier) )) -> field_identifier)) ;) (expression_statement "v.super_Visitor._vptr_Visitor = (_func_int_varargs **)(iVar27 + 8);" (assignment_expression "v.super_Visitor._vptr_Visitor = (_func_int_varargs **)(iVar27 + 8)" (field_expression "v.super_Visitor._vptr_Visitor" (field_expression "v.super_Visitor" identifier . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)(iVar27 + 8)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar27 + 8)" ( (binary_expression "iVar27 + 8" identifier + number_literal) )))) ;) (expression_statement "v.info_ = (Got_plt_view_info *)unaff_s4;" (assignment_expression "v.info_ = (Got_plt_view_info *)unaff_s4" (field_expression "v.info_" identifier . field_identifier) = (cast_expression "(Got_plt_view_info *)unaff_s4" ( (type_descriptor "Got_plt_view_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(**(code **)(*piVar18 + 0x34))(piVar18,&v);" (call_expression "(**(code **)(*piVar18 + 0x34))(piVar18,&v)" (parenthesized_expression "(**(code **)(*piVar18 + 0x34))" ( (pointer_expression "**(code **)(*piVar18 + 0x34)" * (pointer_expression "*(code **)(*piVar18 + 0x34)" * (cast_expression "(code **)(*piVar18 + 0x34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0x34)" ( (binary_expression "*piVar18 + 0x34" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18,&v)" ( identifier , (pointer_expression "&v" & identifier) ))) ;) }) (else_clause "else {\n            iVar2 = (*pp_Var5[2])();\n            if (iVar2 == 2) {\n              pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n              goto LAB_0011bbf0;\n            }\n          }" else (compound_statement "{\n            iVar2 = (*pp_Var5[2])();\n            if (iVar2 == 2) {\n              pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n              goto LAB_0011bbf0;\n            }\n          }" { (expression_statement "iVar2 = (*pp_Var5[2])();" (assignment_expression "iVar2 = (*pp_Var5[2])()" identifier = (call_expression "(*pp_Var5[2])()" (parenthesized_expression "(*pp_Var5[2])" ( (pointer_expression "*pp_Var5[2]" * (subscript_expression "pp_Var5[2]" identifier [ number_literal ])) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar2 == 2) {\n              pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n              goto LAB_0011bbf0;\n            }" if (parenthesized_expression "(iVar2 == 2)" ( (binary_expression "iVar2 == 2" identifier == number_literal) )) (compound_statement "{\n              pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;\n              goto LAB_0011bbf0;\n            }" { (expression_statement "pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry;" (assignment_expression "pp_Var5 = (*ppIVar19)->_vptr_Incremental_input_entry" identifier = (field_expression "(*ppIVar19)->_vptr_Incremental_input_entry" (parenthesized_expression "(*ppIVar19)" ( (pointer_expression "*ppIVar19" * identifier) )) -> field_identifier)) ;) (goto_statement "goto LAB_0011bbf0;" goto statement_identifier ;) })) }))) (expression_statement "ppIVar19 = ppIVar19 + 1;" (assignment_expression "ppIVar19 = ppIVar19 + 1" identifier = (binary_expression "ppIVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_finish != ppIVar19)" ( (binary_expression "(this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_finish != ppIVar19" (field_expression "(this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl._M_finish" (field_expression "(this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                 ._M_impl" (binary_expression "(this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_" (binary_expression "(this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold" (binary_expression "(this->inputs_->inputs_).\n                 super__Vector_base<gold::Incremental_input_entry*,_std" (binary_expression "(this->inputs_->inputs_).\n                 super__Vector_base<gold" (field_expression "(this->inputs_->inputs_).\n                 super__Vector_base" (parenthesized_expression "(this->inputs_->inputs_)" ( (field_expression "this->inputs_->inputs_" (field_expression "this->inputs_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) != identifier) )) ;) })) (expression_statement "in_t1 = (this->symtab_->table_)._M_h._M_before_begin._M_nxt;" (assignment_expression "in_t1 = (this->symtab_->table_)._M_h._M_before_begin._M_nxt" identifier = (field_expression "(this->symtab_->table_)._M_h._M_before_begin._M_nxt" (field_expression "(this->symtab_->table_)._M_h._M_before_begin" (field_expression "(this->symtab_->table_)._M_h" (parenthesized_expression "(this->symtab_->table_)" ( (field_expression "this->symtab_->table_" (field_expression "this->symtab_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "uVar25 = view_info.sym_index;" (assignment_expression "uVar25 = view_info.sym_index" identifier = (field_expression "view_info.sym_index" identifier . field_identifier)) ;) (do_statement "do {\n        if (in_t1 == (_Hash_node_base *)0x0) {\n          return;\n        }\n        p_Var17 = in_t1[3]._M_nxt;\n        p_Var14 = p_Var17[7]._M_nxt;\n        p_Var6 = p_Var17 + 7;\n        view_info.sym_index = uVar25;\n        iVar27 = iVar23;\n        if ((p_Var14 != (_Hash_node_base *)0xffffffff) && (p_Var6 != (_Hash_node_base *)0x0)) {\n          view_info.sym_index = (uint)p_Var17[4]._M_nxt;\n          if ((_Hash_node_base *)view_info.sym_index == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          view_info.input_index = 0;\n          while( true ) {\n            if (view_info.got_entry_size == 0) {\n              trap(7);\n            }\n            uVar25 = (uint)p_Var6[1]._M_nxt / view_info.got_entry_size;\n            uVar12 = 0x75d;\n            if (view_info.got_count <= uVar25) goto LAB_0011bd7c;\n            if ((_Hash_node_base *)0x7e < p_Var14) {\n              do {\n                uVar12 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            view_info.got_type_p[uVar25] = (uchar)p_Var14;\n            p_Var6 = p_Var6[2]._M_nxt;\n            *(int *)((int)(view_info.got_desc_p + uVar25 * 8) + 4) = 0;\n            *(uint *)(view_info.got_desc_p + uVar25 * 8) =\n                 (((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>\n                 0x10) + ((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff) *\n                         0x10000;\n            if (p_Var6 == (_Hash_node_base *)0x0) break;\n            p_Var14 = p_Var6->_M_nxt;\n          }\n        }\n        uVar25 = view_info.sym_index;\n        if (p_Var17[6]._M_nxt != (_Hash_node_base *)0xffffffff) {\n          if (view_info.plt_entry_size == 0) {\n            trap(7);\n          }\n          uVar26 = ((int)p_Var17[6]._M_nxt - view_info.first_plt_entry_offset) /\n                   view_info.plt_entry_size;\n          if (view_info.plt_count <= uVar26) goto LAB_0011bdb8;\n          p_Var6 = p_Var17[4]._M_nxt;\n          if (p_Var6 == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          *(uint *)(view_info.plt_desc_p + uVar26 * 4) =\n               ((((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10) >> 0x10) +\n               (((uint)p_Var6 & 0xff) << 8 | (uint)p_Var6 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = in_t1->_M_nxt;\n      } while( true );" do (compound_statement "{\n        if (in_t1 == (_Hash_node_base *)0x0) {\n          return;\n        }\n        p_Var17 = in_t1[3]._M_nxt;\n        p_Var14 = p_Var17[7]._M_nxt;\n        p_Var6 = p_Var17 + 7;\n        view_info.sym_index = uVar25;\n        iVar27 = iVar23;\n        if ((p_Var14 != (_Hash_node_base *)0xffffffff) && (p_Var6 != (_Hash_node_base *)0x0)) {\n          view_info.sym_index = (uint)p_Var17[4]._M_nxt;\n          if ((_Hash_node_base *)view_info.sym_index == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          view_info.input_index = 0;\n          while( true ) {\n            if (view_info.got_entry_size == 0) {\n              trap(7);\n            }\n            uVar25 = (uint)p_Var6[1]._M_nxt / view_info.got_entry_size;\n            uVar12 = 0x75d;\n            if (view_info.got_count <= uVar25) goto LAB_0011bd7c;\n            if ((_Hash_node_base *)0x7e < p_Var14) {\n              do {\n                uVar12 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            view_info.got_type_p[uVar25] = (uchar)p_Var14;\n            p_Var6 = p_Var6[2]._M_nxt;\n            *(int *)((int)(view_info.got_desc_p + uVar25 * 8) + 4) = 0;\n            *(uint *)(view_info.got_desc_p + uVar25 * 8) =\n                 (((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>\n                 0x10) + ((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff) *\n                         0x10000;\n            if (p_Var6 == (_Hash_node_base *)0x0) break;\n            p_Var14 = p_Var6->_M_nxt;\n          }\n        }\n        uVar25 = view_info.sym_index;\n        if (p_Var17[6]._M_nxt != (_Hash_node_base *)0xffffffff) {\n          if (view_info.plt_entry_size == 0) {\n            trap(7);\n          }\n          uVar26 = ((int)p_Var17[6]._M_nxt - view_info.first_plt_entry_offset) /\n                   view_info.plt_entry_size;\n          if (view_info.plt_count <= uVar26) goto LAB_0011bdb8;\n          p_Var6 = p_Var17[4]._M_nxt;\n          if (p_Var6 == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          *(uint *)(view_info.plt_desc_p + uVar26 * 4) =\n               ((((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10) >> 0x10) +\n               (((uint)p_Var6 & 0xff) << 8 | (uint)p_Var6 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = in_t1->_M_nxt;\n      }" { (if_statement "if (in_t1 == (_Hash_node_base *)0x0) {\n          return;\n        }" if (parenthesized_expression "(in_t1 == (_Hash_node_base *)0x0)" ( (binary_expression "in_t1 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "p_Var17 = in_t1[3]._M_nxt;" (assignment_expression "p_Var17 = in_t1[3]._M_nxt" identifier = (field_expression "in_t1[3]._M_nxt" (subscript_expression "in_t1[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "p_Var14 = p_Var17[7]._M_nxt;" (assignment_expression "p_Var14 = p_Var17[7]._M_nxt" identifier = (field_expression "p_Var17[7]._M_nxt" (subscript_expression "p_Var17[7]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "p_Var6 = p_Var17 + 7;" (assignment_expression "p_Var6 = p_Var17 + 7" identifier = (binary_expression "p_Var17 + 7" identifier + number_literal)) ;) (expression_statement "view_info.sym_index = uVar25;" (assignment_expression "view_info.sym_index = uVar25" (field_expression "view_info.sym_index" identifier . field_identifier) = identifier) ;) (expression_statement "iVar27 = iVar23;" (assignment_expression "iVar27 = iVar23" identifier = identifier) ;) (if_statement "if ((p_Var14 != (_Hash_node_base *)0xffffffff) && (p_Var6 != (_Hash_node_base *)0x0)) {\n          view_info.sym_index = (uint)p_Var17[4]._M_nxt;\n          if ((_Hash_node_base *)view_info.sym_index == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          view_info.input_index = 0;\n          while( true ) {\n            if (view_info.got_entry_size == 0) {\n              trap(7);\n            }\n            uVar25 = (uint)p_Var6[1]._M_nxt / view_info.got_entry_size;\n            uVar12 = 0x75d;\n            if (view_info.got_count <= uVar25) goto LAB_0011bd7c;\n            if ((_Hash_node_base *)0x7e < p_Var14) {\n              do {\n                uVar12 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            view_info.got_type_p[uVar25] = (uchar)p_Var14;\n            p_Var6 = p_Var6[2]._M_nxt;\n            *(int *)((int)(view_info.got_desc_p + uVar25 * 8) + 4) = 0;\n            *(uint *)(view_info.got_desc_p + uVar25 * 8) =\n                 (((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>\n                 0x10) + ((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff) *\n                         0x10000;\n            if (p_Var6 == (_Hash_node_base *)0x0) break;\n            p_Var14 = p_Var6->_M_nxt;\n          }\n        }" if (parenthesized_expression "((p_Var14 != (_Hash_node_base *)0xffffffff) && (p_Var6 != (_Hash_node_base *)0x0))" ( (binary_expression "(p_Var14 != (_Hash_node_base *)0xffffffff) && (p_Var6 != (_Hash_node_base *)0x0)" (parenthesized_expression "(p_Var14 != (_Hash_node_base *)0xffffffff)" ( (binary_expression "p_Var14 != (_Hash_node_base *)0xffffffff" identifier != (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(p_Var6 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var6 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          view_info.sym_index = (uint)p_Var17[4]._M_nxt;\n          if ((_Hash_node_base *)view_info.sym_index == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          view_info.input_index = 0;\n          while( true ) {\n            if (view_info.got_entry_size == 0) {\n              trap(7);\n            }\n            uVar25 = (uint)p_Var6[1]._M_nxt / view_info.got_entry_size;\n            uVar12 = 0x75d;\n            if (view_info.got_count <= uVar25) goto LAB_0011bd7c;\n            if ((_Hash_node_base *)0x7e < p_Var14) {\n              do {\n                uVar12 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            view_info.got_type_p[uVar25] = (uchar)p_Var14;\n            p_Var6 = p_Var6[2]._M_nxt;\n            *(int *)((int)(view_info.got_desc_p + uVar25 * 8) + 4) = 0;\n            *(uint *)(view_info.got_desc_p + uVar25 * 8) =\n                 (((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>\n                 0x10) + ((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff) *\n                         0x10000;\n            if (p_Var6 == (_Hash_node_base *)0x0) break;\n            p_Var14 = p_Var6->_M_nxt;\n          }\n        }" { (expression_statement "view_info.sym_index = (uint)p_Var17[4]._M_nxt;" (assignment_expression "view_info.sym_index = (uint)p_Var17[4]._M_nxt" (field_expression "view_info.sym_index" identifier . field_identifier) = (cast_expression "(uint)p_Var17[4]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var17[4]._M_nxt" (subscript_expression "p_Var17[4]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if ((_Hash_node_base *)view_info.sym_index == (_Hash_node_base *)0x0) goto LAB_0011bdd4;" if (parenthesized_expression "((_Hash_node_base *)view_info.sym_index == (_Hash_node_base *)0x0)" ( (binary_expression "(_Hash_node_base *)view_info.sym_index == (_Hash_node_base *)0x0" (cast_expression "(_Hash_node_base *)view_info.sym_index" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "view_info.sym_index" identifier . field_identifier)) == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011bdd4;" goto statement_identifier ;)) (expression_statement "view_info.input_index = 0;" (assignment_expression "view_info.input_index = 0" (field_expression "view_info.input_index" identifier . field_identifier) = number_literal) ;) (while_statement "while( true ) {\n            if (view_info.got_entry_size == 0) {\n              trap(7);\n            }\n            uVar25 = (uint)p_Var6[1]._M_nxt / view_info.got_entry_size;\n            uVar12 = 0x75d;\n            if (view_info.got_count <= uVar25) goto LAB_0011bd7c;\n            if ((_Hash_node_base *)0x7e < p_Var14) {\n              do {\n                uVar12 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            view_info.got_type_p[uVar25] = (uchar)p_Var14;\n            p_Var6 = p_Var6[2]._M_nxt;\n            *(int *)((int)(view_info.got_desc_p + uVar25 * 8) + 4) = 0;\n            *(uint *)(view_info.got_desc_p + uVar25 * 8) =\n                 (((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>\n                 0x10) + ((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff) *\n                         0x10000;\n            if (p_Var6 == (_Hash_node_base *)0x0) break;\n            p_Var14 = p_Var6->_M_nxt;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            if (view_info.got_entry_size == 0) {\n              trap(7);\n            }\n            uVar25 = (uint)p_Var6[1]._M_nxt / view_info.got_entry_size;\n            uVar12 = 0x75d;\n            if (view_info.got_count <= uVar25) goto LAB_0011bd7c;\n            if ((_Hash_node_base *)0x7e < p_Var14) {\n              do {\n                uVar12 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            view_info.got_type_p[uVar25] = (uchar)p_Var14;\n            p_Var6 = p_Var6[2]._M_nxt;\n            *(int *)((int)(view_info.got_desc_p + uVar25 * 8) + 4) = 0;\n            *(uint *)(view_info.got_desc_p + uVar25 * 8) =\n                 (((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>\n                 0x10) + ((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff) *\n                         0x10000;\n            if (p_Var6 == (_Hash_node_base *)0x0) break;\n            p_Var14 = p_Var6->_M_nxt;\n          }" { (if_statement "if (view_info.got_entry_size == 0) {\n              trap(7);\n            }" if (parenthesized_expression "(view_info.got_entry_size == 0)" ( (binary_expression "view_info.got_entry_size == 0" (field_expression "view_info.got_entry_size" identifier . field_identifier) == number_literal) )) (compound_statement "{\n              trap(7);\n            }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar25 = (uint)p_Var6[1]._M_nxt / view_info.got_entry_size;" (assignment_expression "uVar25 = (uint)p_Var6[1]._M_nxt / view_info.got_entry_size" identifier = (binary_expression "(uint)p_Var6[1]._M_nxt / view_info.got_entry_size" (cast_expression "(uint)p_Var6[1]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var6[1]._M_nxt" (subscript_expression "p_Var6[1]" identifier [ number_literal ]) . field_identifier)) / (field_expression "view_info.got_entry_size" identifier . field_identifier))) ;) (expression_statement "uVar12 = 0x75d;" (assignment_expression "uVar12 = 0x75d" identifier = number_literal) ;) (if_statement "if (view_info.got_count <= uVar25) goto LAB_0011bd7c;" if (parenthesized_expression "(view_info.got_count <= uVar25)" ( (binary_expression "view_info.got_count <= uVar25" (field_expression "view_info.got_count" identifier . field_identifier) <= identifier) )) (goto_statement "goto LAB_0011bd7c;" goto statement_identifier ;)) (if_statement "if ((_Hash_node_base *)0x7e < p_Var14) {\n              do {\n                uVar12 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }" if (parenthesized_expression "((_Hash_node_base *)0x7e < p_Var14)" ( (binary_expression "(_Hash_node_base *)0x7e < p_Var14" (cast_expression "(_Hash_node_base *)0x7e" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n              do {\n                uVar12 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }" { (do_statement "do {\n                uVar12 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);\n              } while( true );" do (compound_statement "{\n                uVar12 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);\n              }" { (expression_statement "uVar12 = 0x761;" (assignment_expression "uVar12 = 0x761" identifier = number_literal) ;) (labeled_statement "LAB_0011bd7c:\n                (**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);" statement_identifier : (expression_statement "(**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4);" (call_expression "(**(code **)(iVar23 + -0x7e0c))\n                          (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4)" (parenthesized_expression "(**(code **)(iVar23 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar23 + -0x7e0c)" * (pointer_expression "*(code **)(iVar23 + -0x7e0c)" * (cast_expression "(code **)(iVar23 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + -0x7e0c)" ( (binary_expression "iVar23 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,\n                           *(int *)(iVar23 + -0x7e1c) + -0x36f4)" ( (binary_expression "*(int *)(iVar23 + -0x7e1c) + -0x4fcc" (pointer_expression "*(int *)(iVar23 + -0x7e1c)" * (cast_expression "(int *)(iVar23 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + -0x7e1c)" ( (binary_expression "iVar23 + -0x7e1c" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(iVar23 + -0x7e1c) + -0x36f4" (pointer_expression "*(int *)(iVar23 + -0x7e1c)" * (cast_expression "(int *)(iVar23 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + -0x7e1c)" ( (binary_expression "iVar23 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "view_info.got_type_p[uVar25] = (uchar)p_Var14;" (assignment_expression "view_info.got_type_p[uVar25] = (uchar)p_Var14" (subscript_expression "view_info.got_type_p[uVar25]" (field_expression "view_info.got_type_p" identifier . field_identifier) [ identifier ]) = (cast_expression "(uchar)p_Var14" ( (type_descriptor "uchar" type_identifier) ) identifier)) ;) (expression_statement "p_Var6 = p_Var6[2]._M_nxt;" (assignment_expression "p_Var6 = p_Var6[2]._M_nxt" identifier = (field_expression "p_Var6[2]._M_nxt" (subscript_expression "p_Var6[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "*(int *)((int)(view_info.got_desc_p + uVar25 * 8) + 4) = 0;" (assignment_expression "*(int *)((int)(view_info.got_desc_p + uVar25 * 8) + 4) = 0" (pointer_expression "*(int *)((int)(view_info.got_desc_p + uVar25 * 8) + 4)" * (cast_expression "(int *)((int)(view_info.got_desc_p + uVar25 * 8) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(view_info.got_desc_p + uVar25 * 8) + 4)" ( (binary_expression "(int)(view_info.got_desc_p + uVar25 * 8) + 4" (cast_expression "(int)(view_info.got_desc_p + uVar25 * 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(view_info.got_desc_p + uVar25 * 8)" ( (binary_expression "view_info.got_desc_p + uVar25 * 8" (field_expression "view_info.got_desc_p" identifier . field_identifier) + (binary_expression "uVar25 * 8" identifier * number_literal)) ))) + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(view_info.got_desc_p + uVar25 * 8) =\n                 (((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>\n                 0x10) + ((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff) *\n                         0x10000;" (assignment_expression "*(uint *)(view_info.got_desc_p + uVar25 * 8) =\n                 (((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>\n                 0x10) + ((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff) *\n                         0x10000" (pointer_expression "*(uint *)(view_info.got_desc_p + uVar25 * 8)" * (cast_expression "(uint *)(view_info.got_desc_p + uVar25 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(view_info.got_desc_p + uVar25 * 8)" ( (binary_expression "view_info.got_desc_p + uVar25 * 8" (field_expression "view_info.got_desc_p" identifier . field_identifier) + (binary_expression "uVar25 * 8" identifier * number_literal)) )))) = (binary_expression "(((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>\n                 0x10) + ((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff) *\n                         0x10000" (parenthesized_expression "(((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>\n                 0x10)" ( (binary_expression "((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10) >>\n                 0x10" (parenthesized_expression "((view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10)" ( (binary_expression "(view_info.sym_index >> 0x10) << 0x18 | (view_info.sym_index >> 0x18) << 0x10" (binary_expression "(view_info.sym_index >> 0x10) << 0x18" (parenthesized_expression "(view_info.sym_index >> 0x10)" ( (binary_expression "view_info.sym_index >> 0x10" (field_expression "view_info.sym_index" identifier . field_identifier) >> number_literal) )) << number_literal) | (binary_expression "(view_info.sym_index >> 0x18) << 0x10" (parenthesized_expression "(view_info.sym_index >> 0x18)" ( (binary_expression "view_info.sym_index >> 0x18" (field_expression "view_info.sym_index" identifier . field_identifier) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff) *\n                         0x10000" (parenthesized_expression "((view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff)" ( (binary_expression "(view_info.sym_index & 0xff) << 8 | view_info.sym_index >> 8 & 0xff" (binary_expression "(view_info.sym_index & 0xff) << 8" (parenthesized_expression "(view_info.sym_index & 0xff)" ( (binary_expression "view_info.sym_index & 0xff" (field_expression "view_info.sym_index" identifier . field_identifier) & number_literal) )) << number_literal) | (binary_expression "view_info.sym_index >> 8 & 0xff" (binary_expression "view_info.sym_index >> 8" (field_expression "view_info.sym_index" identifier . field_identifier) >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (p_Var6 == (_Hash_node_base *)0x0) break;" if (parenthesized_expression "(p_Var6 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var6 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "p_Var14 = p_Var6->_M_nxt;" (assignment_expression "p_Var14 = p_Var6->_M_nxt" identifier = (field_expression "p_Var6->_M_nxt" identifier -> field_identifier)) ;) })) })) (expression_statement "uVar25 = view_info.sym_index;" (assignment_expression "uVar25 = view_info.sym_index" identifier = (field_expression "view_info.sym_index" identifier . field_identifier)) ;) (if_statement "if (p_Var17[6]._M_nxt != (_Hash_node_base *)0xffffffff) {\n          if (view_info.plt_entry_size == 0) {\n            trap(7);\n          }\n          uVar26 = ((int)p_Var17[6]._M_nxt - view_info.first_plt_entry_offset) /\n                   view_info.plt_entry_size;\n          if (view_info.plt_count <= uVar26) goto LAB_0011bdb8;\n          p_Var6 = p_Var17[4]._M_nxt;\n          if (p_Var6 == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          *(uint *)(view_info.plt_desc_p + uVar26 * 4) =\n               ((((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10) >> 0x10) +\n               (((uint)p_Var6 & 0xff) << 8 | (uint)p_Var6 >> 8 & 0xff) * 0x10000;\n        }" if (parenthesized_expression "(p_Var17[6]._M_nxt != (_Hash_node_base *)0xffffffff)" ( (binary_expression "p_Var17[6]._M_nxt != (_Hash_node_base *)0xffffffff" (field_expression "p_Var17[6]._M_nxt" (subscript_expression "p_Var17[6]" identifier [ number_literal ]) . field_identifier) != (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (view_info.plt_entry_size == 0) {\n            trap(7);\n          }\n          uVar26 = ((int)p_Var17[6]._M_nxt - view_info.first_plt_entry_offset) /\n                   view_info.plt_entry_size;\n          if (view_info.plt_count <= uVar26) goto LAB_0011bdb8;\n          p_Var6 = p_Var17[4]._M_nxt;\n          if (p_Var6 == (_Hash_node_base *)0x0) goto LAB_0011bdd4;\n          *(uint *)(view_info.plt_desc_p + uVar26 * 4) =\n               ((((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10) >> 0x10) +\n               (((uint)p_Var6 & 0xff) << 8 | (uint)p_Var6 >> 8 & 0xff) * 0x10000;\n        }" { (if_statement "if (view_info.plt_entry_size == 0) {\n            trap(7);\n          }" if (parenthesized_expression "(view_info.plt_entry_size == 0)" ( (binary_expression "view_info.plt_entry_size == 0" (field_expression "view_info.plt_entry_size" identifier . field_identifier) == number_literal) )) (compound_statement "{\n            trap(7);\n          }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar26 = ((int)p_Var17[6]._M_nxt - view_info.first_plt_entry_offset) /\n                   view_info.plt_entry_size;" (assignment_expression "uVar26 = ((int)p_Var17[6]._M_nxt - view_info.first_plt_entry_offset) /\n                   view_info.plt_entry_size" identifier = (binary_expression "((int)p_Var17[6]._M_nxt - view_info.first_plt_entry_offset) /\n                   view_info.plt_entry_size" (parenthesized_expression "((int)p_Var17[6]._M_nxt - view_info.first_plt_entry_offset)" ( (binary_expression "(int)p_Var17[6]._M_nxt - view_info.first_plt_entry_offset" (cast_expression "(int)p_Var17[6]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var17[6]._M_nxt" (subscript_expression "p_Var17[6]" identifier [ number_literal ]) . field_identifier)) - (field_expression "view_info.first_plt_entry_offset" identifier . field_identifier)) )) / (field_expression "view_info.plt_entry_size" identifier . field_identifier))) ;) (if_statement "if (view_info.plt_count <= uVar26) goto LAB_0011bdb8;" if (parenthesized_expression "(view_info.plt_count <= uVar26)" ( (binary_expression "view_info.plt_count <= uVar26" (field_expression "view_info.plt_count" identifier . field_identifier) <= identifier) )) (goto_statement "goto LAB_0011bdb8;" goto statement_identifier ;)) (expression_statement "p_Var6 = p_Var17[4]._M_nxt;" (assignment_expression "p_Var6 = p_Var17[4]._M_nxt" identifier = (field_expression "p_Var17[4]._M_nxt" (subscript_expression "p_Var17[4]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (p_Var6 == (_Hash_node_base *)0x0) goto LAB_0011bdd4;" if (parenthesized_expression "(p_Var6 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var6 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011bdd4;" goto statement_identifier ;)) (expression_statement "*(uint *)(view_info.plt_desc_p + uVar26 * 4) =\n               ((((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10) >> 0x10) +\n               (((uint)p_Var6 & 0xff) << 8 | (uint)p_Var6 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(view_info.plt_desc_p + uVar26 * 4) =\n               ((((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10) >> 0x10) +\n               (((uint)p_Var6 & 0xff) << 8 | (uint)p_Var6 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(view_info.plt_desc_p + uVar26 * 4)" * (cast_expression "(uint *)(view_info.plt_desc_p + uVar26 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(view_info.plt_desc_p + uVar26 * 4)" ( (binary_expression "view_info.plt_desc_p + uVar26 * 4" (field_expression "view_info.plt_desc_p" identifier . field_identifier) + (binary_expression "uVar26 * 4" identifier * number_literal)) )))) = (binary_expression "((((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10) >> 0x10) +\n               (((uint)p_Var6 & 0xff) << 8 | (uint)p_Var6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "(((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "(((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10)" ( (binary_expression "((uint)p_Var6 >> 0x10) << 0x18 | ((uint)p_Var6 >> 0x18) << 0x10" (binary_expression "((uint)p_Var6 >> 0x10) << 0x18" (parenthesized_expression "((uint)p_Var6 >> 0x10)" ( (binary_expression "(uint)p_Var6 >> 0x10" (cast_expression "(uint)p_Var6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) << number_literal) | (binary_expression "((uint)p_Var6 >> 0x18) << 0x10" (parenthesized_expression "((uint)p_Var6 >> 0x18)" ( (binary_expression "(uint)p_Var6 >> 0x18" (cast_expression "(uint)p_Var6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "(((uint)p_Var6 & 0xff) << 8 | (uint)p_Var6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uint)p_Var6 & 0xff) << 8 | (uint)p_Var6 >> 8 & 0xff)" ( (binary_expression "((uint)p_Var6 & 0xff) << 8 | (uint)p_Var6 >> 8 & 0xff" (binary_expression "((uint)p_Var6 & 0xff) << 8" (parenthesized_expression "((uint)p_Var6 & 0xff)" ( (binary_expression "(uint)p_Var6 & 0xff" (cast_expression "(uint)p_Var6" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal) | (binary_expression "(uint)p_Var6 >> 8 & 0xff" (binary_expression "(uint)p_Var6 >> 8" (cast_expression "(uint)p_Var6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) & number_literal)) )) * number_literal))) ;) })) (expression_statement "in_t1 = in_t1->_M_nxt;" (assignment_expression "in_t1 = in_t1->_M_nxt" identifier = (field_expression "in_t1->_M_nxt" identifier -> field_identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (labeled_statement "LAB_0011bda0:\n    iVar27 = iVar23;" statement_identifier : (expression_statement "iVar27 = iVar23;" (assignment_expression "iVar27 = iVar23" identifier = identifier) ;)) (expression_statement "(**(code **)(iVar23 + -0x7e0c))\n              (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,*(int *)(iVar23 + -0x7e1c) + -0x36d8);" (call_expression "(**(code **)(iVar23 + -0x7e0c))\n              (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,*(int *)(iVar23 + -0x7e1c) + -0x36d8)" (parenthesized_expression "(**(code **)(iVar23 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar23 + -0x7e0c)" * (pointer_expression "*(code **)(iVar23 + -0x7e0c)" * (cast_expression "(code **)(iVar23 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + -0x7e0c)" ( (binary_expression "iVar23 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar23 + -0x7e1c) + -0x4fcc,uVar12,*(int *)(iVar23 + -0x7e1c) + -0x36d8)" ( (binary_expression "*(int *)(iVar23 + -0x7e1c) + -0x4fcc" (pointer_expression "*(int *)(iVar23 + -0x7e1c)" * (cast_expression "(int *)(iVar23 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + -0x7e1c)" ( (binary_expression "iVar23 + -0x7e1c" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(iVar23 + -0x7e1c) + -0x36d8" (pointer_expression "*(int *)(iVar23 + -0x7e1c)" * (cast_expression "(int *)(iVar23 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + -0x7e1c)" ( (binary_expression "iVar23 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0011bdb8:\n    (**(code **)(iVar23 + -0x7e0c))\n              (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar23 + -0x7e1c) + -0x36ec);" statement_identifier : (expression_statement "(**(code **)(iVar23 + -0x7e0c))\n              (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar23 + -0x7e1c) + -0x36ec);" (call_expression "(**(code **)(iVar23 + -0x7e0c))\n              (*(int *)(iVar23 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar23 + -0x7e1c) + -0x36ec)" (parenthesized_expression "(**(code **)(iVar23 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar23 + -0x7e0c)" * (pointer_expression "*(code **)(iVar23 + -0x7e0c)" * (cast_expression "(code **)(iVar23 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + -0x7e0c)" ( (binary_expression "iVar23 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar23 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar23 + -0x7e1c) + -0x36ec)" ( (binary_expression "*(int *)(iVar23 + -0x7e1c) + -0x4fcc" (pointer_expression "*(int *)(iVar23 + -0x7e1c)" * (cast_expression "(int *)(iVar23 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + -0x7e1c)" ( (binary_expression "iVar23 + -0x7e1c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(iVar23 + -0x7e1c) + -0x36ec" (pointer_expression "*(int *)(iVar23 + -0x7e1c)" * (cast_expression "(int *)(iVar23 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + -0x7e1c)" ( (binary_expression "iVar23 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "uVar25 = view_info.sym_index;" (assignment_expression "uVar25 = view_info.sym_index" identifier = (field_expression "view_info.sym_index" identifier . field_identifier)) ;) (labeled_statement "LAB_0011bdd4:\n    view_info.sym_index = uVar25;" statement_identifier : (expression_statement "view_info.sym_index = uVar25;" (assignment_expression "view_info.sym_index = uVar25" (field_expression "view_info.sym_index" identifier . field_identifier) = identifier) ;)) (expression_statement "(**(code **)(iVar23 + -0x7e0c))\n              (*(int *)(iVar23 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar23 + -0x7e1c) + -0x34f4);" (call_expression "(**(code **)(iVar23 + -0x7e0c))\n              (*(int *)(iVar23 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar23 + -0x7e1c) + -0x34f4)" (parenthesized_expression "(**(code **)(iVar23 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar23 + -0x7e0c)" * (pointer_expression "*(code **)(iVar23 + -0x7e0c)" * (cast_expression "(code **)(iVar23 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + -0x7e0c)" ( (binary_expression "iVar23 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar23 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar23 + -0x7e1c) + -0x34f4)" ( (binary_expression "*(int *)(iVar23 + -0x7e1c) + -0x5bdc" (pointer_expression "*(int *)(iVar23 + -0x7e1c)" * (cast_expression "(int *)(iVar23 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + -0x7e1c)" ( (binary_expression "iVar23 + -0x7e1c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(iVar23 + -0x7e1c) + -0x34f4" (pointer_expression "*(int *)(iVar23 + -0x7e1c)" * (cast_expression "(int *)(iVar23 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + -0x7e1c)" ( (binary_expression "iVar23 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iVar2 = 0x73;" (assignment_expression "iVar2 = 0x73" identifier = number_literal) ;) (expression_statement "pcVar21 = *(code **)(iVar23 + -0x7e0c);" (assignment_expression "pcVar21 = *(code **)(iVar23 + -0x7e0c)" identifier = (pointer_expression "*(code **)(iVar23 + -0x7e0c)" * (cast_expression "(code **)(iVar23 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + -0x7e0c)" ( (binary_expression "iVar23 + -0x7e0c" identifier + number_literal) ))))) ;) (expression_statement "this_00 = (Output_section_incremental_inputs<32,_false> *)(*(int *)(iVar23 + -0x7e1c) + -0x5cec);" (assignment_expression "this_00 = (Output_section_incremental_inputs<32,_false> *)(*(int *)(iVar23 + -0x7e1c) + -0x5cec)" identifier = (call_expression "(Output_section_incremental_inputs<32,_false> *)(*(int *)(iVar23 + -0x7e1c) + -0x5cec)" (parenthesized_expression "(Output_section_incremental_inputs<32,_false> *)" ( (comma_expression "Output_section_incremental_inputs<32,_false> *" (binary_expression "Output_section_incremental_inputs<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(*(int *)(iVar23 + -0x7e1c) + -0x5cec)" ( (binary_expression "*(int *)(iVar23 + -0x7e1c) + -0x5cec" (pointer_expression "*(int *)(iVar23 + -0x7e1c)" * (cast_expression "(int *)(iVar23 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + -0x7e1c)" ( (binary_expression "iVar23 + -0x7e1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar21)(this_00,0x73,*(int *)(iVar23 + -0x7e1c) + -0x3514);" (call_expression "(*pcVar21)(this_00,0x73,*(int *)(iVar23 + -0x7e1c) + -0x3514)" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "(this_00,0x73,*(int *)(iVar23 + -0x7e1c) + -0x3514)" ( identifier , number_literal , (binary_expression "*(int *)(iVar23 + -0x7e1c) + -0x3514" (pointer_expression "*(int *)(iVar23 + -0x7e1c)" * (cast_expression "(int *)(iVar23 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + -0x7e1c)" ( (binary_expression "iVar23 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar23 = *(int *)&(this_00->super_Output_section_data).super_Output_data.field_0x20;" (assignment_expression "iVar23 = *(int *)&(this_00->super_Output_section_data).super_Output_data.field_0x20" identifier = (pointer_expression "*(int *)&(this_00->super_Output_section_data).super_Output_data.field_0x20" * (cast_expression "(int *)&(this_00->super_Output_section_data).super_Output_data.field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this_00->super_Output_section_data).super_Output_data.field_0x20" & (field_expression "(this_00->super_Output_section_data).super_Output_data.field_0x20" (field_expression "(this_00->super_Output_section_data).super_Output_data" (parenthesized_expression "(this_00->super_Output_section_data)" ( (field_expression "this_00->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))))) ;) (expression_statement "pIVar24 = this_00->inputs_;" (assignment_expression "pIVar24 = this_00->inputs_" identifier = (field_expression "this_00->inputs_" identifier -> field_identifier)) ;) (expression_statement "strtab = pIVar24->strtab_;" (assignment_expression "strtab = pIVar24->strtab_" identifier = (field_expression "pIVar24->strtab_" identifier -> field_identifier)) ;) (if_statement "if (-1 < iVar23 << 2) goto LAB_0011c144;" if (parenthesized_expression "(-1 < iVar23 << 2)" ( (binary_expression "-1 < iVar23 << 2" number_literal < (binary_expression "iVar23 << 2" identifier << number_literal)) )) (goto_statement "goto LAB_0011c144;" goto statement_identifier ;)) (expression_statement "iVar16 = (int)(this_00->super_Output_section_data).super_Output_data.offset_;" (assignment_expression "iVar16 = (int)(this_00->super_Output_section_data).super_Output_data.offset_" identifier = (cast_expression "(int)(this_00->super_Output_section_data).super_Output_data.offset_" ( (type_descriptor "int" primitive_type) ) (field_expression "(this_00->super_Output_section_data).super_Output_data.offset_" (field_expression "(this_00->super_Output_section_data).super_Output_data" (parenthesized_expression "(this_00->super_Output_section_data)" ( (field_expression "this_00->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "iVar13 = *(int *)&(this_00->super_Output_section_data).super_Output_data.offset_;" (assignment_expression "iVar13 = *(int *)&(this_00->super_Output_section_data).super_Output_data.offset_" identifier = (pointer_expression "*(int *)&(this_00->super_Output_section_data).super_Output_data.offset_" * (cast_expression "(int *)&(this_00->super_Output_section_data).super_Output_data.offset_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this_00->super_Output_section_data).super_Output_data.offset_" & (field_expression "(this_00->super_Output_section_data).super_Output_data.offset_" (field_expression "(this_00->super_Output_section_data).super_Output_data" (parenthesized_expression "(this_00->super_Output_section_data)" ( (field_expression "this_00->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))))) ;) (if_statement "if (-1 < iVar23 << 1) goto LAB_0011c128;" if (parenthesized_expression "(-1 < iVar23 << 1)" ( (binary_expression "-1 < iVar23 << 1" number_literal < (binary_expression "iVar23 << 1" identifier << number_literal)) )) (goto_statement "goto LAB_0011c128;" goto statement_identifier ;)) (expression_statement "iVar23 = *(int *)&(this_00->super_Output_section_data).super_Output_data.data_size_;" (assignment_expression "iVar23 = *(int *)&(this_00->super_Output_section_data).super_Output_data.data_size_" identifier = (pointer_expression "*(int *)&(this_00->super_Output_section_data).super_Output_data.data_size_" * (cast_expression "(int *)&(this_00->super_Output_section_data).super_Output_data.data_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this_00->super_Output_section_data).super_Output_data.data_size_" & (field_expression "(this_00->super_Output_section_data).super_Output_data.data_size_" (field_expression "(this_00->super_Output_section_data).super_Output_data" (parenthesized_expression "(this_00->super_Output_section_data)" ( (field_expression "this_00->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))))) ;) (expression_statement "p_Var6 = *(_Hash_node_base **)\n            ((int)&(this_00->super_Output_section_data).super_Output_data.data_size_ + 4);" (assignment_expression "p_Var6 = *(_Hash_node_base **)\n            ((int)&(this_00->super_Output_section_data).super_Output_data.data_size_ + 4)" identifier = (pointer_expression "*(_Hash_node_base **)\n            ((int)&(this_00->super_Output_section_data).super_Output_data.data_size_ + 4)" * (cast_expression "(_Hash_node_base **)\n            ((int)&(this_00->super_Output_section_data).super_Output_data.data_size_ + 4)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&(this_00->super_Output_section_data).super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(this_00->super_Output_section_data).super_Output_data.data_size_ + 4" (cast_expression "(int)&(this_00->super_Output_section_data).super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this_00->super_Output_section_data).super_Output_data.data_size_" & (field_expression "(this_00->super_Output_section_data).super_Output_data.data_size_" (field_expression "(this_00->super_Output_section_data).super_Output_data" (parenthesized_expression "(this_00->super_Output_section_data)" ( (field_expression "this_00->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if (iVar13 < 0) {\nLAB_0011c118:\n    iVar13 = *(int *)(pcVar21 + 0x318234);\n  }\n  else {\n    p_Var14 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar16);\n    iVar10 = *(int *)(iVar2 + 8);\n    iVar13 = (uint)(p_Var14 < p_Var6) + iVar13;\n    in_t1 = *(_Hash_node_base **)(iVar2 + 0xc);\n    if ((iVar10 < iVar13) || ((iVar13 == iVar10 && (in_t1 < p_Var14)))) goto LAB_0011c118;\n    pOVar7 = pIVar24->symtab_section_;\n    piVar18 = *(int **)(iVar2 + 0x10);\n    iVar13 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20;\n    oview = (uchar *)((int)piVar18 + iVar16);\n    unaff_s4 = this_00;\n    unaff_s6 = iVar2;\n    if (-1 < iVar13 << 2) goto LAB_0011c144;\n    iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n    iVar15 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.offset_;\n    if (-1 < iVar13 << 1) goto LAB_0011c128;\n    uVar25 = *(uint *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_;\n    p_Var14 = *(_Hash_node_base **)\n               ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4);\n    if (iVar16 < 0) goto LAB_0011c118;\n    p_Var17 = (_Hash_node_base *)((int)&p_Var14->_M_nxt + iVar15);\n    iVar16 = (uint)(p_Var17 < p_Var14) + iVar16;\n    iVar13 = *(int *)(pcVar21 + 0x318234);\n    if (iVar16 <= iVar10) {\n      uVar26 = (uint)(in_t1 < p_Var17);\n      piVar11 = (int *)0x0;\n      if (iVar16 == iVar10) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar26 = this_00->symtab_->output_count_;\n      piVar18 = (int *)((int)piVar18 + iVar15);\n      if (uVar26 < 0x20000000) {\n        p_Var17 = (_Hash_node_base *)(uVar26 << 2);\n        global_syms = (uint *)(**(code **)(pcVar21 + 0x3164d0))(p_Var17);\n        (**(code **)(pcVar21 + 0x31aa44))(global_syms,0,p_Var17);\n        uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_start >> 2;\n        if ((strtab->key_to_offset_).size_ < pIVar24->command_line_key_) goto LAB_0011c198;\n        uVar8 = pIVar24->command_line_key_ - 1;\n        uVar8 = *(uint *)((int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std::vector<int,_std::allocator<int>_>,_std::allocator<std::vector<int,_std::allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start +\n                         (uVar8 & 0x1fff) * 4);\n        *(uint *)(oview + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        oview[0] = '\x02';\n        oview[1] = '\0';\n        oview[2] = '\0';\n        oview[3] = '\0';\n        oview[0xc] = '\0';\n        oview[0xd] = '\0';\n        oview[0xe] = '\0';\n        oview[0xf] = '\0';\n        *(uint *)(oview + 8) =\n             (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n        puVar4 = write_input_files(this_00,oview,oview + 0x10,strtab);\n        puVar4 = write_info_blocks(this_00,oview,puVar4,strtab,global_syms,uVar26);\n        if ((int)(puVar4 + -(int)oview) >> 0x1f != iVar23) goto LAB_0011c190;\n        if ((_Hash_node_base *)(puVar4 + -(int)oview) != p_Var6) goto LAB_0011c190;\n        uVar12 = 0x59f;\n        if (uVar26 >> 0x1e != uVar25) goto LAB_0011c178;\n        iVar23 = *(int *)(pcVar21 + 0x3165a8);\n        if (p_Var17 != p_Var14) {\n          do {\n            (**(code **)(pcVar21 + 0x3165b8))\n                      (*(int *)(pcVar21 + 0x3165a8) + -0x4fcc,uVar12,iVar23 + -0x3564);\nLAB_0011c190:\n            uVar12 = 0x59c;\nLAB_0011c178:\n            iVar23 = *(int *)(pcVar21 + 0x3165a8);\n          } while( true );\n        }\n        piVar11 = (int *)((int)piVar18 + (int)p_Var14);\n        puVar9 = global_syms;\n        if (uVar26 != 0) {\n          do {\n            uVar25 = *puVar9;\n            piVar20 = piVar18 + 1;\n            *piVar18 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n            puVar9 = puVar9 + 1;\n            piVar18 = piVar20;\n          } while (piVar20 != piVar11);\n        }\n        (**(code **)(pcVar21 + 0x3165d0))(global_syms);\n        pOVar7 = pIVar24->got_plt_section_;\n        iVar23 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20;\n        if (-1 < iVar23 << 2) goto LAB_0011c144;\n        iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.offset_;\n        iVar10 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n        if (-1 < iVar23 << 1) goto LAB_0011c128;\n        p_Var6 = *(_Hash_node_base **)\n                  ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_ + 4);\n        if (iVar16 < 0) goto LAB_0011c118;\n        in_t1 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar10);\n        iVar16 = (uint)(in_t1 < p_Var6) + iVar16;\n        iVar13 = *(int *)(pcVar21 + 0x318234);\n        if (iVar16 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar16) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar21 = *(code **)(pcVar21 + 0x3164dc);\n      (*pcVar21)();\n      iVar27 = 7;\n      iVar23 = iVar10 + 1;\n      goto LAB_0011c20c;\n    }\n  }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_0011c118:\n    iVar13 = *(int *)(pcVar21 + 0x318234);\n  }" { (labeled_statement "LAB_0011c118:\n    iVar13 = *(int *)(pcVar21 + 0x318234);" statement_identifier : (expression_statement "iVar13 = *(int *)(pcVar21 + 0x318234);" (assignment_expression "iVar13 = *(int *)(pcVar21 + 0x318234)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x318234)" * (cast_expression "(int *)(pcVar21 + 0x318234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x318234)" ( (binary_expression "pcVar21 + 0x318234" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n    p_Var14 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar16);\n    iVar10 = *(int *)(iVar2 + 8);\n    iVar13 = (uint)(p_Var14 < p_Var6) + iVar13;\n    in_t1 = *(_Hash_node_base **)(iVar2 + 0xc);\n    if ((iVar10 < iVar13) || ((iVar13 == iVar10 && (in_t1 < p_Var14)))) goto LAB_0011c118;\n    pOVar7 = pIVar24->symtab_section_;\n    piVar18 = *(int **)(iVar2 + 0x10);\n    iVar13 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20;\n    oview = (uchar *)((int)piVar18 + iVar16);\n    unaff_s4 = this_00;\n    unaff_s6 = iVar2;\n    if (-1 < iVar13 << 2) goto LAB_0011c144;\n    iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n    iVar15 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.offset_;\n    if (-1 < iVar13 << 1) goto LAB_0011c128;\n    uVar25 = *(uint *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_;\n    p_Var14 = *(_Hash_node_base **)\n               ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4);\n    if (iVar16 < 0) goto LAB_0011c118;\n    p_Var17 = (_Hash_node_base *)((int)&p_Var14->_M_nxt + iVar15);\n    iVar16 = (uint)(p_Var17 < p_Var14) + iVar16;\n    iVar13 = *(int *)(pcVar21 + 0x318234);\n    if (iVar16 <= iVar10) {\n      uVar26 = (uint)(in_t1 < p_Var17);\n      piVar11 = (int *)0x0;\n      if (iVar16 == iVar10) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar26 = this_00->symtab_->output_count_;\n      piVar18 = (int *)((int)piVar18 + iVar15);\n      if (uVar26 < 0x20000000) {\n        p_Var17 = (_Hash_node_base *)(uVar26 << 2);\n        global_syms = (uint *)(**(code **)(pcVar21 + 0x3164d0))(p_Var17);\n        (**(code **)(pcVar21 + 0x31aa44))(global_syms,0,p_Var17);\n        uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_start >> 2;\n        if ((strtab->key_to_offset_).size_ < pIVar24->command_line_key_) goto LAB_0011c198;\n        uVar8 = pIVar24->command_line_key_ - 1;\n        uVar8 = *(uint *)((int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std::vector<int,_std::allocator<int>_>,_std::allocator<std::vector<int,_std::allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start +\n                         (uVar8 & 0x1fff) * 4);\n        *(uint *)(oview + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        oview[0] = '\x02';\n        oview[1] = '\0';\n        oview[2] = '\0';\n        oview[3] = '\0';\n        oview[0xc] = '\0';\n        oview[0xd] = '\0';\n        oview[0xe] = '\0';\n        oview[0xf] = '\0';\n        *(uint *)(oview + 8) =\n             (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n        puVar4 = write_input_files(this_00,oview,oview + 0x10,strtab);\n        puVar4 = write_info_blocks(this_00,oview,puVar4,strtab,global_syms,uVar26);\n        if ((int)(puVar4 + -(int)oview) >> 0x1f != iVar23) goto LAB_0011c190;\n        if ((_Hash_node_base *)(puVar4 + -(int)oview) != p_Var6) goto LAB_0011c190;\n        uVar12 = 0x59f;\n        if (uVar26 >> 0x1e != uVar25) goto LAB_0011c178;\n        iVar23 = *(int *)(pcVar21 + 0x3165a8);\n        if (p_Var17 != p_Var14) {\n          do {\n            (**(code **)(pcVar21 + 0x3165b8))\n                      (*(int *)(pcVar21 + 0x3165a8) + -0x4fcc,uVar12,iVar23 + -0x3564);\nLAB_0011c190:\n            uVar12 = 0x59c;\nLAB_0011c178:\n            iVar23 = *(int *)(pcVar21 + 0x3165a8);\n          } while( true );\n        }\n        piVar11 = (int *)((int)piVar18 + (int)p_Var14);\n        puVar9 = global_syms;\n        if (uVar26 != 0) {\n          do {\n            uVar25 = *puVar9;\n            piVar20 = piVar18 + 1;\n            *piVar18 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n            puVar9 = puVar9 + 1;\n            piVar18 = piVar20;\n          } while (piVar20 != piVar11);\n        }\n        (**(code **)(pcVar21 + 0x3165d0))(global_syms);\n        pOVar7 = pIVar24->got_plt_section_;\n        iVar23 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20;\n        if (-1 < iVar23 << 2) goto LAB_0011c144;\n        iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.offset_;\n        iVar10 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n        if (-1 < iVar23 << 1) goto LAB_0011c128;\n        p_Var6 = *(_Hash_node_base **)\n                  ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_ + 4);\n        if (iVar16 < 0) goto LAB_0011c118;\n        in_t1 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar10);\n        iVar16 = (uint)(in_t1 < p_Var6) + iVar16;\n        iVar13 = *(int *)(pcVar21 + 0x318234);\n        if (iVar16 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar16) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar21 = *(code **)(pcVar21 + 0x3164dc);\n      (*pcVar21)();\n      iVar27 = 7;\n      iVar23 = iVar10 + 1;\n      goto LAB_0011c20c;\n    }\n  }" else (compound_statement "{\n    p_Var14 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar16);\n    iVar10 = *(int *)(iVar2 + 8);\n    iVar13 = (uint)(p_Var14 < p_Var6) + iVar13;\n    in_t1 = *(_Hash_node_base **)(iVar2 + 0xc);\n    if ((iVar10 < iVar13) || ((iVar13 == iVar10 && (in_t1 < p_Var14)))) goto LAB_0011c118;\n    pOVar7 = pIVar24->symtab_section_;\n    piVar18 = *(int **)(iVar2 + 0x10);\n    iVar13 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20;\n    oview = (uchar *)((int)piVar18 + iVar16);\n    unaff_s4 = this_00;\n    unaff_s6 = iVar2;\n    if (-1 < iVar13 << 2) goto LAB_0011c144;\n    iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n    iVar15 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.offset_;\n    if (-1 < iVar13 << 1) goto LAB_0011c128;\n    uVar25 = *(uint *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_;\n    p_Var14 = *(_Hash_node_base **)\n               ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4);\n    if (iVar16 < 0) goto LAB_0011c118;\n    p_Var17 = (_Hash_node_base *)((int)&p_Var14->_M_nxt + iVar15);\n    iVar16 = (uint)(p_Var17 < p_Var14) + iVar16;\n    iVar13 = *(int *)(pcVar21 + 0x318234);\n    if (iVar16 <= iVar10) {\n      uVar26 = (uint)(in_t1 < p_Var17);\n      piVar11 = (int *)0x0;\n      if (iVar16 == iVar10) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar26 = this_00->symtab_->output_count_;\n      piVar18 = (int *)((int)piVar18 + iVar15);\n      if (uVar26 < 0x20000000) {\n        p_Var17 = (_Hash_node_base *)(uVar26 << 2);\n        global_syms = (uint *)(**(code **)(pcVar21 + 0x3164d0))(p_Var17);\n        (**(code **)(pcVar21 + 0x31aa44))(global_syms,0,p_Var17);\n        uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_start >> 2;\n        if ((strtab->key_to_offset_).size_ < pIVar24->command_line_key_) goto LAB_0011c198;\n        uVar8 = pIVar24->command_line_key_ - 1;\n        uVar8 = *(uint *)((int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std::vector<int,_std::allocator<int>_>,_std::allocator<std::vector<int,_std::allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start +\n                         (uVar8 & 0x1fff) * 4);\n        *(uint *)(oview + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        oview[0] = '\x02';\n        oview[1] = '\0';\n        oview[2] = '\0';\n        oview[3] = '\0';\n        oview[0xc] = '\0';\n        oview[0xd] = '\0';\n        oview[0xe] = '\0';\n        oview[0xf] = '\0';\n        *(uint *)(oview + 8) =\n             (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n        puVar4 = write_input_files(this_00,oview,oview + 0x10,strtab);\n        puVar4 = write_info_blocks(this_00,oview,puVar4,strtab,global_syms,uVar26);\n        if ((int)(puVar4 + -(int)oview) >> 0x1f != iVar23) goto LAB_0011c190;\n        if ((_Hash_node_base *)(puVar4 + -(int)oview) != p_Var6) goto LAB_0011c190;\n        uVar12 = 0x59f;\n        if (uVar26 >> 0x1e != uVar25) goto LAB_0011c178;\n        iVar23 = *(int *)(pcVar21 + 0x3165a8);\n        if (p_Var17 != p_Var14) {\n          do {\n            (**(code **)(pcVar21 + 0x3165b8))\n                      (*(int *)(pcVar21 + 0x3165a8) + -0x4fcc,uVar12,iVar23 + -0x3564);\nLAB_0011c190:\n            uVar12 = 0x59c;\nLAB_0011c178:\n            iVar23 = *(int *)(pcVar21 + 0x3165a8);\n          } while( true );\n        }\n        piVar11 = (int *)((int)piVar18 + (int)p_Var14);\n        puVar9 = global_syms;\n        if (uVar26 != 0) {\n          do {\n            uVar25 = *puVar9;\n            piVar20 = piVar18 + 1;\n            *piVar18 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n            puVar9 = puVar9 + 1;\n            piVar18 = piVar20;\n          } while (piVar20 != piVar11);\n        }\n        (**(code **)(pcVar21 + 0x3165d0))(global_syms);\n        pOVar7 = pIVar24->got_plt_section_;\n        iVar23 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20;\n        if (-1 < iVar23 << 2) goto LAB_0011c144;\n        iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.offset_;\n        iVar10 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n        if (-1 < iVar23 << 1) goto LAB_0011c128;\n        p_Var6 = *(_Hash_node_base **)\n                  ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_ + 4);\n        if (iVar16 < 0) goto LAB_0011c118;\n        in_t1 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar10);\n        iVar16 = (uint)(in_t1 < p_Var6) + iVar16;\n        iVar13 = *(int *)(pcVar21 + 0x318234);\n        if (iVar16 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar16) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar21 = *(code **)(pcVar21 + 0x3164dc);\n      (*pcVar21)();\n      iVar27 = 7;\n      iVar23 = iVar10 + 1;\n      goto LAB_0011c20c;\n    }\n  }" { (expression_statement "p_Var14 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar16);" (assignment_expression "p_Var14 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar16)" identifier = (cast_expression "(_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar16)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&p_Var6->_M_nxt + iVar16)" ( (binary_expression "(int)&p_Var6->_M_nxt + iVar16" (cast_expression "(int)&p_Var6->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var6->_M_nxt" & (field_expression "p_Var6->_M_nxt" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "iVar10 = *(int *)(iVar2 + 8);" (assignment_expression "iVar10 = *(int *)(iVar2 + 8)" identifier = (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = (uint)(p_Var14 < p_Var6) + iVar13;" (assignment_expression "iVar13 = (uint)(p_Var14 < p_Var6) + iVar13" identifier = (binary_expression "(uint)(p_Var14 < p_Var6) + iVar13" (call_expression "(uint)(p_Var14 < p_Var6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(p_Var14 < p_Var6)" ( (binary_expression "p_Var14 < p_Var6" identifier < identifier) ))) + identifier)) ;) (expression_statement "in_t1 = *(_Hash_node_base **)(iVar2 + 0xc);" (assignment_expression "in_t1 = *(_Hash_node_base **)(iVar2 + 0xc)" identifier = (pointer_expression "*(_Hash_node_base **)(iVar2 + 0xc)" * (cast_expression "(_Hash_node_base **)(iVar2 + 0xc)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((iVar10 < iVar13) || ((iVar13 == iVar10 && (in_t1 < p_Var14)))) goto LAB_0011c118;" if (parenthesized_expression "((iVar10 < iVar13) || ((iVar13 == iVar10 && (in_t1 < p_Var14))))" ( (binary_expression "(iVar10 < iVar13) || ((iVar13 == iVar10 && (in_t1 < p_Var14)))" (parenthesized_expression "(iVar10 < iVar13)" ( (binary_expression "iVar10 < iVar13" identifier < identifier) )) || (parenthesized_expression "((iVar13 == iVar10 && (in_t1 < p_Var14)))" ( (parenthesized_expression "(iVar13 == iVar10 && (in_t1 < p_Var14))" ( (binary_expression "iVar13 == iVar10 && (in_t1 < p_Var14)" (binary_expression "iVar13 == iVar10" identifier == identifier) && (parenthesized_expression "(in_t1 < p_Var14)" ( (binary_expression "in_t1 < p_Var14" identifier < identifier) ))) )) ))) )) (goto_statement "goto LAB_0011c118;" goto statement_identifier ;)) (expression_statement "pOVar7 = pIVar24->symtab_section_;" (assignment_expression "pOVar7 = pIVar24->symtab_section_" identifier = (field_expression "pIVar24->symtab_section_" identifier -> field_identifier)) ;) (expression_statement "piVar18 = *(int **)(iVar2 + 0x10);" (assignment_expression "piVar18 = *(int **)(iVar2 + 0x10)" identifier = (pointer_expression "*(int **)(iVar2 + 0x10)" * (cast_expression "(int **)(iVar2 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20;" (assignment_expression "iVar13 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20" identifier = (pointer_expression "*(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20" * (cast_expression "(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20" & (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar7->super_Output_section_data_build)" ( (field_expression "pOVar7->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))))) ;) (expression_statement "oview = (uchar *)((int)piVar18 + iVar16);" (assignment_expression "oview = (uchar *)((int)piVar18 + iVar16)" identifier = (cast_expression "(uchar *)((int)piVar18 + iVar16)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + iVar16)" ( (binary_expression "(int)piVar18 + iVar16" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "unaff_s4 = this_00;" (assignment_expression "unaff_s4 = this_00" identifier = identifier) ;) (expression_statement "unaff_s6 = iVar2;" (assignment_expression "unaff_s6 = iVar2" identifier = identifier) ;) (if_statement "if (-1 < iVar13 << 2) goto LAB_0011c144;" if (parenthesized_expression "(-1 < iVar13 << 2)" ( (binary_expression "-1 < iVar13 << 2" number_literal < (binary_expression "iVar13 << 2" identifier << number_literal)) )) (goto_statement "goto LAB_0011c144;" goto statement_identifier ;)) (expression_statement "iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;" (assignment_expression "iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_" identifier = (pointer_expression "*(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_" * (cast_expression "(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_" & (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar7->super_Output_section_data_build)" ( (field_expression "pOVar7->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))))) ;) (expression_statement "iVar15 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.offset_;" (assignment_expression "iVar15 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.offset_" identifier = (cast_expression "(int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.offset_" ( (type_descriptor "int" primitive_type) ) (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.offset_" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar7->super_Output_section_data_build)" ( (field_expression "pOVar7->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (if_statement "if (-1 < iVar13 << 1) goto LAB_0011c128;" if (parenthesized_expression "(-1 < iVar13 << 1)" ( (binary_expression "-1 < iVar13 << 1" number_literal < (binary_expression "iVar13 << 1" identifier << number_literal)) )) (goto_statement "goto LAB_0011c128;" goto statement_identifier ;)) (expression_statement "uVar25 = *(uint *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_;" (assignment_expression "uVar25 = *(uint *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_" identifier = (pointer_expression "*(uint *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_" * (cast_expression "(uint *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_" & (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar7->super_Output_section_data_build)" ( (field_expression "pOVar7->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))))) ;) (expression_statement "p_Var14 = *(_Hash_node_base **)\n               ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4);" (assignment_expression "p_Var14 = *(_Hash_node_base **)\n               ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4)" identifier = (pointer_expression "*(_Hash_node_base **)\n               ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4)" * (cast_expression "(_Hash_node_base **)\n               ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4" (cast_expression "(int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_" & (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar7->super_Output_section_data_build)" ( (field_expression "pOVar7->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if (iVar16 < 0) goto LAB_0011c118;" if (parenthesized_expression "(iVar16 < 0)" ( (binary_expression "iVar16 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0011c118;" goto statement_identifier ;)) (expression_statement "p_Var17 = (_Hash_node_base *)((int)&p_Var14->_M_nxt + iVar15);" (assignment_expression "p_Var17 = (_Hash_node_base *)((int)&p_Var14->_M_nxt + iVar15)" identifier = (cast_expression "(_Hash_node_base *)((int)&p_Var14->_M_nxt + iVar15)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&p_Var14->_M_nxt + iVar15)" ( (binary_expression "(int)&p_Var14->_M_nxt + iVar15" (cast_expression "(int)&p_Var14->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var14->_M_nxt" & (field_expression "p_Var14->_M_nxt" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "iVar16 = (uint)(p_Var17 < p_Var14) + iVar16;" (assignment_expression "iVar16 = (uint)(p_Var17 < p_Var14) + iVar16" identifier = (binary_expression "(uint)(p_Var17 < p_Var14) + iVar16" (call_expression "(uint)(p_Var17 < p_Var14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(p_Var17 < p_Var14)" ( (binary_expression "p_Var17 < p_Var14" identifier < identifier) ))) + identifier)) ;) (expression_statement "iVar13 = *(int *)(pcVar21 + 0x318234);" (assignment_expression "iVar13 = *(int *)(pcVar21 + 0x318234)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x318234)" * (cast_expression "(int *)(pcVar21 + 0x318234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x318234)" ( (binary_expression "pcVar21 + 0x318234" identifier + number_literal) ))))) ;) (if_statement "if (iVar16 <= iVar10) {\n      uVar26 = (uint)(in_t1 < p_Var17);\n      piVar11 = (int *)0x0;\n      if (iVar16 == iVar10) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar26 = this_00->symtab_->output_count_;\n      piVar18 = (int *)((int)piVar18 + iVar15);\n      if (uVar26 < 0x20000000) {\n        p_Var17 = (_Hash_node_base *)(uVar26 << 2);\n        global_syms = (uint *)(**(code **)(pcVar21 + 0x3164d0))(p_Var17);\n        (**(code **)(pcVar21 + 0x31aa44))(global_syms,0,p_Var17);\n        uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_start >> 2;\n        if ((strtab->key_to_offset_).size_ < pIVar24->command_line_key_) goto LAB_0011c198;\n        uVar8 = pIVar24->command_line_key_ - 1;\n        uVar8 = *(uint *)((int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std::vector<int,_std::allocator<int>_>,_std::allocator<std::vector<int,_std::allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start +\n                         (uVar8 & 0x1fff) * 4);\n        *(uint *)(oview + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        oview[0] = '\x02';\n        oview[1] = '\0';\n        oview[2] = '\0';\n        oview[3] = '\0';\n        oview[0xc] = '\0';\n        oview[0xd] = '\0';\n        oview[0xe] = '\0';\n        oview[0xf] = '\0';\n        *(uint *)(oview + 8) =\n             (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n        puVar4 = write_input_files(this_00,oview,oview + 0x10,strtab);\n        puVar4 = write_info_blocks(this_00,oview,puVar4,strtab,global_syms,uVar26);\n        if ((int)(puVar4 + -(int)oview) >> 0x1f != iVar23) goto LAB_0011c190;\n        if ((_Hash_node_base *)(puVar4 + -(int)oview) != p_Var6) goto LAB_0011c190;\n        uVar12 = 0x59f;\n        if (uVar26 >> 0x1e != uVar25) goto LAB_0011c178;\n        iVar23 = *(int *)(pcVar21 + 0x3165a8);\n        if (p_Var17 != p_Var14) {\n          do {\n            (**(code **)(pcVar21 + 0x3165b8))\n                      (*(int *)(pcVar21 + 0x3165a8) + -0x4fcc,uVar12,iVar23 + -0x3564);\nLAB_0011c190:\n            uVar12 = 0x59c;\nLAB_0011c178:\n            iVar23 = *(int *)(pcVar21 + 0x3165a8);\n          } while( true );\n        }\n        piVar11 = (int *)((int)piVar18 + (int)p_Var14);\n        puVar9 = global_syms;\n        if (uVar26 != 0) {\n          do {\n            uVar25 = *puVar9;\n            piVar20 = piVar18 + 1;\n            *piVar18 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n            puVar9 = puVar9 + 1;\n            piVar18 = piVar20;\n          } while (piVar20 != piVar11);\n        }\n        (**(code **)(pcVar21 + 0x3165d0))(global_syms);\n        pOVar7 = pIVar24->got_plt_section_;\n        iVar23 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20;\n        if (-1 < iVar23 << 2) goto LAB_0011c144;\n        iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.offset_;\n        iVar10 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n        if (-1 < iVar23 << 1) goto LAB_0011c128;\n        p_Var6 = *(_Hash_node_base **)\n                  ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_ + 4);\n        if (iVar16 < 0) goto LAB_0011c118;\n        in_t1 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar10);\n        iVar16 = (uint)(in_t1 < p_Var6) + iVar16;\n        iVar13 = *(int *)(pcVar21 + 0x318234);\n        if (iVar16 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar16) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar21 = *(code **)(pcVar21 + 0x3164dc);\n      (*pcVar21)();\n      iVar27 = 7;\n      iVar23 = iVar10 + 1;\n      goto LAB_0011c20c;\n    }" if (parenthesized_expression "(iVar16 <= iVar10)" ( (binary_expression "iVar16 <= iVar10" identifier <= identifier) )) (compound_statement "{\n      uVar26 = (uint)(in_t1 < p_Var17);\n      piVar11 = (int *)0x0;\n      if (iVar16 == iVar10) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar26 = this_00->symtab_->output_count_;\n      piVar18 = (int *)((int)piVar18 + iVar15);\n      if (uVar26 < 0x20000000) {\n        p_Var17 = (_Hash_node_base *)(uVar26 << 2);\n        global_syms = (uint *)(**(code **)(pcVar21 + 0x3164d0))(p_Var17);\n        (**(code **)(pcVar21 + 0x31aa44))(global_syms,0,p_Var17);\n        uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_start >> 2;\n        if ((strtab->key_to_offset_).size_ < pIVar24->command_line_key_) goto LAB_0011c198;\n        uVar8 = pIVar24->command_line_key_ - 1;\n        uVar8 = *(uint *)((int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std::vector<int,_std::allocator<int>_>,_std::allocator<std::vector<int,_std::allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start +\n                         (uVar8 & 0x1fff) * 4);\n        *(uint *)(oview + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        oview[0] = '\x02';\n        oview[1] = '\0';\n        oview[2] = '\0';\n        oview[3] = '\0';\n        oview[0xc] = '\0';\n        oview[0xd] = '\0';\n        oview[0xe] = '\0';\n        oview[0xf] = '\0';\n        *(uint *)(oview + 8) =\n             (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n        puVar4 = write_input_files(this_00,oview,oview + 0x10,strtab);\n        puVar4 = write_info_blocks(this_00,oview,puVar4,strtab,global_syms,uVar26);\n        if ((int)(puVar4 + -(int)oview) >> 0x1f != iVar23) goto LAB_0011c190;\n        if ((_Hash_node_base *)(puVar4 + -(int)oview) != p_Var6) goto LAB_0011c190;\n        uVar12 = 0x59f;\n        if (uVar26 >> 0x1e != uVar25) goto LAB_0011c178;\n        iVar23 = *(int *)(pcVar21 + 0x3165a8);\n        if (p_Var17 != p_Var14) {\n          do {\n            (**(code **)(pcVar21 + 0x3165b8))\n                      (*(int *)(pcVar21 + 0x3165a8) + -0x4fcc,uVar12,iVar23 + -0x3564);\nLAB_0011c190:\n            uVar12 = 0x59c;\nLAB_0011c178:\n            iVar23 = *(int *)(pcVar21 + 0x3165a8);\n          } while( true );\n        }\n        piVar11 = (int *)((int)piVar18 + (int)p_Var14);\n        puVar9 = global_syms;\n        if (uVar26 != 0) {\n          do {\n            uVar25 = *puVar9;\n            piVar20 = piVar18 + 1;\n            *piVar18 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n            puVar9 = puVar9 + 1;\n            piVar18 = piVar20;\n          } while (piVar20 != piVar11);\n        }\n        (**(code **)(pcVar21 + 0x3165d0))(global_syms);\n        pOVar7 = pIVar24->got_plt_section_;\n        iVar23 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20;\n        if (-1 < iVar23 << 2) goto LAB_0011c144;\n        iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.offset_;\n        iVar10 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n        if (-1 < iVar23 << 1) goto LAB_0011c128;\n        p_Var6 = *(_Hash_node_base **)\n                  ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_ + 4);\n        if (iVar16 < 0) goto LAB_0011c118;\n        in_t1 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar10);\n        iVar16 = (uint)(in_t1 < p_Var6) + iVar16;\n        iVar13 = *(int *)(pcVar21 + 0x318234);\n        if (iVar16 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar16) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar21 = *(code **)(pcVar21 + 0x3164dc);\n      (*pcVar21)();\n      iVar27 = 7;\n      iVar23 = iVar10 + 1;\n      goto LAB_0011c20c;\n    }" { (expression_statement "uVar26 = (uint)(in_t1 < p_Var17);" (assignment_expression "uVar26 = (uint)(in_t1 < p_Var17)" identifier = (call_expression "(uint)(in_t1 < p_Var17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t1 < p_Var17)" ( (binary_expression "in_t1 < p_Var17" identifier < identifier) )))) ;) (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar16 == iVar10) goto LAB_0011c1b4;" if (parenthesized_expression "(iVar16 == iVar10)" ( (binary_expression "iVar16 == iVar10" identifier == identifier) )) (goto_statement "goto LAB_0011c1b4;" goto statement_identifier ;)) (labeled_statement "LAB_0011bf00:\n      uVar26 = this_00->symtab_->output_count_;" statement_identifier : (expression_statement "uVar26 = this_00->symtab_->output_count_;" (assignment_expression "uVar26 = this_00->symtab_->output_count_" identifier = (field_expression "this_00->symtab_->output_count_" (field_expression "this_00->symtab_" identifier -> field_identifier) -> field_identifier)) ;)) (expression_statement "piVar18 = (int *)((int)piVar18 + iVar15);" (assignment_expression "piVar18 = (int *)((int)piVar18 + iVar15)" identifier = (cast_expression "(int *)((int)piVar18 + iVar15)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + iVar15)" ( (binary_expression "(int)piVar18 + iVar15" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if (uVar26 < 0x20000000) {\n        p_Var17 = (_Hash_node_base *)(uVar26 << 2);\n        global_syms = (uint *)(**(code **)(pcVar21 + 0x3164d0))(p_Var17);\n        (**(code **)(pcVar21 + 0x31aa44))(global_syms,0,p_Var17);\n        uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_start >> 2;\n        if ((strtab->key_to_offset_).size_ < pIVar24->command_line_key_) goto LAB_0011c198;\n        uVar8 = pIVar24->command_line_key_ - 1;\n        uVar8 = *(uint *)((int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std::vector<int,_std::allocator<int>_>,_std::allocator<std::vector<int,_std::allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start +\n                         (uVar8 & 0x1fff) * 4);\n        *(uint *)(oview + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        oview[0] = '\x02';\n        oview[1] = '\0';\n        oview[2] = '\0';\n        oview[3] = '\0';\n        oview[0xc] = '\0';\n        oview[0xd] = '\0';\n        oview[0xe] = '\0';\n        oview[0xf] = '\0';\n        *(uint *)(oview + 8) =\n             (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n        puVar4 = write_input_files(this_00,oview,oview + 0x10,strtab);\n        puVar4 = write_info_blocks(this_00,oview,puVar4,strtab,global_syms,uVar26);\n        if ((int)(puVar4 + -(int)oview) >> 0x1f != iVar23) goto LAB_0011c190;\n        if ((_Hash_node_base *)(puVar4 + -(int)oview) != p_Var6) goto LAB_0011c190;\n        uVar12 = 0x59f;\n        if (uVar26 >> 0x1e != uVar25) goto LAB_0011c178;\n        iVar23 = *(int *)(pcVar21 + 0x3165a8);\n        if (p_Var17 != p_Var14) {\n          do {\n            (**(code **)(pcVar21 + 0x3165b8))\n                      (*(int *)(pcVar21 + 0x3165a8) + -0x4fcc,uVar12,iVar23 + -0x3564);\nLAB_0011c190:\n            uVar12 = 0x59c;\nLAB_0011c178:\n            iVar23 = *(int *)(pcVar21 + 0x3165a8);\n          } while( true );\n        }\n        piVar11 = (int *)((int)piVar18 + (int)p_Var14);\n        puVar9 = global_syms;\n        if (uVar26 != 0) {\n          do {\n            uVar25 = *puVar9;\n            piVar20 = piVar18 + 1;\n            *piVar18 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n            puVar9 = puVar9 + 1;\n            piVar18 = piVar20;\n          } while (piVar20 != piVar11);\n        }\n        (**(code **)(pcVar21 + 0x3165d0))(global_syms);\n        pOVar7 = pIVar24->got_plt_section_;\n        iVar23 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20;\n        if (-1 < iVar23 << 2) goto LAB_0011c144;\n        iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.offset_;\n        iVar10 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n        if (-1 < iVar23 << 1) goto LAB_0011c128;\n        p_Var6 = *(_Hash_node_base **)\n                  ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_ + 4);\n        if (iVar16 < 0) goto LAB_0011c118;\n        in_t1 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar10);\n        iVar16 = (uint)(in_t1 < p_Var6) + iVar16;\n        iVar13 = *(int *)(pcVar21 + 0x318234);\n        if (iVar16 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar16) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }" if (parenthesized_expression "(uVar26 < 0x20000000)" ( (binary_expression "uVar26 < 0x20000000" identifier < number_literal) )) (compound_statement "{\n        p_Var17 = (_Hash_node_base *)(uVar26 << 2);\n        global_syms = (uint *)(**(code **)(pcVar21 + 0x3164d0))(p_Var17);\n        (**(code **)(pcVar21 + 0x31aa44))(global_syms,0,p_Var17);\n        uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_start >> 2;\n        if ((strtab->key_to_offset_).size_ < pIVar24->command_line_key_) goto LAB_0011c198;\n        uVar8 = pIVar24->command_line_key_ - 1;\n        uVar8 = *(uint *)((int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std::vector<int,_std::allocator<int>_>,_std::allocator<std::vector<int,_std::allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start +\n                         (uVar8 & 0x1fff) * 4);\n        *(uint *)(oview + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        oview[0] = '\x02';\n        oview[1] = '\0';\n        oview[2] = '\0';\n        oview[3] = '\0';\n        oview[0xc] = '\0';\n        oview[0xd] = '\0';\n        oview[0xe] = '\0';\n        oview[0xf] = '\0';\n        *(uint *)(oview + 8) =\n             (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n        puVar4 = write_input_files(this_00,oview,oview + 0x10,strtab);\n        puVar4 = write_info_blocks(this_00,oview,puVar4,strtab,global_syms,uVar26);\n        if ((int)(puVar4 + -(int)oview) >> 0x1f != iVar23) goto LAB_0011c190;\n        if ((_Hash_node_base *)(puVar4 + -(int)oview) != p_Var6) goto LAB_0011c190;\n        uVar12 = 0x59f;\n        if (uVar26 >> 0x1e != uVar25) goto LAB_0011c178;\n        iVar23 = *(int *)(pcVar21 + 0x3165a8);\n        if (p_Var17 != p_Var14) {\n          do {\n            (**(code **)(pcVar21 + 0x3165b8))\n                      (*(int *)(pcVar21 + 0x3165a8) + -0x4fcc,uVar12,iVar23 + -0x3564);\nLAB_0011c190:\n            uVar12 = 0x59c;\nLAB_0011c178:\n            iVar23 = *(int *)(pcVar21 + 0x3165a8);\n          } while( true );\n        }\n        piVar11 = (int *)((int)piVar18 + (int)p_Var14);\n        puVar9 = global_syms;\n        if (uVar26 != 0) {\n          do {\n            uVar25 = *puVar9;\n            piVar20 = piVar18 + 1;\n            *piVar18 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n            puVar9 = puVar9 + 1;\n            piVar18 = piVar20;\n          } while (piVar20 != piVar11);\n        }\n        (**(code **)(pcVar21 + 0x3165d0))(global_syms);\n        pOVar7 = pIVar24->got_plt_section_;\n        iVar23 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20;\n        if (-1 < iVar23 << 2) goto LAB_0011c144;\n        iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.offset_;\n        iVar10 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n        if (-1 < iVar23 << 1) goto LAB_0011c128;\n        p_Var6 = *(_Hash_node_base **)\n                  ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_ + 4);\n        if (iVar16 < 0) goto LAB_0011c118;\n        in_t1 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar10);\n        iVar16 = (uint)(in_t1 < p_Var6) + iVar16;\n        iVar13 = *(int *)(pcVar21 + 0x318234);\n        if (iVar16 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar16) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }" { (expression_statement "p_Var17 = (_Hash_node_base *)(uVar26 << 2);" (assignment_expression "p_Var17 = (_Hash_node_base *)(uVar26 << 2)" identifier = (cast_expression "(_Hash_node_base *)(uVar26 << 2)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar26 << 2)" ( (binary_expression "uVar26 << 2" identifier << number_literal) )))) ;) (expression_statement "global_syms = (uint *)(**(code **)(pcVar21 + 0x3164d0))(p_Var17);" (assignment_expression "global_syms = (uint *)(**(code **)(pcVar21 + 0x3164d0))(p_Var17)" identifier = (cast_expression "(uint *)(**(code **)(pcVar21 + 0x3164d0))(p_Var17)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar21 + 0x3164d0))(p_Var17)" (parenthesized_expression "(**(code **)(pcVar21 + 0x3164d0))" ( (pointer_expression "**(code **)(pcVar21 + 0x3164d0)" * (pointer_expression "*(code **)(pcVar21 + 0x3164d0)" * (cast_expression "(code **)(pcVar21 + 0x3164d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x3164d0)" ( (binary_expression "pcVar21 + 0x3164d0" identifier + number_literal) ))))) )) (argument_list "(p_Var17)" ( identifier ))))) ;) (expression_statement "(**(code **)(pcVar21 + 0x31aa44))(global_syms,0,p_Var17);" (call_expression "(**(code **)(pcVar21 + 0x31aa44))(global_syms,0,p_Var17)" (parenthesized_expression "(**(code **)(pcVar21 + 0x31aa44))" ( (pointer_expression "**(code **)(pcVar21 + 0x31aa44)" * (pointer_expression "*(code **)(pcVar21 + 0x31aa44)" * (cast_expression "(code **)(pcVar21 + 0x31aa44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x31aa44)" ( (binary_expression "pcVar21 + 0x31aa44" identifier + number_literal) ))))) )) (argument_list "(global_syms,0,p_Var17)" ( identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_start >> 2;" (binary_expression "uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_start >> 2" (field_expression "uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_start" (field_expression "uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl" (binary_expression "uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_" (binary_expression "uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold" (binary_expression "uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std" (binary_expression "uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base<gold" (binary_expression "uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish -\n                (int)(pIVar24->inputs_).\n                     super__Vector_base" (field_expression "uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl._M_finish" (field_expression "uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n                     ._M_impl" (binary_expression "uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_" (binary_expression "uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold" (binary_expression "uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold::Incremental_input_entry*,_std" (assignment_expression "uVar3 = (int)(pIVar24->inputs_).\n                     super__Vector_base<gold" identifier = (binary_expression "(int)(pIVar24->inputs_).\n                     super__Vector_base<gold" (cast_expression "(int)(pIVar24->inputs_).\n                     super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(pIVar24->inputs_).\n                     super__Vector_base" (parenthesized_expression "(pIVar24->inputs_)" ( (field_expression "pIVar24->inputs_" identifier -> field_identifier) )) . field_identifier)) < identifier)) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)(pIVar24->inputs_).\n                     super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(pIVar24->inputs_).\n                     super__Vector_base" (parenthesized_expression "(pIVar24->inputs_)" ( (field_expression "pIVar24->inputs_" identifier -> field_identifier) )) . field_identifier))) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal) ;) (if_statement "if ((strtab->key_to_offset_).size_ < pIVar24->command_line_key_) goto LAB_0011c198;" if (parenthesized_expression "((strtab->key_to_offset_).size_ < pIVar24->command_line_key_)" ( (binary_expression "(strtab->key_to_offset_).size_ < pIVar24->command_line_key_" (field_expression "(strtab->key_to_offset_).size_" (parenthesized_expression "(strtab->key_to_offset_)" ( (field_expression "strtab->key_to_offset_" identifier -> field_identifier) )) . field_identifier) < (field_expression "pIVar24->command_line_key_" identifier -> field_identifier)) )) (goto_statement "goto LAB_0011c198;" goto statement_identifier ;)) (expression_statement "uVar8 = pIVar24->command_line_key_ - 1;" (assignment_expression "uVar8 = pIVar24->command_line_key_ - 1" identifier = (binary_expression "pIVar24->command_line_key_ - 1" (field_expression "pIVar24->command_line_key_" identifier -> field_identifier) - number_literal)) ;) (expression_statement "uVar8 = *(uint *)((int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std::vector<int,_std::allocator<int>_>,_std::allocator<std::vector<int,_std::allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start +\n                         (uVar8 & 0x1fff) * 4);" (assignment_expression "uVar8 = *(uint *)((int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std::vector<int,_std::allocator<int>_>,_std::allocator<std::vector<int,_std::allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start +\n                         (uVar8 & 0x1fff) * 4)" identifier = (pointer_expression "*(uint *)((int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std::vector<int,_std::allocator<int>_>,_std::allocator<std::vector<int,_std::allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start +\n                         (uVar8 & 0x1fff) * 4)" * (cast_expression "(uint *)((int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std::vector<int,_std::allocator<int>_>,_std::allocator<std::vector<int,_std::allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start +\n                         (uVar8 & 0x1fff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std::vector<int,_std::allocator<int>_>,_std::allocator<std::vector<int,_std::allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start +\n                         (uVar8 & 0x1fff) * 4)" ( (ERROR "(int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std::vector<int,_std::allocator<int>_>,_std::allocator<std::vector<int,_std::allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base<int,_std::" (comma_expression "(int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std::vector<int,_std" (binary_expression "(int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std::vector<int" (binary_expression "(int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base<std" (cast_expression "(int)(strtab->key_to_offset_).chunks_.\n                               super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(strtab->key_to_offset_).chunks_.\n                               super__Vector_base" (field_expression "(strtab->key_to_offset_).chunks_" (parenthesized_expression "(strtab->key_to_offset_)" ( (field_expression "strtab->key_to_offset_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) < identifier) (ERROR "::vector" : : identifier) < identifier) , identifier) : : (binary_expression "allocator<int>_>,_std" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "vector<int,_std" (binary_expression "vector<int" identifier < identifier) , identifier) : : (comma_expression "allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base<int,_std" (binary_expression "allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base<int" (field_expression "allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd].\n                               super__Vector_base" (subscript_expression "allocator<int>_>_>_>\n                               ._M_impl._M_start[uVar8 >> 0xd]" (field_expression "allocator<int>_>_>_>\n                               ._M_impl._M_start" (field_expression "allocator<int>_>_>_>\n                               ._M_impl" (binary_expression "allocator<int>_>_>_" (binary_expression "allocator<int>_>_" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ (binary_expression "uVar8 >> 0xd" identifier >> number_literal) ]) . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<int>_>._M_impl._M_start +\n                         (uVar8 & 0x1fff) * 4" (field_expression "allocator<int>_>._M_impl._M_start" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) + (binary_expression "(uVar8 & 0x1fff) * 4" (parenthesized_expression "(uVar8 & 0x1fff)" ( (binary_expression "uVar8 & 0x1fff" identifier & number_literal) )) * number_literal)) ))))) ;) (expression_statement "*(uint *)(oview + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(oview + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(oview + 4)" * (cast_expression "(uint *)(oview + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(oview + 4)" ( (binary_expression "oview + 4" identifier + number_literal) )))) = (binary_expression "(((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10)" ( (binary_expression "(uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10" (binary_expression "(uVar3 >> 0x10) << 0x18" (parenthesized_expression "(uVar3 >> 0x10)" ( (binary_expression "uVar3 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar3 >> 0x18) << 0x10" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff)" ( (binary_expression "(uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff" (binary_expression "(uVar3 & 0xff) << 8" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar3 >> 8 & 0xff" (binary_expression "uVar3 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "oview[0] = '\x02';" (assignment_expression "oview[0] = '\x02'" (subscript_expression "oview[0]" identifier [ number_literal ]) = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "oview[1] = '\0';" (assignment_expression "oview[1] = '\0'" (subscript_expression "oview[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "oview[2] = '\0';" (assignment_expression "oview[2] = '\0'" (subscript_expression "oview[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "oview[3] = '\0';" (assignment_expression "oview[3] = '\0'" (subscript_expression "oview[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "oview[0xc] = '\0';" (assignment_expression "oview[0xc] = '\0'" (subscript_expression "oview[0xc]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "oview[0xd] = '\0';" (assignment_expression "oview[0xd] = '\0'" (subscript_expression "oview[0xd]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "oview[0xe] = '\0';" (assignment_expression "oview[0xe] = '\0'" (subscript_expression "oview[0xe]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "oview[0xf] = '\0';" (assignment_expression "oview[0xf] = '\0'" (subscript_expression "oview[0xf]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*(uint *)(oview + 8) =\n             (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(oview + 8) =\n             (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(oview + 8)" * (cast_expression "(uint *)(oview + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(oview + 8)" ( (binary_expression "oview + 8" identifier + number_literal) )))) = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff)" ( (binary_expression "(uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar4 = write_input_files(this_00,oview,oview + 0x10,strtab);" (assignment_expression "puVar4 = write_input_files(this_00,oview,oview + 0x10,strtab)" identifier = (call_expression "write_input_files(this_00,oview,oview + 0x10,strtab)" identifier (argument_list "(this_00,oview,oview + 0x10,strtab)" ( identifier , identifier , (binary_expression "oview + 0x10" identifier + number_literal) , identifier )))) ;) (expression_statement "puVar4 = write_info_blocks(this_00,oview,puVar4,strtab,global_syms,uVar26);" (assignment_expression "puVar4 = write_info_blocks(this_00,oview,puVar4,strtab,global_syms,uVar26)" identifier = (call_expression "write_info_blocks(this_00,oview,puVar4,strtab,global_syms,uVar26)" identifier (argument_list "(this_00,oview,puVar4,strtab,global_syms,uVar26)" ( identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if ((int)(puVar4 + -(int)oview) >> 0x1f != iVar23) goto LAB_0011c190;" if (parenthesized_expression "((int)(puVar4 + -(int)oview) >> 0x1f != iVar23)" ( (binary_expression "(int)(puVar4 + -(int)oview) >> 0x1f != iVar23" (binary_expression "(int)(puVar4 + -(int)oview) >> 0x1f" (cast_expression "(int)(puVar4 + -(int)oview)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar4 + -(int)oview)" ( (binary_expression "puVar4 + -(int)oview" identifier + (unary_expression "-(int)oview" - (cast_expression "(int)oview" ( (type_descriptor "int" primitive_type) ) identifier))) ))) >> number_literal) != identifier) )) (goto_statement "goto LAB_0011c190;" goto statement_identifier ;)) (if_statement "if ((_Hash_node_base *)(puVar4 + -(int)oview) != p_Var6) goto LAB_0011c190;" if (parenthesized_expression "((_Hash_node_base *)(puVar4 + -(int)oview) != p_Var6)" ( (binary_expression "(_Hash_node_base *)(puVar4 + -(int)oview) != p_Var6" (cast_expression "(_Hash_node_base *)(puVar4 + -(int)oview)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + -(int)oview)" ( (binary_expression "puVar4 + -(int)oview" identifier + (unary_expression "-(int)oview" - (cast_expression "(int)oview" ( (type_descriptor "int" primitive_type) ) identifier))) ))) != identifier) )) (goto_statement "goto LAB_0011c190;" goto statement_identifier ;)) (expression_statement "uVar12 = 0x59f;" (assignment_expression "uVar12 = 0x59f" identifier = number_literal) ;) (if_statement "if (uVar26 >> 0x1e != uVar25) goto LAB_0011c178;" if (parenthesized_expression "(uVar26 >> 0x1e != uVar25)" ( (binary_expression "uVar26 >> 0x1e != uVar25" (binary_expression "uVar26 >> 0x1e" identifier >> number_literal) != identifier) )) (goto_statement "goto LAB_0011c178;" goto statement_identifier ;)) (expression_statement "iVar23 = *(int *)(pcVar21 + 0x3165a8);" (assignment_expression "iVar23 = *(int *)(pcVar21 + 0x3165a8)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x3165a8)" * (cast_expression "(int *)(pcVar21 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x3165a8)" ( (binary_expression "pcVar21 + 0x3165a8" identifier + number_literal) ))))) ;) (if_statement "if (p_Var17 != p_Var14) {\n          do {\n            (**(code **)(pcVar21 + 0x3165b8))\n                      (*(int *)(pcVar21 + 0x3165a8) + -0x4fcc,uVar12,iVar23 + -0x3564);\nLAB_0011c190:\n            uVar12 = 0x59c;\nLAB_0011c178:\n            iVar23 = *(int *)(pcVar21 + 0x3165a8);\n          } while( true );\n        }" if (parenthesized_expression "(p_Var17 != p_Var14)" ( (binary_expression "p_Var17 != p_Var14" identifier != identifier) )) (compound_statement "{\n          do {\n            (**(code **)(pcVar21 + 0x3165b8))\n                      (*(int *)(pcVar21 + 0x3165a8) + -0x4fcc,uVar12,iVar23 + -0x3564);\nLAB_0011c190:\n            uVar12 = 0x59c;\nLAB_0011c178:\n            iVar23 = *(int *)(pcVar21 + 0x3165a8);\n          } while( true );\n        }" { (do_statement "do {\n            (**(code **)(pcVar21 + 0x3165b8))\n                      (*(int *)(pcVar21 + 0x3165a8) + -0x4fcc,uVar12,iVar23 + -0x3564);\nLAB_0011c190:\n            uVar12 = 0x59c;\nLAB_0011c178:\n            iVar23 = *(int *)(pcVar21 + 0x3165a8);\n          } while( true );" do (compound_statement "{\n            (**(code **)(pcVar21 + 0x3165b8))\n                      (*(int *)(pcVar21 + 0x3165a8) + -0x4fcc,uVar12,iVar23 + -0x3564);\nLAB_0011c190:\n            uVar12 = 0x59c;\nLAB_0011c178:\n            iVar23 = *(int *)(pcVar21 + 0x3165a8);\n          }" { (expression_statement "(**(code **)(pcVar21 + 0x3165b8))\n                      (*(int *)(pcVar21 + 0x3165a8) + -0x4fcc,uVar12,iVar23 + -0x3564);" (call_expression "(**(code **)(pcVar21 + 0x3165b8))\n                      (*(int *)(pcVar21 + 0x3165a8) + -0x4fcc,uVar12,iVar23 + -0x3564)" (parenthesized_expression "(**(code **)(pcVar21 + 0x3165b8))" ( (pointer_expression "**(code **)(pcVar21 + 0x3165b8)" * (pointer_expression "*(code **)(pcVar21 + 0x3165b8)" * (cast_expression "(code **)(pcVar21 + 0x3165b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x3165b8)" ( (binary_expression "pcVar21 + 0x3165b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x3165a8) + -0x4fcc,uVar12,iVar23 + -0x3564)" ( (binary_expression "*(int *)(pcVar21 + 0x3165a8) + -0x4fcc" (pointer_expression "*(int *)(pcVar21 + 0x3165a8)" * (cast_expression "(int *)(pcVar21 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x3165a8)" ( (binary_expression "pcVar21 + 0x3165a8" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "iVar23 + -0x3564" identifier + number_literal) ))) ;) (labeled_statement "LAB_0011c190:\n            uVar12 = 0x59c;" statement_identifier : (expression_statement "uVar12 = 0x59c;" (assignment_expression "uVar12 = 0x59c" identifier = number_literal) ;)) (labeled_statement "LAB_0011c178:\n            iVar23 = *(int *)(pcVar21 + 0x3165a8);" statement_identifier : (expression_statement "iVar23 = *(int *)(pcVar21 + 0x3165a8);" (assignment_expression "iVar23 = *(int *)(pcVar21 + 0x3165a8)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x3165a8)" * (cast_expression "(int *)(pcVar21 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x3165a8)" ( (binary_expression "pcVar21 + 0x3165a8" identifier + number_literal) ))))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "piVar11 = (int *)((int)piVar18 + (int)p_Var14);" (assignment_expression "piVar11 = (int *)((int)piVar18 + (int)p_Var14)" identifier = (cast_expression "(int *)((int)piVar18 + (int)p_Var14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + (int)p_Var14)" ( (binary_expression "(int)piVar18 + (int)p_Var14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar9 = global_syms;" (assignment_expression "puVar9 = global_syms" identifier = identifier) ;) (if_statement "if (uVar26 != 0) {\n          do {\n            uVar25 = *puVar9;\n            piVar20 = piVar18 + 1;\n            *piVar18 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n            puVar9 = puVar9 + 1;\n            piVar18 = piVar20;\n          } while (piVar20 != piVar11);\n        }" if (parenthesized_expression "(uVar26 != 0)" ( (binary_expression "uVar26 != 0" identifier != number_literal) )) (compound_statement "{\n          do {\n            uVar25 = *puVar9;\n            piVar20 = piVar18 + 1;\n            *piVar18 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n            puVar9 = puVar9 + 1;\n            piVar18 = piVar20;\n          } while (piVar20 != piVar11);\n        }" { (do_statement "do {\n            uVar25 = *puVar9;\n            piVar20 = piVar18 + 1;\n            *piVar18 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n            puVar9 = puVar9 + 1;\n            piVar18 = piVar20;\n          } while (piVar20 != piVar11);" do (compound_statement "{\n            uVar25 = *puVar9;\n            piVar20 = piVar18 + 1;\n            *piVar18 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n            puVar9 = puVar9 + 1;\n            piVar18 = piVar20;\n          }" { (expression_statement "uVar25 = *puVar9;" (assignment_expression "uVar25 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "piVar20 = piVar18 + 1;" (assignment_expression "piVar20 = piVar18 + 1" identifier = (binary_expression "piVar18 + 1" identifier + number_literal)) ;) (expression_statement "*piVar18 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar18 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar18" * identifier) = (binary_expression "(((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10)" ( (binary_expression "(uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10" (binary_expression "(uVar25 >> 0x10) << 0x18" (parenthesized_expression "(uVar25 >> 0x10)" ( (binary_expression "uVar25 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar25 >> 0x18) << 0x10" (parenthesized_expression "(uVar25 >> 0x18)" ( (binary_expression "uVar25 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff)" ( (binary_expression "(uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff" (binary_expression "(uVar25 & 0xff) << 8" (parenthesized_expression "(uVar25 & 0xff)" ( (binary_expression "uVar25 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar25 >> 8 & 0xff" (binary_expression "uVar25 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar9 = puVar9 + 1;" (assignment_expression "puVar9 = puVar9 + 1" identifier = (binary_expression "puVar9 + 1" identifier + number_literal)) ;) (expression_statement "piVar18 = piVar20;" (assignment_expression "piVar18 = piVar20" identifier = identifier) ;) }) while (parenthesized_expression "(piVar20 != piVar11)" ( (binary_expression "piVar20 != piVar11" identifier != identifier) )) ;) })) (expression_statement "(**(code **)(pcVar21 + 0x3165d0))(global_syms);" (call_expression "(**(code **)(pcVar21 + 0x3165d0))(global_syms)" (parenthesized_expression "(**(code **)(pcVar21 + 0x3165d0))" ( (pointer_expression "**(code **)(pcVar21 + 0x3165d0)" * (pointer_expression "*(code **)(pcVar21 + 0x3165d0)" * (cast_expression "(code **)(pcVar21 + 0x3165d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x3165d0)" ( (binary_expression "pcVar21 + 0x3165d0" identifier + number_literal) ))))) )) (argument_list "(global_syms)" ( identifier ))) ;) (expression_statement "pOVar7 = pIVar24->got_plt_section_;" (assignment_expression "pOVar7 = pIVar24->got_plt_section_" identifier = (field_expression "pIVar24->got_plt_section_" identifier -> field_identifier)) ;) (expression_statement "iVar23 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20;" (assignment_expression "iVar23 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20" identifier = (pointer_expression "*(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20" * (cast_expression "(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20" & (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar7->super_Output_section_data_build)" ( (field_expression "pOVar7->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))))) ;) (if_statement "if (-1 < iVar23 << 2) goto LAB_0011c144;" if (parenthesized_expression "(-1 < iVar23 << 2)" ( (binary_expression "-1 < iVar23 << 2" number_literal < (binary_expression "iVar23 << 2" identifier << number_literal)) )) (goto_statement "goto LAB_0011c144;" goto statement_identifier ;)) (expression_statement "iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.offset_;" (assignment_expression "iVar16 = *(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.offset_" identifier = (pointer_expression "*(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.offset_" * (cast_expression "(int *)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.offset_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.offset_" & (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.offset_" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar7->super_Output_section_data_build)" ( (field_expression "pOVar7->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))))) ;) (expression_statement "iVar10 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;" (assignment_expression "iVar10 = (int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_" identifier = (cast_expression "(int)(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_" ( (type_descriptor "int" primitive_type) ) (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar7->super_Output_section_data_build)" ( (field_expression "pOVar7->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (if_statement "if (-1 < iVar23 << 1) goto LAB_0011c128;" if (parenthesized_expression "(-1 < iVar23 << 1)" ( (binary_expression "-1 < iVar23 << 1" number_literal < (binary_expression "iVar23 << 1" identifier << number_literal)) )) (goto_statement "goto LAB_0011c128;" goto statement_identifier ;)) (expression_statement "p_Var6 = *(_Hash_node_base **)\n                  ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_ + 4);" (assignment_expression "p_Var6 = *(_Hash_node_base **)\n                  ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_ + 4)" identifier = (pointer_expression "*(_Hash_node_base **)\n                  ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_ + 4)" * (cast_expression "(_Hash_node_base **)\n                  ((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_ + 4)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_ + 4" (cast_expression "(int)&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_" & (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.data_size_" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data" (field_expression "(pOVar7->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar7->super_Output_section_data_build)" ( (field_expression "pOVar7->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if (iVar16 < 0) goto LAB_0011c118;" if (parenthesized_expression "(iVar16 < 0)" ( (binary_expression "iVar16 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0011c118;" goto statement_identifier ;)) (expression_statement "in_t1 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar10);" (assignment_expression "in_t1 = (_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar10)" identifier = (cast_expression "(_Hash_node_base *)((int)&p_Var6->_M_nxt + iVar10)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&p_Var6->_M_nxt + iVar10)" ( (binary_expression "(int)&p_Var6->_M_nxt + iVar10" (cast_expression "(int)&p_Var6->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var6->_M_nxt" & (field_expression "p_Var6->_M_nxt" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "iVar16 = (uint)(in_t1 < p_Var6) + iVar16;" (assignment_expression "iVar16 = (uint)(in_t1 < p_Var6) + iVar16" identifier = (binary_expression "(uint)(in_t1 < p_Var6) + iVar16" (call_expression "(uint)(in_t1 < p_Var6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t1 < p_Var6)" ( (binary_expression "in_t1 < p_Var6" identifier < identifier) ))) + identifier)) ;) (expression_statement "iVar13 = *(int *)(pcVar21 + 0x318234);" (assignment_expression "iVar13 = *(int *)(pcVar21 + 0x318234)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x318234)" * (cast_expression "(int *)(pcVar21 + 0x318234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x318234)" ( (binary_expression "pcVar21 + 0x318234" identifier + number_literal) ))))) ;) (if_statement "if (iVar16 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar16) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }" if (parenthesized_expression "(iVar16 <= *(int *)(iVar2 + 8))" ( (binary_expression "iVar16 <= *(int *)(iVar2 + 8)" identifier <= (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n          if (*(int *)(iVar2 + 8) == iVar16) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }" { (if_statement "if (*(int *)(iVar2 + 8) == iVar16) goto LAB_0011c160;" if (parenthesized_expression "(*(int *)(iVar2 + 8) == iVar16)" ( (binary_expression "*(int *)(iVar2 + 8) == iVar16" (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_0011c160;" goto statement_identifier ;)) (goto_statement "goto LAB_0011c0d0;" goto statement_identifier ;) })) (goto_statement "goto LAB_0011c11c;" goto statement_identifier ;) })) (expression_statement "pcVar21 = *(code **)(pcVar21 + 0x3164dc);" (assignment_expression "pcVar21 = *(code **)(pcVar21 + 0x3164dc)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x3164dc)" * (cast_expression "(code **)(pcVar21 + 0x3164dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x3164dc)" ( (binary_expression "pcVar21 + 0x3164dc" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar27 = 7;" (assignment_expression "iVar27 = 7" identifier = number_literal) ;) (expression_statement "iVar23 = iVar10 + 1;" (assignment_expression "iVar23 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0011c20c;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0011c11c:\n  pcVar22 = (code *)(iVar13 + 0x2f54);" statement_identifier : (expression_statement "pcVar22 = (code *)(iVar13 + 0x2f54);" (assignment_expression "pcVar22 = (code *)(iVar13 + 0x2f54)" identifier = (cast_expression "(code *)(iVar13 + 0x2f54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2f54)" ( (binary_expression "iVar13 + 0x2f54" identifier + number_literal) )))) ;)) (labeled_statement "LAB_0011c120:\n  while( true ) {\n    (*pcVar22)();\nLAB_0011c128:\n    (**(code **)(pcVar21 + 0x3165b8))\n              (*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar21 + 0x3165a8) + -0x36c8);\n    unaff_s4 = this_00;\n    unaff_s6 = iVar2;\nLAB_0011c144:\n    iVar2 = unaff_s6;\n    this_00 = unaff_s4;\n    iVar10 = 0xe3;\n    (**(code **)(pcVar21 + 0x3165b8))\n              (*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar21 + 0x3165a8) + -0x36bc);\nLAB_0011c160:\n    in_t1 = (_Hash_node_base *)(uint)(*(_Hash_node_base **)(iVar2 + 0xc) < in_t1);\n    if (in_t1 == (_Hash_node_base *)0x0) break;\n    pcVar22 = (code *)(*(int *)(pcVar21 + 0x318234) + 0x2f54);\n  }" statement_identifier : (while_statement "while( true ) {\n    (*pcVar22)();\nLAB_0011c128:\n    (**(code **)(pcVar21 + 0x3165b8))\n              (*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar21 + 0x3165a8) + -0x36c8);\n    unaff_s4 = this_00;\n    unaff_s6 = iVar2;\nLAB_0011c144:\n    iVar2 = unaff_s6;\n    this_00 = unaff_s4;\n    iVar10 = 0xe3;\n    (**(code **)(pcVar21 + 0x3165b8))\n              (*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar21 + 0x3165a8) + -0x36bc);\nLAB_0011c160:\n    in_t1 = (_Hash_node_base *)(uint)(*(_Hash_node_base **)(iVar2 + 0xc) < in_t1);\n    if (in_t1 == (_Hash_node_base *)0x0) break;\n    pcVar22 = (code *)(*(int *)(pcVar21 + 0x318234) + 0x2f54);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    (*pcVar22)();\nLAB_0011c128:\n    (**(code **)(pcVar21 + 0x3165b8))\n              (*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar21 + 0x3165a8) + -0x36c8);\n    unaff_s4 = this_00;\n    unaff_s6 = iVar2;\nLAB_0011c144:\n    iVar2 = unaff_s6;\n    this_00 = unaff_s4;\n    iVar10 = 0xe3;\n    (**(code **)(pcVar21 + 0x3165b8))\n              (*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar21 + 0x3165a8) + -0x36bc);\nLAB_0011c160:\n    in_t1 = (_Hash_node_base *)(uint)(*(_Hash_node_base **)(iVar2 + 0xc) < in_t1);\n    if (in_t1 == (_Hash_node_base *)0x0) break;\n    pcVar22 = (code *)(*(int *)(pcVar21 + 0x318234) + 0x2f54);\n  }" { (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0011c128:\n    (**(code **)(pcVar21 + 0x3165b8))\n              (*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar21 + 0x3165a8) + -0x36c8);" statement_identifier : (expression_statement "(**(code **)(pcVar21 + 0x3165b8))\n              (*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar21 + 0x3165a8) + -0x36c8);" (call_expression "(**(code **)(pcVar21 + 0x3165b8))\n              (*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar21 + 0x3165a8) + -0x36c8)" (parenthesized_expression "(**(code **)(pcVar21 + 0x3165b8))" ( (pointer_expression "**(code **)(pcVar21 + 0x3165b8)" * (pointer_expression "*(code **)(pcVar21 + 0x3165b8)" * (cast_expression "(code **)(pcVar21 + 0x3165b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x3165b8)" ( (binary_expression "pcVar21 + 0x3165b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar21 + 0x3165a8) + -0x36c8)" ( (binary_expression "*(int *)(pcVar21 + 0x3165a8) + -0x4fe0" (pointer_expression "*(int *)(pcVar21 + 0x3165a8)" * (cast_expression "(int *)(pcVar21 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x3165a8)" ( (binary_expression "pcVar21 + 0x3165a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar21 + 0x3165a8) + -0x36c8" (pointer_expression "*(int *)(pcVar21 + 0x3165a8)" * (cast_expression "(int *)(pcVar21 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x3165a8)" ( (binary_expression "pcVar21 + 0x3165a8" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "unaff_s4 = this_00;" (assignment_expression "unaff_s4 = this_00" identifier = identifier) ;) (expression_statement "unaff_s6 = iVar2;" (assignment_expression "unaff_s6 = iVar2" identifier = identifier) ;) (labeled_statement "LAB_0011c144:\n    iVar2 = unaff_s6;" statement_identifier : (expression_statement "iVar2 = unaff_s6;" (assignment_expression "iVar2 = unaff_s6" identifier = identifier) ;)) (expression_statement "this_00 = unaff_s4;" (assignment_expression "this_00 = unaff_s4" identifier = identifier) ;) (expression_statement "iVar10 = 0xe3;" (assignment_expression "iVar10 = 0xe3" identifier = number_literal) ;) (expression_statement "(**(code **)(pcVar21 + 0x3165b8))\n              (*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar21 + 0x3165a8) + -0x36bc);" (call_expression "(**(code **)(pcVar21 + 0x3165b8))\n              (*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar21 + 0x3165a8) + -0x36bc)" (parenthesized_expression "(**(code **)(pcVar21 + 0x3165b8))" ( (pointer_expression "**(code **)(pcVar21 + 0x3165b8)" * (pointer_expression "*(code **)(pcVar21 + 0x3165b8)" * (cast_expression "(code **)(pcVar21 + 0x3165b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x3165b8)" ( (binary_expression "pcVar21 + 0x3165b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar21 + 0x3165a8) + -0x36bc)" ( (binary_expression "*(int *)(pcVar21 + 0x3165a8) + -0x4fe0" (pointer_expression "*(int *)(pcVar21 + 0x3165a8)" * (cast_expression "(int *)(pcVar21 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x3165a8)" ( (binary_expression "pcVar21 + 0x3165a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar21 + 0x3165a8) + -0x36bc" (pointer_expression "*(int *)(pcVar21 + 0x3165a8)" * (cast_expression "(int *)(pcVar21 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x3165a8)" ( (binary_expression "pcVar21 + 0x3165a8" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0011c160:\n    in_t1 = (_Hash_node_base *)(uint)(*(_Hash_node_base **)(iVar2 + 0xc) < in_t1);" statement_identifier : (expression_statement "in_t1 = (_Hash_node_base *)(uint)(*(_Hash_node_base **)(iVar2 + 0xc) < in_t1);" (assignment_expression "in_t1 = (_Hash_node_base *)(uint)(*(_Hash_node_base **)(iVar2 + 0xc) < in_t1)" identifier = (cast_expression "(_Hash_node_base *)(uint)(*(_Hash_node_base **)(iVar2 + 0xc) < in_t1)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(_Hash_node_base **)(iVar2 + 0xc) < in_t1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(_Hash_node_base **)(iVar2 + 0xc) < in_t1)" ( (binary_expression "*(_Hash_node_base **)(iVar2 + 0xc) < in_t1" (pointer_expression "*(_Hash_node_base **)(iVar2 + 0xc)" * (cast_expression "(_Hash_node_base **)(iVar2 + 0xc)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) < identifier) ))))) ;)) (if_statement "if (in_t1 == (_Hash_node_base *)0x0) break;" if (parenthesized_expression "(in_t1 == (_Hash_node_base *)0x0)" ( (binary_expression "in_t1 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pcVar22 = (code *)(*(int *)(pcVar21 + 0x318234) + 0x2f54);" (assignment_expression "pcVar22 = (code *)(*(int *)(pcVar21 + 0x318234) + 0x2f54)" identifier = (cast_expression "(code *)(*(int *)(pcVar21 + 0x318234) + 0x2f54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar21 + 0x318234) + 0x2f54)" ( (binary_expression "*(int *)(pcVar21 + 0x318234) + 0x2f54" (pointer_expression "*(int *)(pcVar21 + 0x318234)" * (cast_expression "(int *)(pcVar21 + 0x318234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x318234)" ( (binary_expression "pcVar21 + 0x318234" identifier + number_literal) )))) + number_literal) )))) ;) }))) (labeled_statement "LAB_0011c0d0:\n  write_got_plt(this_00,(uchar *)(*(int *)(iVar2 + 0x10) + iVar10),\n                CONCAT44(iVar27,in_stack_ffffffac));" statement_identifier : (expression_statement "write_got_plt(this_00,(uchar *)(*(int *)(iVar2 + 0x10) + iVar10),\n                CONCAT44(iVar27,in_stack_ffffffac));" (call_expression "write_got_plt(this_00,(uchar *)(*(int *)(iVar2 + 0x10) + iVar10),\n                CONCAT44(iVar27,in_stack_ffffffac))" identifier (argument_list "(this_00,(uchar *)(*(int *)(iVar2 + 0x10) + iVar10),\n                CONCAT44(iVar27,in_stack_ffffffac))" ( identifier , (cast_expression "(uchar *)(*(int *)(iVar2 + 0x10) + iVar10)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar2 + 0x10) + iVar10)" ( (binary_expression "*(int *)(iVar2 + 0x10) + iVar10" (pointer_expression "*(int *)(iVar2 + 0x10)" * (cast_expression "(int *)(iVar2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) + identifier) ))) , (call_expression "CONCAT44(iVar27,in_stack_ffffffac)" identifier (argument_list "(iVar27,in_stack_ffffffac)" ( identifier , identifier ))) ))) ;)) (return_statement "return;" return ;) (labeled_statement "LAB_0011c198:\n  piVar11 = (int *)&DAT_00000108;" statement_identifier : (expression_statement "piVar11 = (int *)&DAT_00000108;" (assignment_expression "piVar11 = (int *)&DAT_00000108" identifier = (cast_expression "(int *)&DAT_00000108" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000108" & identifier))) ;)) (expression_statement "iVar15 = *(int *)(pcVar21 + 0x3165a8) + -0x3578;" (assignment_expression "iVar15 = *(int *)(pcVar21 + 0x3165a8) + -0x3578" identifier = (binary_expression "*(int *)(pcVar21 + 0x3165a8) + -0x3578" (pointer_expression "*(int *)(pcVar21 + 0x3165a8)" * (cast_expression "(int *)(pcVar21 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x3165a8)" ( (binary_expression "pcVar21 + 0x3165a8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar10 = *(int *)(pcVar21 + 0x316400) + 0x46d4;" (assignment_expression "iVar10 = *(int *)(pcVar21 + 0x316400) + 0x46d4" identifier = (binary_expression "*(int *)(pcVar21 + 0x316400) + 0x46d4" (pointer_expression "*(int *)(pcVar21 + 0x316400)" * (cast_expression "(int *)(pcVar21 + 0x316400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x316400)" ( (binary_expression "pcVar21 + 0x316400" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar21 + 0x3165b8))();" (call_expression "(**(code **)(pcVar21 + 0x3165b8))()" (parenthesized_expression "(**(code **)(pcVar21 + 0x3165b8))" ( (pointer_expression "**(code **)(pcVar21 + 0x3165b8)" * (pointer_expression "*(code **)(pcVar21 + 0x3165b8)" * (cast_expression "(code **)(pcVar21 + 0x3165b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x3165b8)" ( (binary_expression "pcVar21 + 0x3165b8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar26 = extraout_v1;" (assignment_expression "uVar26 = extraout_v1" identifier = identifier) ;) (labeled_statement "LAB_0011c1b4:\n  if (uVar26 != 0) goto code_r0x0011c1bc;" statement_identifier : (if_statement "if (uVar26 != 0) goto code_r0x0011c1bc;" if (parenthesized_expression "(uVar26 != 0)" ( (binary_expression "uVar26 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x0011c1bc;" goto statement_identifier ;))) (goto_statement "goto LAB_0011bf00;" goto statement_identifier ;) (labeled_statement "code_r0x0011c1bc:\n  pcVar22 = (code *)(*(int *)(pcVar21 + 0x318234) + 0x2f54);" statement_identifier : (expression_statement "pcVar22 = (code *)(*(int *)(pcVar21 + 0x318234) + 0x2f54);" (assignment_expression "pcVar22 = (code *)(*(int *)(pcVar21 + 0x318234) + 0x2f54)" identifier = (cast_expression "(code *)(*(int *)(pcVar21 + 0x318234) + 0x2f54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar21 + 0x318234) + 0x2f54)" ( (binary_expression "*(int *)(pcVar21 + 0x318234) + 0x2f54" (pointer_expression "*(int *)(pcVar21 + 0x318234)" * (cast_expression "(int *)(pcVar21 + 0x318234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x318234)" ( (binary_expression "pcVar21 + 0x318234" identifier + number_literal) )))) + number_literal) )))) ;)) (goto_statement "goto LAB_0011c120;" goto statement_identifier ;) (while_statement "while (iVar27 != 0x4d) {\nLAB_0011c20c:\n    pcVar1 = (char *)(iVar23 + -1);\n    iVar23 = iVar23 + 1;\n    iVar27 = iVar27 + 7;\n    iVar2 = iVar23 - iVar10;\n    if (-1 < *pcVar1) goto LAB_0011c27c;\n  }" while (parenthesized_expression "(iVar27 != 0x4d)" ( (binary_expression "iVar27 != 0x4d" identifier != number_literal) )) (compound_statement "{\nLAB_0011c20c:\n    pcVar1 = (char *)(iVar23 + -1);\n    iVar23 = iVar23 + 1;\n    iVar27 = iVar27 + 7;\n    iVar2 = iVar23 - iVar10;\n    if (-1 < *pcVar1) goto LAB_0011c27c;\n  }" { (labeled_statement "LAB_0011c20c:\n    pcVar1 = (char *)(iVar23 + -1);" statement_identifier : (expression_statement "pcVar1 = (char *)(iVar23 + -1);" (assignment_expression "pcVar1 = (char *)(iVar23 + -1)" identifier = (cast_expression "(char *)(iVar23 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + -1)" ( (binary_expression "iVar23 + -1" identifier + number_literal) )))) ;)) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "iVar27 = iVar27 + 7;" (assignment_expression "iVar27 = iVar27 + 7" identifier = (binary_expression "iVar27 + 7" identifier + number_literal)) ;) (expression_statement "iVar2 = iVar23 - iVar10;" (assignment_expression "iVar2 = iVar23 - iVar10" identifier = (binary_expression "iVar23 - iVar10" identifier - identifier)) ;) (if_statement "if (-1 < *pcVar1) goto LAB_0011c27c;" if (parenthesized_expression "(-1 < *pcVar1)" ( (binary_expression "-1 < *pcVar1" number_literal < (pointer_expression "*pcVar1" * identifier)) )) (goto_statement "goto LAB_0011c27c;" goto statement_identifier ;)) })) (expression_statement "uVar12 = (**(code **)(pcVar21 + 0x31a648))(*(int *)(pcVar21 + 0x3161e4) + -0x2cdc);" (assignment_expression "uVar12 = (**(code **)(pcVar21 + 0x31a648))(*(int *)(pcVar21 + 0x3161e4) + -0x2cdc)" identifier = (call_expression "(**(code **)(pcVar21 + 0x31a648))(*(int *)(pcVar21 + 0x3161e4) + -0x2cdc)" (parenthesized_expression "(**(code **)(pcVar21 + 0x31a648))" ( (pointer_expression "**(code **)(pcVar21 + 0x31a648)" * (pointer_expression "*(code **)(pcVar21 + 0x31a648)" * (cast_expression "(code **)(pcVar21 + 0x31a648)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x31a648)" ( (binary_expression "pcVar21 + 0x31a648" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x3161e4) + -0x2cdc)" ( (binary_expression "*(int *)(pcVar21 + 0x3161e4) + -0x2cdc" (pointer_expression "*(int *)(pcVar21 + 0x3161e4)" * (cast_expression "(int *)(pcVar21 + 0x3161e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x3161e4)" ( (binary_expression "pcVar21 + 0x3161e4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar21 + 0x31628c))(uVar12);" (call_expression "(**(code **)(pcVar21 + 0x31628c))(uVar12)" (parenthesized_expression "(**(code **)(pcVar21 + 0x31628c))" ( (pointer_expression "**(code **)(pcVar21 + 0x31628c)" * (pointer_expression "*(code **)(pcVar21 + 0x31628c)" * (cast_expression "(code **)(pcVar21 + 0x31628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x31628c)" ( (binary_expression "pcVar21 + 0x31628c" identifier + number_literal) ))))) )) (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "iVar2 = 0xb;" (assignment_expression "iVar2 = 0xb" identifier = number_literal) ;) (labeled_statement "LAB_0011c27c:\n  *piVar11 = iVar2;" statement_identifier : (expression_statement "*piVar11 = iVar2;" (assignment_expression "*piVar11 = iVar2" (pointer_expression "*piVar11" * identifier) = identifier) ;)) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "int * gold::Output_section_incremental_inputs<32,false>::write_got_plt\n                (uchar *param_1,longlong param_2)\n\n{\n  byte *pbVar1;\n  int iVar2;\n  uint uVar3;\n  uchar *puVar4;\n  int iVar5;\n  uint *puVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  uint extraout_v1;\n  int *piVar11;\n  Output_section_incremental_inputs<32,false> *this;\n  int iVar12;\n  int *piVar13;\n  int *in_a1;\n  undefined4 uVar14;\n  uint uVar15;\n  int iVar16;\n  int in_a3;\n  int *in_t1;\n  Stringpool_template *pSVar17;\n  int *piVar18;\n  int *piVar19;\n  uchar *puVar20;\n  Output_section_incremental_inputs<32,false> *unaff_s4;\n  uint uVar21;\n  int unaff_s6;\n  code *pcVar22;\n  int iVar23;\n  code *pcVar24;\n  int iVar25;\n  uint uVar26;\n  int iVar27;\n  undefined4 in_stack_ffffffac;\n  int *local_50;\n  int local_4c;\n  int local_48;\n  uint local_44;\n  uint local_40;\n  int local_3c;\n  uint local_38;\n  uint local_34;\n  uint local_30;\n  undefined4 local_2c;\n  int local_28;\n  Output_section_incremental_inputs<32,false> *local_24;\n  \n  iVar25 = 0x43a1d0;\n  iVar27 = 0x43a1d0;\n  piVar18 = *(int **)(*(int *)PTR_parameters_00432be0 + 0xc);\n  if (piVar18 != (int *)0x0) {\n    local_44 = (**(code **)(*piVar18 + 0xcc))(piVar18);\n    local_40 = (**(code **)(*piVar18 + 0xd0))(piVar18);\n    local_3c = (**(code **)(*piVar18 + 0xd4))(piVar18);\n    local_38 = (**(code **)(*piVar18 + 0xd8))(piVar18);\n    if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {\n      local_34 = 4;\n      iVar25 = iVar27;\n    }\n    else {\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }\n    local_50 = in_a1 + 2;\n    local_4c = (int)local_50 + (local_44 + 3 & 0xfffffffc);\n    local_48 = local_4c + local_44 * 8;\n    uVar14 = 0x7ab;\n    if ((int)in_a1 + in_a3 == local_48 + local_40 * 4) {\n      pcVar22 = *(code **)(iVar25 + -0x3980);\n      in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;\n      *in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;\n      (*pcVar22)(local_50,0xff);\n      piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);\n      if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }\n      piVar18 = *(int **)(param_1 + 0x34);\n      in_t1 = (int *)piVar18[0xc];\n      uVar26 = local_30;\n      do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );\n    }\nLAB_0011bda0:\n    iVar27 = iVar25;\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8);\nLAB_0011bdb8:\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec);\n    uVar26 = local_30;\nLAB_0011bdd4:\n    local_30 = uVar26;\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4);\n  }\n  iVar2 = 0x73;\n  pcVar22 = *(code **)(iVar25 + -0x7e0c);\n  this = (Output_section_incremental_inputs<32,false> *)(*(int *)(iVar25 + -0x7e1c) + -0x5cec);\n  (*pcVar22)(this,0x73,*(int *)(iVar25 + -0x7e1c) + -0x3514);\n  piVar18 = *(int **)(this + 0x30);\n  pSVar17 = (Stringpool_template *)piVar18[10];\n  if (-1 < *(int *)(this + 0x20) << 2) goto LAB_0011c144;\n  if (-1 < *(int *)(this + 0x20) << 1) goto LAB_0011c128;\n  iVar25 = *(int *)(this + 0x10);\n  uVar26 = *(uint *)(this + 0x14);\n  if (*(int *)(this + 0x18) < 0) {\nLAB_0011c118:\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n  }\n  else {\n    uVar15 = uVar26 + *(int *)(this + 0x1c);\n    iVar12 = *(int *)(iVar2 + 8);\n    iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18);\n    in_t1 = *(int **)(iVar2 + 0xc);\n    if ((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))) goto LAB_0011c118;\n    iVar5 = piVar18[0xe];\n    piVar11 = *(int **)(iVar2 + 0x10);\n    puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c));\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\n    if (-1 < *(int *)(iVar5 + 0x20) << 2) goto LAB_0011c144;\n    iVar16 = *(int *)(iVar5 + 0x1c);\n    if (-1 < *(int *)(iVar5 + 0x20) << 1) goto LAB_0011c128;\n    uVar15 = *(uint *)(iVar5 + 0x10);\n    uVar7 = *(uint *)(iVar5 + 0x14);\n    if (*(int *)(iVar5 + 0x18) < 0) goto LAB_0011c118;\n    iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18);\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n    if (iVar5 <= iVar12) {\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }\n  }\nLAB_0011c11c:\n  pcVar24 = (code *)(iVar23 + 0x2f54);\nLAB_0011c120:\n  while( true ) {\n    (*pcVar24)();\nLAB_0011c128:\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\nLAB_0011c144:\n    iVar2 = unaff_s6;\n    this = unaff_s4;\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc);\nLAB_0011c160:\n    in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);\n    if (in_t1 == (int *)0x0) break;\n    pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);\n  }\nLAB_0011c0d0:\n  piVar18 = (int *)write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac));\n  return piVar18;\nLAB_0011c198:\n  piVar13 = (int *)&DAT_00000108;\n  iVar16 = *(int *)(pcVar22 + 0x3165a8) + -0x3578;\n  iVar12 = *(int *)(pcVar22 + 0x316400) + 0x46d4;\n  (**(code **)(pcVar22 + 0x3165b8))();\n  uVar8 = extraout_v1;\nLAB_0011c1b4:\n  if (uVar8 != 0) goto code_r0x0011c1bc;\n  goto LAB_0011bf00;\ncode_r0x0011c1bc:\n  pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);\n  goto LAB_0011c120;\n  while (uVar26 != 0x4d) {\nLAB_0011c20c:\n    pbVar1 = (byte *)(iVar27 + -1);\n    iVar27 = iVar27 + 1;\n    uVar7 = *pbVar1 & 0x7f;\n    uVar15 = (uVar7 >> 1) >> (~uVar26 & 0x1f);\n    if ((uVar26 & 0x20) != 0) {\n      uVar15 = uVar7 << (uVar26 & 0x1f);\n    }\n    uVar26 = uVar26 + 7;\n    iVar25 = iVar27 - iVar12;\n    piVar18 = (int *)((uint)piVar18 | uVar15);\n    if (-1 < (char)*pbVar1) goto LAB_0011c27c;\n  }\n  uVar14 = (**(code **)(pcVar22 + 0x31a648))(*(int *)(pcVar22 + 0x3161e4) + -0x2cdc);\n  (**(code **)(pcVar22 + 0x31628c))(uVar14);\n  iVar25 = 0xb;\nLAB_0011c27c:\n  *piVar13 = iVar25;\n  return piVar18;\n}\n\n" (declaration "int * gold::Output_section_incremental_inputs<32,false>::write_got_plt\n                (uchar *param_1,longlong param_2)\n\n{\n  byte *pbVar1;" primitive_type (pointer_declarator "* gold::Output_section_incremental_inputs" * (ERROR "gold::" identifier : :) identifier) (ERROR "<32" < number_literal) , (ERROR "false>::write_got_plt\n                (uchar *param_1,longlong param_2)\n\n{\n  byte" identifier > : : (function_declarator "write_got_plt\n                (uchar *param_1,longlong param_2)" identifier (parameter_list "(uchar *param_1,longlong param_2)" ( (parameter_declaration "uchar *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "longlong param_2" type_identifier identifier) ))) { identifier) (pointer_declarator "*pbVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uchar *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (expression_statement "Output_section_incremental_inputs<32,false> *this;" (update_expression "Output_section_incremental_inputs<32,false> *this" (binary_expression "Output_section_incremental_inputs<32,false> *this" (binary_expression "Output_section_incremental_inputs<32" identifier < number_literal) (ERROR ",false" , false) > (pointer_expression "*this" * identifier)) --) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int *in_a1;" primitive_type (pointer_declarator "*in_a1" * identifier) ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int in_a3;" primitive_type identifier ;) (declaration "int *in_t1;" primitive_type (pointer_declarator "*in_t1" * identifier) ;) (declaration "Stringpool_template *pSVar17;" type_identifier (pointer_declarator "*pSVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "uchar *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (expression_statement "Output_section_incremental_inputs<32,false> *unaff_s4;" (update_expression "Output_section_incremental_inputs<32,false> *unaff_s4" (binary_expression "Output_section_incremental_inputs<32,false> *unaff_s4" (binary_expression "Output_section_incremental_inputs<32" identifier < number_literal) (ERROR ",false" , false) > (pointer_expression "*unaff_s4" * identifier)) --) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "undefined4 in_stack_ffffffac;" type_identifier identifier ;) (declaration "int *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "int local_28;" primitive_type identifier ;) (expression_statement "Output_section_incremental_inputs<32,false> *local_24;" (update_expression "Output_section_incremental_inputs<32,false> *local_24" (binary_expression "Output_section_incremental_inputs<32,false> *local_24" (binary_expression "Output_section_incremental_inputs<32" identifier < number_literal) (ERROR ",false" , false) > (pointer_expression "*local_24" * identifier)) --) ;) (expression_statement "iVar25 = 0x43a1d0;" (assignment_expression "iVar25 = 0x43a1d0" identifier = number_literal) ;) (expression_statement "iVar27 = 0x43a1d0;" (assignment_expression "iVar27 = 0x43a1d0" identifier = number_literal) ;) (expression_statement "piVar18 = *(int **)(*(int *)PTR_parameters_00432be0 + 0xc);" (assignment_expression "piVar18 = *(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 0xc" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (piVar18 != (int *)0x0) {\n    local_44 = (**(code **)(*piVar18 + 0xcc))(piVar18);\n    local_40 = (**(code **)(*piVar18 + 0xd0))(piVar18);\n    local_3c = (**(code **)(*piVar18 + 0xd4))(piVar18);\n    local_38 = (**(code **)(*piVar18 + 0xd8))(piVar18);\n    if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {\n      local_34 = 4;\n      iVar25 = iVar27;\n    }\n    else {\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }\n    local_50 = in_a1 + 2;\n    local_4c = (int)local_50 + (local_44 + 3 & 0xfffffffc);\n    local_48 = local_4c + local_44 * 8;\n    uVar14 = 0x7ab;\n    if ((int)in_a1 + in_a3 == local_48 + local_40 * 4) {\n      pcVar22 = *(code **)(iVar25 + -0x3980);\n      in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;\n      *in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;\n      (*pcVar22)(local_50,0xff);\n      piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);\n      if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }\n      piVar18 = *(int **)(param_1 + 0x34);\n      in_t1 = (int *)piVar18[0xc];\n      uVar26 = local_30;\n      do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );\n    }\nLAB_0011bda0:\n    iVar27 = iVar25;\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8);\nLAB_0011bdb8:\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec);\n    uVar26 = local_30;\nLAB_0011bdd4:\n    local_30 = uVar26;\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4);\n  }" if (parenthesized_expression "(piVar18 != (int *)0x0)" ( (binary_expression "piVar18 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_44 = (**(code **)(*piVar18 + 0xcc))(piVar18);\n    local_40 = (**(code **)(*piVar18 + 0xd0))(piVar18);\n    local_3c = (**(code **)(*piVar18 + 0xd4))(piVar18);\n    local_38 = (**(code **)(*piVar18 + 0xd8))(piVar18);\n    if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {\n      local_34 = 4;\n      iVar25 = iVar27;\n    }\n    else {\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }\n    local_50 = in_a1 + 2;\n    local_4c = (int)local_50 + (local_44 + 3 & 0xfffffffc);\n    local_48 = local_4c + local_44 * 8;\n    uVar14 = 0x7ab;\n    if ((int)in_a1 + in_a3 == local_48 + local_40 * 4) {\n      pcVar22 = *(code **)(iVar25 + -0x3980);\n      in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;\n      *in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;\n      (*pcVar22)(local_50,0xff);\n      piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);\n      if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }\n      piVar18 = *(int **)(param_1 + 0x34);\n      in_t1 = (int *)piVar18[0xc];\n      uVar26 = local_30;\n      do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );\n    }\nLAB_0011bda0:\n    iVar27 = iVar25;\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8);\nLAB_0011bdb8:\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec);\n    uVar26 = local_30;\nLAB_0011bdd4:\n    local_30 = uVar26;\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4);\n  }" { (expression_statement "local_44 = (**(code **)(*piVar18 + 0xcc))(piVar18);" (assignment_expression "local_44 = (**(code **)(*piVar18 + 0xcc))(piVar18)" identifier = (call_expression "(**(code **)(*piVar18 + 0xcc))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xcc))" ( (pointer_expression "**(code **)(*piVar18 + 0xcc)" * (pointer_expression "*(code **)(*piVar18 + 0xcc)" * (cast_expression "(code **)(*piVar18 + 0xcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xcc)" ( (binary_expression "*piVar18 + 0xcc" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (expression_statement "local_40 = (**(code **)(*piVar18 + 0xd0))(piVar18);" (assignment_expression "local_40 = (**(code **)(*piVar18 + 0xd0))(piVar18)" identifier = (call_expression "(**(code **)(*piVar18 + 0xd0))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xd0))" ( (pointer_expression "**(code **)(*piVar18 + 0xd0)" * (pointer_expression "*(code **)(*piVar18 + 0xd0)" * (cast_expression "(code **)(*piVar18 + 0xd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xd0)" ( (binary_expression "*piVar18 + 0xd0" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (expression_statement "local_3c = (**(code **)(*piVar18 + 0xd4))(piVar18);" (assignment_expression "local_3c = (**(code **)(*piVar18 + 0xd4))(piVar18)" identifier = (call_expression "(**(code **)(*piVar18 + 0xd4))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xd4))" ( (pointer_expression "**(code **)(*piVar18 + 0xd4)" * (pointer_expression "*(code **)(*piVar18 + 0xd4)" * (cast_expression "(code **)(*piVar18 + 0xd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xd4)" ( (binary_expression "*piVar18 + 0xd4" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (expression_statement "local_38 = (**(code **)(*piVar18 + 0xd8))(piVar18);" (assignment_expression "local_38 = (**(code **)(*piVar18 + 0xd8))(piVar18)" identifier = (call_expression "(**(code **)(*piVar18 + 0xd8))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xd8))" ( (pointer_expression "**(code **)(*piVar18 + 0xd8)" * (pointer_expression "*(code **)(*piVar18 + 0xd8)" * (cast_expression "(code **)(*piVar18 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xd8)" ( (binary_expression "*piVar18 + 0xd8" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (if_statement "if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {\n      local_34 = 4;\n      iVar25 = iVar27;\n    }\n    else {\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }" if (parenthesized_expression "(*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98))" ( (binary_expression "*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)" (pointer_expression "*(code **)(*piVar18 + 0xdc)" * (cast_expression "(code **)(*piVar18 + 0xdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xdc)" ( (binary_expression "*piVar18 + 0xdc" (pointer_expression "*piVar18" * identifier) + number_literal) )))) == (pointer_expression "*(code **)(iVar27 + -0x5e98)" * (cast_expression "(code **)(iVar27 + -0x5e98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar27 + -0x5e98)" ( (binary_expression "iVar27 + -0x5e98" identifier + number_literal) ))))) )) (compound_statement "{\n      local_34 = 4;\n      iVar25 = iVar27;\n    }" { (expression_statement "local_34 = 4;" (assignment_expression "local_34 = 4" identifier = number_literal) ;) (expression_statement "iVar25 = iVar27;" (assignment_expression "iVar25 = iVar27" identifier = identifier) ;) }) (else_clause "else {\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }" else (compound_statement "{\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }" { (expression_statement "local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);" (assignment_expression "local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18)" identifier = (call_expression "(**(code **)(*piVar18 + 0xdc))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xdc))" ( (pointer_expression "**(code **)(*piVar18 + 0xdc)" * (pointer_expression "*(code **)(*piVar18 + 0xdc)" * (cast_expression "(code **)(*piVar18 + 0xdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0xdc)" ( (binary_expression "*piVar18 + 0xdc" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (expression_statement "iVar25 = iVar27;" (assignment_expression "iVar25 = iVar27" identifier = identifier) ;) }))) (expression_statement "local_50 = in_a1 + 2;" (assignment_expression "local_50 = in_a1 + 2" identifier = (binary_expression "in_a1 + 2" identifier + number_literal)) ;) (expression_statement "local_4c = (int)local_50 + (local_44 + 3 & 0xfffffffc);" (assignment_expression "local_4c = (int)local_50 + (local_44 + 3 & 0xfffffffc)" identifier = (binary_expression "(int)local_50 + (local_44 + 3 & 0xfffffffc)" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(local_44 + 3 & 0xfffffffc)" ( (binary_expression "local_44 + 3 & 0xfffffffc" (binary_expression "local_44 + 3" identifier + number_literal) & number_literal) )))) ;) (expression_statement "local_48 = local_4c + local_44 * 8;" (assignment_expression "local_48 = local_4c + local_44 * 8" identifier = (binary_expression "local_4c + local_44 * 8" identifier + (binary_expression "local_44 * 8" identifier * number_literal))) ;) (expression_statement "uVar14 = 0x7ab;" (assignment_expression "uVar14 = 0x7ab" identifier = number_literal) ;) (if_statement "if ((int)in_a1 + in_a3 == local_48 + local_40 * 4) {\n      pcVar22 = *(code **)(iVar25 + -0x3980);\n      in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;\n      *in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;\n      (*pcVar22)(local_50,0xff);\n      piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);\n      if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }\n      piVar18 = *(int **)(param_1 + 0x34);\n      in_t1 = (int *)piVar18[0xc];\n      uVar26 = local_30;\n      do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );\n    }" if (parenthesized_expression "((int)in_a1 + in_a3 == local_48 + local_40 * 4)" ( (binary_expression "(int)in_a1 + in_a3 == local_48 + local_40 * 4" (binary_expression "(int)in_a1 + in_a3" (cast_expression "(int)in_a1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) == (binary_expression "local_48 + local_40 * 4" identifier + (binary_expression "local_40 * 4" identifier * number_literal))) )) (compound_statement "{\n      pcVar22 = *(code **)(iVar25 + -0x3980);\n      in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;\n      *in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;\n      (*pcVar22)(local_50,0xff);\n      piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);\n      if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }\n      piVar18 = *(int **)(param_1 + 0x34);\n      in_t1 = (int *)piVar18[0xc];\n      uVar26 = local_30;\n      do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );\n    }" { (expression_statement "pcVar22 = *(code **)(iVar25 + -0x3980);" (assignment_expression "pcVar22 = *(code **)(iVar25 + -0x3980)" identifier = (pointer_expression "*(code **)(iVar25 + -0x3980)" * (cast_expression "(code **)(iVar25 + -0x3980)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + -0x3980)" ( (binary_expression "iVar25 + -0x3980" identifier + number_literal) ))))) ;) (expression_statement "in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;" (assignment_expression "in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000" (subscript_expression "in_a1[1]" identifier [ number_literal ]) = (binary_expression "(((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10)" ( (binary_expression "(local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10" (binary_expression "(local_40 >> 0x10) << 0x18" (parenthesized_expression "(local_40 >> 0x10)" ( (binary_expression "local_40 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(local_40 >> 0x18) << 0x10" (parenthesized_expression "(local_40 >> 0x18)" ( (binary_expression "local_40 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff)" ( (binary_expression "(local_40 & 0xff) << 8 | local_40 >> 8 & 0xff" (binary_expression "(local_40 & 0xff) << 8" (parenthesized_expression "(local_40 & 0xff)" ( (binary_expression "local_40 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "local_40 >> 8 & 0xff" (binary_expression "local_40 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "*in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;" (assignment_expression "*in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000" (pointer_expression "*in_a1" * identifier) = (binary_expression "(((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10)" ( (binary_expression "(local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10" (binary_expression "(local_44 >> 0x10) << 0x18" (parenthesized_expression "(local_44 >> 0x10)" ( (binary_expression "local_44 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(local_44 >> 0x18) << 0x10" (parenthesized_expression "(local_44 >> 0x18)" ( (binary_expression "local_44 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff)" ( (binary_expression "(local_44 & 0xff) << 8 | local_44 >> 8 & 0xff" (binary_expression "(local_44 & 0xff) << 8" (parenthesized_expression "(local_44 & 0xff)" ( (binary_expression "local_44 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "local_44 >> 8 & 0xff" (binary_expression "local_44 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "(*pcVar22)(local_50,0xff);" (call_expression "(*pcVar22)(local_50,0xff)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(local_50,0xff)" ( identifier , number_literal ))) ;) (expression_statement "piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);" (assignment_expression "piVar18 = (int *)**(undefined4 **)(param_1 + 0x30)" identifier = (cast_expression "(int *)**(undefined4 **)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(param_1 + 0x30)" * (pointer_expression "*(undefined4 **)(param_1 + 0x30)" * (cast_expression "(undefined4 **)(param_1 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))))) ;) (if_statement "if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }" if (parenthesized_expression "(piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1])" ( (binary_expression "piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]" identifier != (cast_expression "(int *)(*(undefined4 **)(param_1 + 0x30))[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(undefined4 **)(param_1 + 0x30))[1]" (parenthesized_expression "(*(undefined4 **)(param_1 + 0x30))" ( (pointer_expression "*(undefined4 **)(param_1 + 0x30)" * (cast_expression "(undefined4 **)(param_1 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) )) [ number_literal ]))) )) (compound_statement "{\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }" { (expression_statement "iVar27 = *(int *)(iVar25 + -0x5e94);" (assignment_expression "iVar27 = *(int *)(iVar25 + -0x5e94)" identifier = (pointer_expression "*(int *)(iVar25 + -0x5e94)" * (cast_expression "(int *)(iVar25 + -0x5e94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x5e94)" ( (binary_expression "iVar25 + -0x5e94" identifier + number_literal) ))))) ;) (expression_statement "unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;" (assignment_expression "unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50" identifier = (binary_expression "(Output_section_incremental_inputs<32,false> *)&local_50" (parenthesized_expression "(Output_section_incremental_inputs<32,false> *)" ( (comma_expression "Output_section_incremental_inputs<32,false> *" (binary_expression "Output_section_incremental_inputs<32" identifier < number_literal) , (binary_expression "false> *" false > (pointer_expression "*" * identifier))) )) & identifier)) ;) (do_statement "do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);" do (compound_statement "{\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        }" { (expression_statement "iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);" (assignment_expression "iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18)" identifier = (call_expression "(**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18)" (parenthesized_expression "(**(code **)(*(int *)*piVar18 + 8))" ( (pointer_expression "**(code **)(*(int *)*piVar18 + 8)" * (pointer_expression "*(code **)(*(int *)*piVar18 + 8)" * (cast_expression "(code **)(*(int *)*piVar18 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)*piVar18 + 8)" ( (binary_expression "*(int *)*piVar18 + 8" (pointer_expression "*(int *)*piVar18" * (cast_expression "(int *)*piVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier))) + number_literal) ))))) )) (argument_list "((int *)*piVar18)" ( (cast_expression "(int *)*piVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier)) )))) ;) (expression_statement "iVar5 = *(int *)*piVar18;" (assignment_expression "iVar5 = *(int *)*piVar18" identifier = (pointer_expression "*(int *)*piVar18" * (cast_expression "(int *)*piVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier)))) ;) (if_statement "if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }" if (parenthesized_expression "(iVar2 == 1)" ( (binary_expression "iVar2 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }" { (labeled_statement "LAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();" statement_identifier : (expression_statement "iVar2 = (**(code **)(iVar5 + 0x10))();" (assignment_expression "iVar2 = (**(code **)(iVar5 + 0x10))()" identifier = (call_expression "(**(code **)(iVar5 + 0x10))()" (parenthesized_expression "(**(code **)(iVar5 + 0x10))" ( (pointer_expression "**(code **)(iVar5 + 0x10)" * (pointer_expression "*(code **)(iVar5 + 0x10)" * (cast_expression "(code **)(iVar5 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (if_statement "if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }" { (expression_statement "uVar14 = 0x7bf;" (assignment_expression "uVar14 = 0x7bf" identifier = number_literal) ;) (goto_statement "goto LAB_0011bda0;" goto statement_identifier ;) })) (expression_statement "piVar11 = *(int **)(iVar2 + 0x24);" (assignment_expression "piVar11 = *(int **)(iVar2 + 0x24)" identifier = (pointer_expression "*(int **)(iVar2 + 0x24)" * (cast_expression "(int **)(iVar2 + 0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x24)" ( (binary_expression "iVar2 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = 0x7c1;" (assignment_expression "uVar14 = 0x7c1" identifier = number_literal) ;) (if_statement "if (piVar11 == (int *)0x0) goto LAB_0011bda0;" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011bda0;" goto statement_identifier ;)) (expression_statement "local_2c = *(undefined4 *)(*piVar18 + 8);" (assignment_expression "local_2c = *(undefined4 *)(*piVar18 + 8)" identifier = (pointer_expression "*(undefined4 *)(*piVar18 + 8)" * (cast_expression "(undefined4 *)(*piVar18 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar18 + 8)" ( (binary_expression "*piVar18 + 8" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) ;) (expression_statement "local_28 = iVar27 + 8;" (assignment_expression "local_28 = iVar27 + 8" identifier = (binary_expression "iVar27 + 8" identifier + number_literal)) ;) (expression_statement "local_24 = unaff_s4;" (assignment_expression "local_24 = unaff_s4" identifier = identifier) ;) (expression_statement "(**(code **)(*piVar11 + 0x34))(piVar11,&local_28);" (call_expression "(**(code **)(*piVar11 + 0x34))(piVar11,&local_28)" (parenthesized_expression "(**(code **)(*piVar11 + 0x34))" ( (pointer_expression "**(code **)(*piVar11 + 0x34)" * (pointer_expression "*(code **)(*piVar11 + 0x34)" * (cast_expression "(code **)(*piVar11 + 0x34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar11 + 0x34)" ( (binary_expression "*piVar11 + 0x34" (pointer_expression "*piVar11" * identifier) + number_literal) ))))) )) (argument_list "(piVar11,&local_28)" ( identifier , (pointer_expression "&local_28" & identifier) ))) ;) }) (else_clause "else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }" else (compound_statement "{\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }" { (expression_statement "iVar2 = (**(code **)(iVar5 + 8))();" (assignment_expression "iVar2 = (**(code **)(iVar5 + 8))()" identifier = (call_expression "(**(code **)(iVar5 + 8))()" (parenthesized_expression "(**(code **)(iVar5 + 8))" ( (pointer_expression "**(code **)(iVar5 + 8)" * (pointer_expression "*(code **)(iVar5 + 8)" * (cast_expression "(code **)(iVar5 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }" if (parenthesized_expression "(iVar2 == 2)" ( (binary_expression "iVar2 == 2" identifier == number_literal) )) (compound_statement "{\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }" { (expression_statement "iVar5 = *(int *)*piVar18;" (assignment_expression "iVar5 = *(int *)*piVar18" identifier = (pointer_expression "*(int *)*piVar18" * (cast_expression "(int *)*piVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier)))) ;) (goto_statement "goto LAB_0011bbf0;" goto statement_identifier ;) })) }))) (expression_statement "piVar18 = piVar18 + 1;" (assignment_expression "piVar18 = piVar18 + 1" identifier = (binary_expression "piVar18 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18)" ( (binary_expression "*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18" (pointer_expression "*(int **)(*(int *)(param_1 + 0x30) + 4)" * (cast_expression "(int **)(*(int *)(param_1 + 0x30) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1 + 0x30) + 4)" ( (binary_expression "*(int *)(param_1 + 0x30) + 4" (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) + number_literal) )))) != identifier) )) ;) })) (expression_statement "piVar18 = *(int **)(param_1 + 0x34);" (assignment_expression "piVar18 = *(int **)(param_1 + 0x34)" identifier = (pointer_expression "*(int **)(param_1 + 0x34)" * (cast_expression "(int **)(param_1 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "in_t1 = (int *)piVar18[0xc];" (assignment_expression "in_t1 = (int *)piVar18[0xc]" identifier = (cast_expression "(int *)piVar18[0xc]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0xc]" identifier [ number_literal ]))) ;) (expression_statement "uVar26 = local_30;" (assignment_expression "uVar26 = local_30" identifier = identifier) ;) (do_statement "do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );" do (compound_statement "{\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      }" { (if_statement "if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }" if (parenthesized_expression "(in_t1 == (int *)0x0)" ( (binary_expression "in_t1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return piVar18;\n        }" { (return_statement "return piVar18;" return identifier ;) })) (expression_statement "iVar2 = in_t1[3];" (assignment_expression "iVar2 = in_t1[3]" identifier = (subscript_expression "in_t1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = *(uint *)(iVar2 + 0x1c);" (assignment_expression "uVar15 = *(uint *)(iVar2 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = (uint *)(iVar2 + 0x1c);" (assignment_expression "puVar6 = (uint *)(iVar2 + 0x1c)" identifier = (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) ;) (expression_statement "local_30 = uVar26;" (assignment_expression "local_30 = uVar26" identifier = identifier) ;) (expression_statement "iVar27 = iVar25;" (assignment_expression "iVar27 = iVar25" identifier = identifier) ;) (if_statement "if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }" if (parenthesized_expression "((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0))" ( (binary_expression "(uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)" (parenthesized_expression "(uVar15 != 0xffffffff)" ( (binary_expression "uVar15 != 0xffffffff" identifier != number_literal) )) && (parenthesized_expression "(puVar6 != (uint *)0x0)" ( (binary_expression "puVar6 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }" { (expression_statement "local_30 = *(uint *)(iVar2 + 0x10);" (assignment_expression "local_30 = *(uint *)(iVar2 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (local_30 == 0) goto LAB_0011bdd4;" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0011bdd4;" goto statement_identifier ;)) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }" { (if_statement "if (local_34 == 0) {\n              trap(7);\n            }" if (parenthesized_expression "(local_34 == 0)" ( (binary_expression "local_34 == 0" identifier == number_literal) )) (compound_statement "{\n              trap(7);\n            }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar26 = puVar6[1] / local_34;" (assignment_expression "uVar26 = puVar6[1] / local_34" identifier = (binary_expression "puVar6[1] / local_34" (subscript_expression "puVar6[1]" identifier [ number_literal ]) / identifier)) ;) (expression_statement "uVar14 = 0x75d;" (assignment_expression "uVar14 = 0x75d" identifier = number_literal) ;) (if_statement "if (local_44 <= uVar26) goto LAB_0011bd7c;" if (parenthesized_expression "(local_44 <= uVar26)" ( (binary_expression "local_44 <= uVar26" identifier <= identifier) )) (goto_statement "goto LAB_0011bd7c;" goto statement_identifier ;)) (if_statement "if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }" if (parenthesized_expression "(0x7e < uVar15)" ( (binary_expression "0x7e < uVar15" number_literal < identifier) )) (compound_statement "{\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }" { (do_statement "do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );" do (compound_statement "{\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              }" { (expression_statement "uVar14 = 0x761;" (assignment_expression "uVar14 = 0x761" identifier = number_literal) ;) (labeled_statement "LAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);" statement_identifier : (expression_statement "(**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);" (call_expression "(**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4)" (parenthesized_expression "(**(code **)(iVar25 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar25 + -0x7e0c)" * (pointer_expression "*(code **)(iVar25 + -0x7e0c)" * (cast_expression "(code **)(iVar25 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + -0x7e0c)" ( (binary_expression "iVar25 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4)" ( (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x4fcc" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x36f4" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "*(char *)((int)local_50 + uVar26) = (char)uVar15;" (assignment_expression "*(char *)((int)local_50 + uVar26) = (char)uVar15" (pointer_expression "*(char *)((int)local_50 + uVar26)" * (cast_expression "(char *)((int)local_50 + uVar26)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_50 + uVar26)" ( (binary_expression "(int)local_50 + uVar26" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = (cast_expression "(char)uVar15" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "puVar6 = (uint *)puVar6[2];" (assignment_expression "puVar6 = (uint *)puVar6[2]" identifier = (cast_expression "(uint *)puVar6[2]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[2]" identifier [ number_literal ]))) ;) (expression_statement "piVar18 = (int *)(local_4c + uVar26 * 8);" (assignment_expression "piVar18 = (int *)(local_4c + uVar26 * 8)" identifier = (cast_expression "(int *)(local_4c + uVar26 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_4c + uVar26 * 8)" ( (binary_expression "local_4c + uVar26 * 8" identifier + (binary_expression "uVar26 * 8" identifier * number_literal)) )))) ;) (expression_statement "piVar18[1] = 0;" (assignment_expression "piVar18[1] = 0" (subscript_expression "piVar18[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar18" * identifier) = (binary_expression "(((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10)" ( (binary_expression "(local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10" (binary_expression "(local_30 >> 0x10) << 0x18" (parenthesized_expression "(local_30 >> 0x10)" ( (binary_expression "local_30 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(local_30 >> 0x18) << 0x10" (parenthesized_expression "(local_30 >> 0x18)" ( (binary_expression "local_30 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff)" ( (binary_expression "(local_30 & 0xff) << 8 | local_30 >> 8 & 0xff" (binary_expression "(local_30 & 0xff) << 8" (parenthesized_expression "(local_30 & 0xff)" ( (binary_expression "local_30 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "local_30 >> 8 & 0xff" (binary_expression "local_30 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (puVar6 == (uint *)0x0) break;" if (parenthesized_expression "(puVar6 == (uint *)0x0)" ( (binary_expression "puVar6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar15 = *puVar6;" (assignment_expression "uVar15 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) })) })) (expression_statement "piVar18 = *(int **)(iVar2 + 0x18);" (assignment_expression "piVar18 = *(int **)(iVar2 + 0x18)" identifier = (pointer_expression "*(int **)(iVar2 + 0x18)" * (cast_expression "(int **)(iVar2 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar26 = local_30;" (assignment_expression "uVar26 = local_30" identifier = identifier) ;) (if_statement "if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }" if (parenthesized_expression "(piVar18 != (int *)0xffffffff)" ( (binary_expression "piVar18 != (int *)0xffffffff" identifier != (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }" { (if_statement "if (local_38 == 0) {\n            trap(7);\n          }" if (parenthesized_expression "(local_38 == 0)" ( (binary_expression "local_38 == 0" identifier == number_literal) )) (compound_statement "{\n            trap(7);\n          }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar15 = (uint)((int)piVar18 - local_3c) / local_38;" (assignment_expression "uVar15 = (uint)((int)piVar18 - local_3c) / local_38" identifier = (binary_expression "(uint)((int)piVar18 - local_3c) / local_38" (call_expression "(uint)((int)piVar18 - local_3c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)piVar18 - local_3c)" ( (binary_expression "(int)piVar18 - local_3c" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) / identifier)) ;) (if_statement "if (local_40 <= uVar15) goto LAB_0011bdb8;" if (parenthesized_expression "(local_40 <= uVar15)" ( (binary_expression "local_40 <= uVar15" identifier <= identifier) )) (goto_statement "goto LAB_0011bdb8;" goto statement_identifier ;)) (expression_statement "uVar7 = *(uint *)(iVar2 + 0x10);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "piVar18 = (int *)(local_48 + uVar15 * 4);" (assignment_expression "piVar18 = (int *)(local_48 + uVar15 * 4)" identifier = (cast_expression "(int *)(local_48 + uVar15 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + uVar15 * 4)" ( (binary_expression "local_48 + uVar15 * 4" identifier + (binary_expression "uVar15 * 4" identifier * number_literal)) )))) ;) (if_statement "if (uVar7 == 0) goto LAB_0011bdd4;" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0011bdd4;" goto statement_identifier ;)) (expression_statement "*piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar18" * identifier) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) })) (expression_statement "in_t1 = (int *)*in_t1;" (assignment_expression "in_t1 = (int *)*in_t1" identifier = (cast_expression "(int *)*in_t1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*in_t1" * identifier))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (labeled_statement "LAB_0011bda0:\n    iVar27 = iVar25;" statement_identifier : (expression_statement "iVar27 = iVar25;" (assignment_expression "iVar27 = iVar25" identifier = identifier) ;)) (expression_statement "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8);" (call_expression "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8)" (parenthesized_expression "(**(code **)(iVar25 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar25 + -0x7e0c)" * (pointer_expression "*(code **)(iVar25 + -0x7e0c)" * (cast_expression "(code **)(iVar25 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + -0x7e0c)" ( (binary_expression "iVar25 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8)" ( (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x4fcc" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x36d8" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0011bdb8:\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec);" statement_identifier : (expression_statement "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec);" (call_expression "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec)" (parenthesized_expression "(**(code **)(iVar25 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar25 + -0x7e0c)" * (pointer_expression "*(code **)(iVar25 + -0x7e0c)" * (cast_expression "(code **)(iVar25 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + -0x7e0c)" ( (binary_expression "iVar25 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec)" ( (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x4fcc" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x36ec" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "uVar26 = local_30;" (assignment_expression "uVar26 = local_30" identifier = identifier) ;) (labeled_statement "LAB_0011bdd4:\n    local_30 = uVar26;" statement_identifier : (expression_statement "local_30 = uVar26;" (assignment_expression "local_30 = uVar26" identifier = identifier) ;)) (expression_statement "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4);" (call_expression "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4)" (parenthesized_expression "(**(code **)(iVar25 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar25 + -0x7e0c)" * (pointer_expression "*(code **)(iVar25 + -0x7e0c)" * (cast_expression "(code **)(iVar25 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + -0x7e0c)" ( (binary_expression "iVar25 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4)" ( (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x5bdc" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x34f4" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iVar2 = 0x73;" (assignment_expression "iVar2 = 0x73" identifier = number_literal) ;) (expression_statement "pcVar22 = *(code **)(iVar25 + -0x7e0c);" (assignment_expression "pcVar22 = *(code **)(iVar25 + -0x7e0c)" identifier = (pointer_expression "*(code **)(iVar25 + -0x7e0c)" * (cast_expression "(code **)(iVar25 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + -0x7e0c)" ( (binary_expression "iVar25 + -0x7e0c" identifier + number_literal) ))))) ;) (expression_statement "this = (Output_section_incremental_inputs<32,false> *)(*(int *)(iVar25 + -0x7e1c) + -0x5cec);" (assignment_expression "this = (Output_section_incremental_inputs<32,false> *)(*(int *)(iVar25 + -0x7e1c) + -0x5cec)" identifier = (call_expression "(Output_section_incremental_inputs<32,false> *)(*(int *)(iVar25 + -0x7e1c) + -0x5cec)" (parenthesized_expression "(Output_section_incremental_inputs<32,false> *)" ( (comma_expression "Output_section_incremental_inputs<32,false> *" (binary_expression "Output_section_incremental_inputs<32" identifier < number_literal) , (binary_expression "false> *" false > (pointer_expression "*" * identifier))) )) (argument_list "(*(int *)(iVar25 + -0x7e1c) + -0x5cec)" ( (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x5cec" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar22)(this,0x73,*(int *)(iVar25 + -0x7e1c) + -0x3514);" (call_expression "(*pcVar22)(this,0x73,*(int *)(iVar25 + -0x7e1c) + -0x3514)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(this,0x73,*(int *)(iVar25 + -0x7e1c) + -0x3514)" ( identifier , number_literal , (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x3514" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" * (cast_expression "(int *)(iVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + -0x7e1c)" ( (binary_expression "iVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar18 = *(int **)(this + 0x30);" (assignment_expression "piVar18 = *(int **)(this + 0x30)" identifier = (pointer_expression "*(int **)(this + 0x30)" * (cast_expression "(int **)(this + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x30)" ( (binary_expression "this + 0x30" identifier + number_literal) ))))) ;) (expression_statement "pSVar17 = (Stringpool_template *)piVar18[10];" (assignment_expression "pSVar17 = (Stringpool_template *)piVar18[10]" identifier = (cast_expression "(Stringpool_template *)piVar18[10]" ( (type_descriptor "Stringpool_template *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[10]" identifier [ number_literal ]))) ;) (if_statement "if (-1 < *(int *)(this + 0x20) << 2) goto LAB_0011c144;" if (parenthesized_expression "(-1 < *(int *)(this + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(this + 0x20) << 2" number_literal < (binary_expression "*(int *)(this + 0x20) << 2" (pointer_expression "*(int *)(this + 0x20)" * (cast_expression "(int *)(this + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x20)" ( (binary_expression "this + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_0011c144;" goto statement_identifier ;)) (if_statement "if (-1 < *(int *)(this + 0x20) << 1) goto LAB_0011c128;" if (parenthesized_expression "(-1 < *(int *)(this + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(this + 0x20) << 1" number_literal < (binary_expression "*(int *)(this + 0x20) << 1" (pointer_expression "*(int *)(this + 0x20)" * (cast_expression "(int *)(this + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x20)" ( (binary_expression "this + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_0011c128;" goto statement_identifier ;)) (expression_statement "iVar25 = *(int *)(this + 0x10);" (assignment_expression "iVar25 = *(int *)(this + 0x10)" identifier = (pointer_expression "*(int *)(this + 0x10)" * (cast_expression "(int *)(this + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar26 = *(uint *)(this + 0x14);" (assignment_expression "uVar26 = *(uint *)(this + 0x14)" identifier = (pointer_expression "*(uint *)(this + 0x14)" * (cast_expression "(uint *)(this + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(this + 0x18) < 0) {\nLAB_0011c118:\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n  }\n  else {\n    uVar15 = uVar26 + *(int *)(this + 0x1c);\n    iVar12 = *(int *)(iVar2 + 8);\n    iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18);\n    in_t1 = *(int **)(iVar2 + 0xc);\n    if ((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))) goto LAB_0011c118;\n    iVar5 = piVar18[0xe];\n    piVar11 = *(int **)(iVar2 + 0x10);\n    puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c));\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\n    if (-1 < *(int *)(iVar5 + 0x20) << 2) goto LAB_0011c144;\n    iVar16 = *(int *)(iVar5 + 0x1c);\n    if (-1 < *(int *)(iVar5 + 0x20) << 1) goto LAB_0011c128;\n    uVar15 = *(uint *)(iVar5 + 0x10);\n    uVar7 = *(uint *)(iVar5 + 0x14);\n    if (*(int *)(iVar5 + 0x18) < 0) goto LAB_0011c118;\n    iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18);\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n    if (iVar5 <= iVar12) {\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }\n  }" if (parenthesized_expression "(*(int *)(this + 0x18) < 0)" ( (binary_expression "*(int *)(this + 0x18) < 0" (pointer_expression "*(int *)(this + 0x18)" * (cast_expression "(int *)(this + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x18)" ( (binary_expression "this + 0x18" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\nLAB_0011c118:\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n  }" { (labeled_statement "LAB_0011c118:\n    iVar23 = *(int *)(pcVar22 + 0x318234);" statement_identifier : (expression_statement "iVar23 = *(int *)(pcVar22 + 0x318234);" (assignment_expression "iVar23 = *(int *)(pcVar22 + 0x318234)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x318234)" * (cast_expression "(int *)(pcVar22 + 0x318234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x318234)" ( (binary_expression "pcVar22 + 0x318234" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n    uVar15 = uVar26 + *(int *)(this + 0x1c);\n    iVar12 = *(int *)(iVar2 + 8);\n    iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18);\n    in_t1 = *(int **)(iVar2 + 0xc);\n    if ((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))) goto LAB_0011c118;\n    iVar5 = piVar18[0xe];\n    piVar11 = *(int **)(iVar2 + 0x10);\n    puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c));\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\n    if (-1 < *(int *)(iVar5 + 0x20) << 2) goto LAB_0011c144;\n    iVar16 = *(int *)(iVar5 + 0x1c);\n    if (-1 < *(int *)(iVar5 + 0x20) << 1) goto LAB_0011c128;\n    uVar15 = *(uint *)(iVar5 + 0x10);\n    uVar7 = *(uint *)(iVar5 + 0x14);\n    if (*(int *)(iVar5 + 0x18) < 0) goto LAB_0011c118;\n    iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18);\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n    if (iVar5 <= iVar12) {\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }\n  }" else (compound_statement "{\n    uVar15 = uVar26 + *(int *)(this + 0x1c);\n    iVar12 = *(int *)(iVar2 + 8);\n    iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18);\n    in_t1 = *(int **)(iVar2 + 0xc);\n    if ((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))) goto LAB_0011c118;\n    iVar5 = piVar18[0xe];\n    piVar11 = *(int **)(iVar2 + 0x10);\n    puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c));\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\n    if (-1 < *(int *)(iVar5 + 0x20) << 2) goto LAB_0011c144;\n    iVar16 = *(int *)(iVar5 + 0x1c);\n    if (-1 < *(int *)(iVar5 + 0x20) << 1) goto LAB_0011c128;\n    uVar15 = *(uint *)(iVar5 + 0x10);\n    uVar7 = *(uint *)(iVar5 + 0x14);\n    if (*(int *)(iVar5 + 0x18) < 0) goto LAB_0011c118;\n    iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18);\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n    if (iVar5 <= iVar12) {\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }\n  }" { (expression_statement "uVar15 = uVar26 + *(int *)(this + 0x1c);" (assignment_expression "uVar15 = uVar26 + *(int *)(this + 0x1c)" identifier = (binary_expression "uVar26 + *(int *)(this + 0x1c)" identifier + (pointer_expression "*(int *)(this + 0x1c)" * (cast_expression "(int *)(this + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1c)" ( (binary_expression "this + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar12 = *(int *)(iVar2 + 8);" (assignment_expression "iVar12 = *(int *)(iVar2 + 8)" identifier = (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18);" (assignment_expression "iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18)" identifier = (binary_expression "(uint)(uVar15 < uVar26) + *(int *)(this + 0x18)" (call_expression "(uint)(uVar15 < uVar26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar15 < uVar26)" ( (binary_expression "uVar15 < uVar26" identifier < identifier) ))) + (pointer_expression "*(int *)(this + 0x18)" * (cast_expression "(int *)(this + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x18)" ( (binary_expression "this + 0x18" identifier + number_literal) )))))) ;) (expression_statement "in_t1 = *(int **)(iVar2 + 0xc);" (assignment_expression "in_t1 = *(int **)(iVar2 + 0xc)" identifier = (pointer_expression "*(int **)(iVar2 + 0xc)" * (cast_expression "(int **)(iVar2 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))) goto LAB_0011c118;" if (parenthesized_expression "((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15))))" ( (binary_expression "(iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))" (parenthesized_expression "(iVar12 < iVar5)" ( (binary_expression "iVar12 < iVar5" identifier < identifier) )) || (parenthesized_expression "((iVar5 == iVar12 && (in_t1 < uVar15)))" ( (parenthesized_expression "(iVar5 == iVar12 && (in_t1 < uVar15))" ( (binary_expression "iVar5 == iVar12 && (in_t1 < uVar15)" (binary_expression "iVar5 == iVar12" identifier == identifier) && (parenthesized_expression "(in_t1 < uVar15)" ( (binary_expression "in_t1 < uVar15" identifier < identifier) ))) )) ))) )) (goto_statement "goto LAB_0011c118;" goto statement_identifier ;)) (expression_statement "iVar5 = piVar18[0xe];" (assignment_expression "iVar5 = piVar18[0xe]" identifier = (subscript_expression "piVar18[0xe]" identifier [ number_literal ])) ;) (expression_statement "piVar11 = *(int **)(iVar2 + 0x10);" (assignment_expression "piVar11 = *(int **)(iVar2 + 0x10)" identifier = (pointer_expression "*(int **)(iVar2 + 0x10)" * (cast_expression "(int **)(iVar2 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c));" (assignment_expression "puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c))" identifier = (cast_expression "(uchar *)((int)piVar11 + *(int *)(this + 0x1c))" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + *(int *)(this + 0x1c))" ( (binary_expression "(int)piVar11 + *(int *)(this + 0x1c)" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(this + 0x1c)" * (cast_expression "(int *)(this + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1c)" ( (binary_expression "this + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "unaff_s4 = this;" (assignment_expression "unaff_s4 = this" identifier = identifier) ;) (expression_statement "unaff_s6 = iVar2;" (assignment_expression "unaff_s6 = iVar2" identifier = identifier) ;) (if_statement "if (-1 < *(int *)(iVar5 + 0x20) << 2) goto LAB_0011c144;" if (parenthesized_expression "(-1 < *(int *)(iVar5 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(iVar5 + 0x20) << 2" number_literal < (binary_expression "*(int *)(iVar5 + 0x20) << 2" (pointer_expression "*(int *)(iVar5 + 0x20)" * (cast_expression "(int *)(iVar5 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x20)" ( (binary_expression "iVar5 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_0011c144;" goto statement_identifier ;)) (expression_statement "iVar16 = *(int *)(iVar5 + 0x1c);" (assignment_expression "iVar16 = *(int *)(iVar5 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x1c)" * (cast_expression "(int *)(iVar5 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x1c)" ( (binary_expression "iVar5 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar5 + 0x20) << 1) goto LAB_0011c128;" if (parenthesized_expression "(-1 < *(int *)(iVar5 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar5 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar5 + 0x20) << 1" (pointer_expression "*(int *)(iVar5 + 0x20)" * (cast_expression "(int *)(iVar5 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x20)" ( (binary_expression "iVar5 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_0011c128;" goto statement_identifier ;)) (expression_statement "uVar15 = *(uint *)(iVar5 + 0x10);" (assignment_expression "uVar15 = *(uint *)(iVar5 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)(iVar5 + 0x14);" (assignment_expression "uVar7 = *(uint *)(iVar5 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar5 + 0x14)" * (cast_expression "(uint *)(iVar5 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x14)" ( (binary_expression "iVar5 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar5 + 0x18) < 0) goto LAB_0011c118;" if (parenthesized_expression "(*(int *)(iVar5 + 0x18) < 0)" ( (binary_expression "*(int *)(iVar5 + 0x18) < 0" (pointer_expression "*(int *)(iVar5 + 0x18)" * (cast_expression "(int *)(iVar5 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x18)" ( (binary_expression "iVar5 + 0x18" identifier + number_literal) )))) < number_literal) )) (goto_statement "goto LAB_0011c118;" goto statement_identifier ;)) (expression_statement "iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18);" (assignment_expression "iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18)" identifier = (binary_expression "(uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18)" (call_expression "(uint)(uVar7 + iVar16 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 + iVar16 < uVar7)" ( (binary_expression "uVar7 + iVar16 < uVar7" (binary_expression "uVar7 + iVar16" identifier + identifier) < identifier) ))) + (pointer_expression "*(int *)(iVar5 + 0x18)" * (cast_expression "(int *)(iVar5 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x18)" ( (binary_expression "iVar5 + 0x18" identifier + number_literal) )))))) ;) (expression_statement "iVar23 = *(int *)(pcVar22 + 0x318234);" (assignment_expression "iVar23 = *(int *)(pcVar22 + 0x318234)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x318234)" * (cast_expression "(int *)(pcVar22 + 0x318234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x318234)" ( (binary_expression "pcVar22 + 0x318234" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 <= iVar12) {\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }" if (parenthesized_expression "(iVar5 <= iVar12)" ( (binary_expression "iVar5 <= iVar12" identifier <= identifier) )) (compound_statement "{\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }" { (expression_statement "uVar8 = (uint)(in_t1 < uVar7 + iVar16);" (assignment_expression "uVar8 = (uint)(in_t1 < uVar7 + iVar16)" identifier = (call_expression "(uint)(in_t1 < uVar7 + iVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t1 < uVar7 + iVar16)" ( (binary_expression "in_t1 < uVar7 + iVar16" identifier < (binary_expression "uVar7 + iVar16" identifier + identifier)) )))) ;) (expression_statement "piVar13 = (int *)0x0;" (assignment_expression "piVar13 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar5 == iVar12) goto LAB_0011c1b4;" if (parenthesized_expression "(iVar5 == iVar12)" ( (binary_expression "iVar5 == iVar12" identifier == identifier) )) (goto_statement "goto LAB_0011c1b4;" goto statement_identifier ;)) (labeled_statement "LAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);" statement_identifier : (expression_statement "uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);" (assignment_expression "uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10)" identifier = (pointer_expression "*(uint *)(*(int *)(this + 0x34) + 0x10)" * (cast_expression "(uint *)(*(int *)(this + 0x34) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(this + 0x34) + 0x10)" ( (binary_expression "*(int *)(this + 0x34) + 0x10" (pointer_expression "*(int *)(this + 0x34)" * (cast_expression "(int *)(this + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x34)" ( (binary_expression "this + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;)) (expression_statement "piVar11 = (int *)((int)piVar11 + iVar16);" (assignment_expression "piVar11 = (int *)((int)piVar11 + iVar16)" identifier = (cast_expression "(int *)((int)piVar11 + iVar16)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + iVar16)" ( (binary_expression "(int)piVar11 + iVar16" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }" if (parenthesized_expression "(uVar8 < 0x20000000)" ( (binary_expression "uVar8 < 0x20000000" identifier < number_literal) )) (compound_statement "{\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }" { (expression_statement "uVar21 = uVar8 << 2;" (assignment_expression "uVar21 = uVar8 << 2" identifier = (binary_expression "uVar8 << 2" identifier << number_literal)) ;) (expression_statement "puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);" (assignment_expression "puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21)" identifier = (cast_expression "(uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar22 + 0x3164d0))(uVar21)" (parenthesized_expression "(**(code **)(pcVar22 + 0x3164d0))" ( (pointer_expression "**(code **)(pcVar22 + 0x3164d0)" * (pointer_expression "*(code **)(pcVar22 + 0x3164d0)" * (cast_expression "(code **)(pcVar22 + 0x3164d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x3164d0)" ( (binary_expression "pcVar22 + 0x3164d0" identifier + number_literal) ))))) )) (argument_list "(uVar21)" ( identifier ))))) ;) (expression_statement "(**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);" (call_expression "(**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21)" (parenthesized_expression "(**(code **)(pcVar22 + 0x31aa44))" ( (pointer_expression "**(code **)(pcVar22 + 0x31aa44)" * (pointer_expression "*(code **)(pcVar22 + 0x31aa44)" * (cast_expression "(code **)(pcVar22 + 0x31aa44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x31aa44)" ( (binary_expression "pcVar22 + 0x31aa44" identifier + number_literal) ))))) )) (argument_list "(puVar6,0,uVar21)" ( identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = piVar18[1] - *piVar18 >> 2;" (assignment_expression "uVar3 = piVar18[1] - *piVar18 >> 2" identifier = (binary_expression "piVar18[1] - *piVar18 >> 2" (binary_expression "piVar18[1] - *piVar18" (subscript_expression "piVar18[1]" identifier [ number_literal ]) - (pointer_expression "*piVar18" * identifier)) >> number_literal)) ;) (if_statement "if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;" if (parenthesized_expression "(*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9])" ( (binary_expression "*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]" (pointer_expression "*(uint *)(pSVar17 + 0x28)" * (cast_expression "(uint *)(pSVar17 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar17 + 0x28)" ( (binary_expression "pSVar17 + 0x28" identifier + number_literal) )))) < (cast_expression "(uint)piVar18[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar18[9]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_0011c198;" goto statement_identifier ;)) (expression_statement "uVar9 = piVar18[9] - 1;" (assignment_expression "uVar9 = piVar18[9] - 1" identifier = (binary_expression "piVar18[9] - 1" (subscript_expression "piVar18[9]" identifier [ number_literal ]) - number_literal)) ;) (expression_statement "uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);" (assignment_expression "uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4)" identifier = (pointer_expression "*(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4)" * (cast_expression "(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4)" ( (binary_expression "*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4" (pointer_expression "*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc)" * (cast_expression "(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc)" ( (binary_expression "*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc" (pointer_expression "*(int *)(pSVar17 + 0x1c)" * (cast_expression "(int *)(pSVar17 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar17 + 0x1c)" ( (binary_expression "pSVar17 + 0x1c" identifier + number_literal) )))) + (binary_expression "(uVar9 >> 0xd) * 0xc" (parenthesized_expression "(uVar9 >> 0xd)" ( (binary_expression "uVar9 >> 0xd" identifier >> number_literal) )) * number_literal)) )))) + (binary_expression "(uVar9 & 0x1fff) * 4" (parenthesized_expression "(uVar9 & 0x1fff)" ( (binary_expression "uVar9 & 0x1fff" identifier & number_literal) )) * number_literal)) ))))) ;) (expression_statement "*(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar20 + 4)" * (cast_expression "(uint *)(puVar20 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 4)" ( (binary_expression "puVar20 + 4" identifier + number_literal) )))) = (binary_expression "(((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10)" ( (binary_expression "(uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10" (binary_expression "(uVar3 >> 0x10) << 0x18" (parenthesized_expression "(uVar3 >> 0x10)" ( (binary_expression "uVar3 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar3 >> 0x18) << 0x10" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff)" ( (binary_expression "(uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff" (binary_expression "(uVar3 & 0xff) << 8" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar3 >> 8 & 0xff" (binary_expression "uVar3 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar20[0] = '\x02';" (assignment_expression "puVar20[0] = '\x02'" (subscript_expression "puVar20[0]" identifier [ number_literal ]) = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "puVar20[1] = '\0';" (assignment_expression "puVar20[1] = '\0'" (subscript_expression "puVar20[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar20[2] = '\0';" (assignment_expression "puVar20[2] = '\0'" (subscript_expression "puVar20[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar20[3] = '\0';" (assignment_expression "puVar20[3] = '\0'" (subscript_expression "puVar20[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar20[0xc] = '\0';" (assignment_expression "puVar20[0xc] = '\0'" (subscript_expression "puVar20[0xc]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar20[0xd] = '\0';" (assignment_expression "puVar20[0xd] = '\0'" (subscript_expression "puVar20[0xd]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar20[0xe] = '\0';" (assignment_expression "puVar20[0xe] = '\0'" (subscript_expression "puVar20[0xe]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar20[0xf] = '\0';" (assignment_expression "puVar20[0xf] = '\0'" (subscript_expression "puVar20[0xf]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar20 + 8)" * (cast_expression "(uint *)(puVar20 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) )))) = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);" (assignment_expression "puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17)" identifier = (cast_expression "(uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "write_input_files(this,puVar20,puVar20 + 0x10,pSVar17)" identifier (argument_list "(this,puVar20,puVar20 + 0x10,pSVar17)" ( identifier , identifier , (binary_expression "puVar20 + 0x10" identifier + number_literal) , identifier ))))) ;) (expression_statement "iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);" (assignment_expression "iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8)" identifier = (call_expression "write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8)" identifier (argument_list "(this,puVar20,puVar4,pSVar17,puVar6,uVar8)" ( identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;" if (parenthesized_expression "(iVar5 - (int)puVar20 >> 0x1f != iVar25)" ( (binary_expression "iVar5 - (int)puVar20 >> 0x1f != iVar25" (binary_expression "iVar5 - (int)puVar20 >> 0x1f" (binary_expression "iVar5 - (int)puVar20" identifier - (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) != identifier) )) (goto_statement "goto LAB_0011c190;" goto statement_identifier ;)) (if_statement "if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;" if (parenthesized_expression "(iVar5 - (int)puVar20 != uVar26)" ( (binary_expression "iVar5 - (int)puVar20 != uVar26" (binary_expression "iVar5 - (int)puVar20" identifier - (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) != identifier) )) (goto_statement "goto LAB_0011c190;" goto statement_identifier ;)) (expression_statement "uVar14 = 0x59f;" (assignment_expression "uVar14 = 0x59f" identifier = number_literal) ;) (if_statement "if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;" if (parenthesized_expression "(uVar8 >> 0x1e != uVar15)" ( (binary_expression "uVar8 >> 0x1e != uVar15" (binary_expression "uVar8 >> 0x1e" identifier >> number_literal) != identifier) )) (goto_statement "goto LAB_0011c178;" goto statement_identifier ;)) (expression_statement "iVar25 = *(int *)(pcVar22 + 0x3165a8);" (assignment_expression "iVar25 = *(int *)(pcVar22 + 0x3165a8)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" * (cast_expression "(int *)(pcVar22 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3165a8)" ( (binary_expression "pcVar22 + 0x3165a8" identifier + number_literal) ))))) ;) (if_statement "if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }" if (parenthesized_expression "(uVar21 != uVar7)" ( (binary_expression "uVar21 != uVar7" identifier != identifier) )) (compound_statement "{\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }" { (do_statement "do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );" do (compound_statement "{\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          }" { (expression_statement "(**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);" (call_expression "(**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564)" (parenthesized_expression "(**(code **)(pcVar22 + 0x3165b8))" ( (pointer_expression "**(code **)(pcVar22 + 0x3165b8)" * (pointer_expression "*(code **)(pcVar22 + 0x3165b8)" * (cast_expression "(code **)(pcVar22 + 0x3165b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x3165b8)" ( (binary_expression "pcVar22 + 0x3165b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564)" ( (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x4fcc" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" * (cast_expression "(int *)(pcVar22 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3165a8)" ( (binary_expression "pcVar22 + 0x3165a8" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "iVar25 + -0x3564" identifier + number_literal) ))) ;) (labeled_statement "LAB_0011c190:\n            uVar14 = 0x59c;" statement_identifier : (expression_statement "uVar14 = 0x59c;" (assignment_expression "uVar14 = 0x59c" identifier = number_literal) ;)) (labeled_statement "LAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);" statement_identifier : (expression_statement "iVar25 = *(int *)(pcVar22 + 0x3165a8);" (assignment_expression "iVar25 = *(int *)(pcVar22 + 0x3165a8)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" * (cast_expression "(int *)(pcVar22 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3165a8)" ( (binary_expression "pcVar22 + 0x3165a8" identifier + number_literal) ))))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "piVar13 = (int *)((int)piVar11 + uVar7);" (assignment_expression "piVar13 = (int *)((int)piVar11 + uVar7)" identifier = (cast_expression "(int *)((int)piVar11 + uVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + uVar7)" ( (binary_expression "(int)piVar11 + uVar7" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "puVar10 = puVar6;" (assignment_expression "puVar10 = puVar6" identifier = identifier) ;) (if_statement "if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }" { (do_statement "do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);" do (compound_statement "{\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          }" { (expression_statement "uVar26 = *puVar10;" (assignment_expression "uVar26 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "piVar19 = piVar11 + 1;" (assignment_expression "piVar19 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) (expression_statement "*piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar11" * identifier) = (binary_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10)" ( (binary_expression "(uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10" (binary_expression "(uVar26 >> 0x10) << 0x18" (parenthesized_expression "(uVar26 >> 0x10)" ( (binary_expression "uVar26 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar26 >> 0x18) << 0x10" (parenthesized_expression "(uVar26 >> 0x18)" ( (binary_expression "uVar26 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff)" ( (binary_expression "(uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff" (binary_expression "(uVar26 & 0xff) << 8" (parenthesized_expression "(uVar26 & 0xff)" ( (binary_expression "uVar26 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar26 >> 8 & 0xff" (binary_expression "uVar26 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar10 = puVar10 + 1;" (assignment_expression "puVar10 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) (expression_statement "piVar11 = piVar19;" (assignment_expression "piVar11 = piVar19" identifier = identifier) ;) }) while (parenthesized_expression "(piVar19 != piVar13)" ( (binary_expression "piVar19 != piVar13" identifier != identifier) )) ;) })) (expression_statement "(**(code **)(pcVar22 + 0x3165d0))(puVar6);" (call_expression "(**(code **)(pcVar22 + 0x3165d0))(puVar6)" (parenthesized_expression "(**(code **)(pcVar22 + 0x3165d0))" ( (pointer_expression "**(code **)(pcVar22 + 0x3165d0)" * (pointer_expression "*(code **)(pcVar22 + 0x3165d0)" * (cast_expression "(code **)(pcVar22 + 0x3165d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x3165d0)" ( (binary_expression "pcVar22 + 0x3165d0" identifier + number_literal) ))))) )) (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "iVar25 = piVar18[0x10];" (assignment_expression "iVar25 = piVar18[0x10]" identifier = (subscript_expression "piVar18[0x10]" identifier [ number_literal ])) ;) (if_statement "if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;" if (parenthesized_expression "(-1 < *(int *)(iVar25 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(iVar25 + 0x20) << 2" number_literal < (binary_expression "*(int *)(iVar25 + 0x20) << 2" (pointer_expression "*(int *)(iVar25 + 0x20)" * (cast_expression "(int *)(iVar25 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x20)" ( (binary_expression "iVar25 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_0011c144;" goto statement_identifier ;)) (if_statement "if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;" if (parenthesized_expression "(-1 < *(int *)(iVar25 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar25 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar25 + 0x20) << 1" (pointer_expression "*(int *)(iVar25 + 0x20)" * (cast_expression "(int *)(iVar25 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x20)" ( (binary_expression "iVar25 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_0011c128;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;" if (parenthesized_expression "(*(int *)(iVar25 + 0x18) < 0)" ( (binary_expression "*(int *)(iVar25 + 0x18) < 0" (pointer_expression "*(int *)(iVar25 + 0x18)" * (cast_expression "(int *)(iVar25 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x18)" ( (binary_expression "iVar25 + 0x18" identifier + number_literal) )))) < number_literal) )) (goto_statement "goto LAB_0011c118;" goto statement_identifier ;)) (expression_statement "in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));" (assignment_expression "in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c))" identifier = (cast_expression "(int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c))" ( (binary_expression "*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c)" (pointer_expression "*(uint *)(iVar25 + 0x14)" * (cast_expression "(uint *)(iVar25 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x14)" ( (binary_expression "iVar25 + 0x14" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar25 + 0x1c)" * (cast_expression "(int *)(iVar25 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x1c)" ( (binary_expression "iVar25 + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);" (assignment_expression "iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18)" identifier = (binary_expression "(uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18)" (call_expression "(uint)(in_t1 < *(uint *)(iVar25 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t1 < *(uint *)(iVar25 + 0x14))" ( (binary_expression "in_t1 < *(uint *)(iVar25 + 0x14)" identifier < (pointer_expression "*(uint *)(iVar25 + 0x14)" * (cast_expression "(uint *)(iVar25 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x14)" ( (binary_expression "iVar25 + 0x14" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(iVar25 + 0x18)" * (cast_expression "(int *)(iVar25 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x18)" ( (binary_expression "iVar25 + 0x18" identifier + number_literal) )))))) ;) (expression_statement "iVar23 = *(int *)(pcVar22 + 0x318234);" (assignment_expression "iVar23 = *(int *)(pcVar22 + 0x318234)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x318234)" * (cast_expression "(int *)(pcVar22 + 0x318234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x318234)" ( (binary_expression "pcVar22 + 0x318234" identifier + number_literal) ))))) ;) (if_statement "if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }" if (parenthesized_expression "(iVar25 <= *(int *)(iVar2 + 8))" ( (binary_expression "iVar25 <= *(int *)(iVar2 + 8)" identifier <= (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }" { (if_statement "if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;" if (parenthesized_expression "(*(int *)(iVar2 + 8) == iVar25)" ( (binary_expression "*(int *)(iVar2 + 8) == iVar25" (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_0011c160;" goto statement_identifier ;)) (goto_statement "goto LAB_0011c0d0;" goto statement_identifier ;) })) (goto_statement "goto LAB_0011c11c;" goto statement_identifier ;) })) (expression_statement "pcVar22 = *(code **)(pcVar22 + 0x3164dc);" (assignment_expression "pcVar22 = *(code **)(pcVar22 + 0x3164dc)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x3164dc)" * (cast_expression "(code **)(pcVar22 + 0x3164dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x3164dc)" ( (binary_expression "pcVar22 + 0x3164dc" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar18 = (int *)0x0;" (assignment_expression "piVar18 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar26 = 7;" (assignment_expression "uVar26 = 7" identifier = number_literal) ;) (expression_statement "iVar27 = iVar12 + 1;" (assignment_expression "iVar27 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0011c20c;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0011c11c:\n  pcVar24 = (code *)(iVar23 + 0x2f54);" statement_identifier : (expression_statement "pcVar24 = (code *)(iVar23 + 0x2f54);" (assignment_expression "pcVar24 = (code *)(iVar23 + 0x2f54)" identifier = (cast_expression "(code *)(iVar23 + 0x2f54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x2f54)" ( (binary_expression "iVar23 + 0x2f54" identifier + number_literal) )))) ;)) (labeled_statement "LAB_0011c120:\n  while( true ) {\n    (*pcVar24)();\nLAB_0011c128:\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\nLAB_0011c144:\n    iVar2 = unaff_s6;\n    this = unaff_s4;\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc);\nLAB_0011c160:\n    in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);\n    if (in_t1 == (int *)0x0) break;\n    pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);\n  }" statement_identifier : (while_statement "while( true ) {\n    (*pcVar24)();\nLAB_0011c128:\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\nLAB_0011c144:\n    iVar2 = unaff_s6;\n    this = unaff_s4;\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc);\nLAB_0011c160:\n    in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);\n    if (in_t1 == (int *)0x0) break;\n    pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    (*pcVar24)();\nLAB_0011c128:\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\nLAB_0011c144:\n    iVar2 = unaff_s6;\n    this = unaff_s4;\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc);\nLAB_0011c160:\n    in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);\n    if (in_t1 == (int *)0x0) break;\n    pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);\n  }" { (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0011c128:\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);" statement_identifier : (expression_statement "(**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);" (call_expression "(**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8)" (parenthesized_expression "(**(code **)(pcVar22 + 0x3165b8))" ( (pointer_expression "**(code **)(pcVar22 + 0x3165b8)" * (pointer_expression "*(code **)(pcVar22 + 0x3165b8)" * (cast_expression "(code **)(pcVar22 + 0x3165b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x3165b8)" ( (binary_expression "pcVar22 + 0x3165b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8)" ( (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x4fe0" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" * (cast_expression "(int *)(pcVar22 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3165a8)" ( (binary_expression "pcVar22 + 0x3165a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x36c8" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" * (cast_expression "(int *)(pcVar22 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3165a8)" ( (binary_expression "pcVar22 + 0x3165a8" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "unaff_s4 = this;" (assignment_expression "unaff_s4 = this" identifier = identifier) ;) (expression_statement "unaff_s6 = iVar2;" (assignment_expression "unaff_s6 = iVar2" identifier = identifier) ;) (labeled_statement "LAB_0011c144:\n    iVar2 = unaff_s6;" statement_identifier : (expression_statement "iVar2 = unaff_s6;" (assignment_expression "iVar2 = unaff_s6" identifier = identifier) ;)) (expression_statement "this = unaff_s4;" (assignment_expression "this = unaff_s4" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc);" (call_expression "(**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc)" (parenthesized_expression "(**(code **)(pcVar22 + 0x3165b8))" ( (pointer_expression "**(code **)(pcVar22 + 0x3165b8)" * (pointer_expression "*(code **)(pcVar22 + 0x3165b8)" * (cast_expression "(code **)(pcVar22 + 0x3165b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x3165b8)" ( (binary_expression "pcVar22 + 0x3165b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc)" ( (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x4fe0" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" * (cast_expression "(int *)(pcVar22 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3165a8)" ( (binary_expression "pcVar22 + 0x3165a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x36bc" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" * (cast_expression "(int *)(pcVar22 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3165a8)" ( (binary_expression "pcVar22 + 0x3165a8" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0011c160:\n    in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);" statement_identifier : (expression_statement "in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);" (assignment_expression "in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1)" identifier = (cast_expression "(int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(uint *)(iVar2 + 0xc) < in_t1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(iVar2 + 0xc) < in_t1)" ( (binary_expression "*(uint *)(iVar2 + 0xc) < in_t1" (pointer_expression "*(uint *)(iVar2 + 0xc)" * (cast_expression "(uint *)(iVar2 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) < identifier) ))))) ;)) (if_statement "if (in_t1 == (int *)0x0) break;" if (parenthesized_expression "(in_t1 == (int *)0x0)" ( (binary_expression "in_t1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);" (assignment_expression "pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54)" identifier = (cast_expression "(code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x318234) + 0x2f54)" ( (binary_expression "*(int *)(pcVar22 + 0x318234) + 0x2f54" (pointer_expression "*(int *)(pcVar22 + 0x318234)" * (cast_expression "(int *)(pcVar22 + 0x318234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x318234)" ( (binary_expression "pcVar22 + 0x318234" identifier + number_literal) )))) + number_literal) )))) ;) }))) (labeled_statement "LAB_0011c0d0:\n  piVar18 = (int *)write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac));" statement_identifier : (expression_statement "piVar18 = (int *)write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac));" (assignment_expression "piVar18 = (int *)write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac))" identifier = (cast_expression "(int *)write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac))" identifier (argument_list "((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac))" ( (cast_expression "(uchar *)this" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (call_expression "CONCAT44(iVar27,in_stack_ffffffac)" identifier (argument_list "(iVar27,in_stack_ffffffac)" ( identifier , identifier ))) ))))) ;)) (return_statement "return piVar18;" return identifier ;) (labeled_statement "LAB_0011c198:\n  piVar13 = (int *)&DAT_00000108;" statement_identifier : (expression_statement "piVar13 = (int *)&DAT_00000108;" (assignment_expression "piVar13 = (int *)&DAT_00000108" identifier = (cast_expression "(int *)&DAT_00000108" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000108" & identifier))) ;)) (expression_statement "iVar16 = *(int *)(pcVar22 + 0x3165a8) + -0x3578;" (assignment_expression "iVar16 = *(int *)(pcVar22 + 0x3165a8) + -0x3578" identifier = (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x3578" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" * (cast_expression "(int *)(pcVar22 + 0x3165a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3165a8)" ( (binary_expression "pcVar22 + 0x3165a8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar12 = *(int *)(pcVar22 + 0x316400) + 0x46d4;" (assignment_expression "iVar12 = *(int *)(pcVar22 + 0x316400) + 0x46d4" identifier = (binary_expression "*(int *)(pcVar22 + 0x316400) + 0x46d4" (pointer_expression "*(int *)(pcVar22 + 0x316400)" * (cast_expression "(int *)(pcVar22 + 0x316400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x316400)" ( (binary_expression "pcVar22 + 0x316400" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar22 + 0x3165b8))();" (call_expression "(**(code **)(pcVar22 + 0x3165b8))()" (parenthesized_expression "(**(code **)(pcVar22 + 0x3165b8))" ( (pointer_expression "**(code **)(pcVar22 + 0x3165b8)" * (pointer_expression "*(code **)(pcVar22 + 0x3165b8)" * (cast_expression "(code **)(pcVar22 + 0x3165b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x3165b8)" ( (binary_expression "pcVar22 + 0x3165b8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar8 = extraout_v1;" (assignment_expression "uVar8 = extraout_v1" identifier = identifier) ;) (labeled_statement "LAB_0011c1b4:\n  if (uVar8 != 0) goto code_r0x0011c1bc;" statement_identifier : (if_statement "if (uVar8 != 0) goto code_r0x0011c1bc;" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x0011c1bc;" goto statement_identifier ;))) (goto_statement "goto LAB_0011bf00;" goto statement_identifier ;) (labeled_statement "code_r0x0011c1bc:\n  pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);" statement_identifier : (expression_statement "pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);" (assignment_expression "pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54)" identifier = (cast_expression "(code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x318234) + 0x2f54)" ( (binary_expression "*(int *)(pcVar22 + 0x318234) + 0x2f54" (pointer_expression "*(int *)(pcVar22 + 0x318234)" * (cast_expression "(int *)(pcVar22 + 0x318234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x318234)" ( (binary_expression "pcVar22 + 0x318234" identifier + number_literal) )))) + number_literal) )))) ;)) (goto_statement "goto LAB_0011c120;" goto statement_identifier ;) (while_statement "while (uVar26 != 0x4d) {\nLAB_0011c20c:\n    pbVar1 = (byte *)(iVar27 + -1);\n    iVar27 = iVar27 + 1;\n    uVar7 = *pbVar1 & 0x7f;\n    uVar15 = (uVar7 >> 1) >> (~uVar26 & 0x1f);\n    if ((uVar26 & 0x20) != 0) {\n      uVar15 = uVar7 << (uVar26 & 0x1f);\n    }\n    uVar26 = uVar26 + 7;\n    iVar25 = iVar27 - iVar12;\n    piVar18 = (int *)((uint)piVar18 | uVar15);\n    if (-1 < (char)*pbVar1) goto LAB_0011c27c;\n  }" while (parenthesized_expression "(uVar26 != 0x4d)" ( (binary_expression "uVar26 != 0x4d" identifier != number_literal) )) (compound_statement "{\nLAB_0011c20c:\n    pbVar1 = (byte *)(iVar27 + -1);\n    iVar27 = iVar27 + 1;\n    uVar7 = *pbVar1 & 0x7f;\n    uVar15 = (uVar7 >> 1) >> (~uVar26 & 0x1f);\n    if ((uVar26 & 0x20) != 0) {\n      uVar15 = uVar7 << (uVar26 & 0x1f);\n    }\n    uVar26 = uVar26 + 7;\n    iVar25 = iVar27 - iVar12;\n    piVar18 = (int *)((uint)piVar18 | uVar15);\n    if (-1 < (char)*pbVar1) goto LAB_0011c27c;\n  }" { (labeled_statement "LAB_0011c20c:\n    pbVar1 = (byte *)(iVar27 + -1);" statement_identifier : (expression_statement "pbVar1 = (byte *)(iVar27 + -1);" (assignment_expression "pbVar1 = (byte *)(iVar27 + -1)" identifier = (cast_expression "(byte *)(iVar27 + -1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + -1)" ( (binary_expression "iVar27 + -1" identifier + number_literal) )))) ;)) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = *pbVar1 & 0x7f;" (assignment_expression "uVar7 = *pbVar1 & 0x7f" identifier = (binary_expression "*pbVar1 & 0x7f" (pointer_expression "*pbVar1" * identifier) & number_literal)) ;) (expression_statement "uVar15 = (uVar7 >> 1) >> (~uVar26 & 0x1f);" (assignment_expression "uVar15 = (uVar7 >> 1) >> (~uVar26 & 0x1f)" identifier = (binary_expression "(uVar7 >> 1) >> (~uVar26 & 0x1f)" (parenthesized_expression "(uVar7 >> 1)" ( (binary_expression "uVar7 >> 1" identifier >> number_literal) )) >> (parenthesized_expression "(~uVar26 & 0x1f)" ( (binary_expression "~uVar26 & 0x1f" (unary_expression "~uVar26" ~ identifier) & number_literal) )))) ;) (if_statement "if ((uVar26 & 0x20) != 0) {\n      uVar15 = uVar7 << (uVar26 & 0x1f);\n    }" if (parenthesized_expression "((uVar26 & 0x20) != 0)" ( (binary_expression "(uVar26 & 0x20) != 0" (parenthesized_expression "(uVar26 & 0x20)" ( (binary_expression "uVar26 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar15 = uVar7 << (uVar26 & 0x1f);\n    }" { (expression_statement "uVar15 = uVar7 << (uVar26 & 0x1f);" (assignment_expression "uVar15 = uVar7 << (uVar26 & 0x1f)" identifier = (binary_expression "uVar7 << (uVar26 & 0x1f)" identifier << (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) )))) ;) })) (expression_statement "uVar26 = uVar26 + 7;" (assignment_expression "uVar26 = uVar26 + 7" identifier = (binary_expression "uVar26 + 7" identifier + number_literal)) ;) (expression_statement "iVar25 = iVar27 - iVar12;" (assignment_expression "iVar25 = iVar27 - iVar12" identifier = (binary_expression "iVar27 - iVar12" identifier - identifier)) ;) (expression_statement "piVar18 = (int *)((uint)piVar18 | uVar15);" (assignment_expression "piVar18 = (int *)((uint)piVar18 | uVar15)" identifier = (cast_expression "(int *)((uint)piVar18 | uVar15)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)piVar18 | uVar15)" ( (binary_expression "(uint)piVar18 | uVar15" (cast_expression "(uint)piVar18" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier) )))) ;) (if_statement "if (-1 < (char)*pbVar1) goto LAB_0011c27c;" if (parenthesized_expression "(-1 < (char)*pbVar1)" ( (binary_expression "-1 < (char)*pbVar1" number_literal < (cast_expression "(char)*pbVar1" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar1" * identifier))) )) (goto_statement "goto LAB_0011c27c;" goto statement_identifier ;)) })) (expression_statement "uVar14 = (**(code **)(pcVar22 + 0x31a648))(*(int *)(pcVar22 + 0x3161e4) + -0x2cdc);" (assignment_expression "uVar14 = (**(code **)(pcVar22 + 0x31a648))(*(int *)(pcVar22 + 0x3161e4) + -0x2cdc)" identifier = (call_expression "(**(code **)(pcVar22 + 0x31a648))(*(int *)(pcVar22 + 0x3161e4) + -0x2cdc)" (parenthesized_expression "(**(code **)(pcVar22 + 0x31a648))" ( (pointer_expression "**(code **)(pcVar22 + 0x31a648)" * (pointer_expression "*(code **)(pcVar22 + 0x31a648)" * (cast_expression "(code **)(pcVar22 + 0x31a648)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x31a648)" ( (binary_expression "pcVar22 + 0x31a648" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + 0x3161e4) + -0x2cdc)" ( (binary_expression "*(int *)(pcVar22 + 0x3161e4) + -0x2cdc" (pointer_expression "*(int *)(pcVar22 + 0x3161e4)" * (cast_expression "(int *)(pcVar22 + 0x3161e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x3161e4)" ( (binary_expression "pcVar22 + 0x3161e4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar22 + 0x31628c))(uVar14);" (call_expression "(**(code **)(pcVar22 + 0x31628c))(uVar14)" (parenthesized_expression "(**(code **)(pcVar22 + 0x31628c))" ( (pointer_expression "**(code **)(pcVar22 + 0x31628c)" * (pointer_expression "*(code **)(pcVar22 + 0x31628c)" * (cast_expression "(code **)(pcVar22 + 0x31628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x31628c)" ( (binary_expression "pcVar22 + 0x31628c" identifier + number_literal) ))))) )) (argument_list "(uVar14)" ( identifier ))) ;) (expression_statement "iVar25 = 0xb;" (assignment_expression "iVar25 = 0xb" identifier = number_literal) ;) (labeled_statement "LAB_0011c27c:\n  *piVar13 = iVar25;" statement_identifier : (expression_statement "*piVar13 = iVar25;" (assignment_expression "*piVar13 = iVar25" (pointer_expression "*piVar13" * identifier) = identifier) ;)) (return_statement "return piVar18;" return identifier ;) (ERROR "}" }))
(translation_unit (declaration TYPE (pointer_declarator * (ERROR IDENT : :) IDENT) (ERROR < LIT) , (ERROR IDENT > : : (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) { IDENT) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (update_expression (binary_expression (binary_expression IDENT < LIT) (ERROR , BOOL) > (pointer_expression * IDENT)) --) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (update_expression (binary_expression (binary_expression IDENT < LIT) (ERROR , BOOL) > (pointer_expression * IDENT)) --) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (update_expression (binary_expression (binary_expression IDENT < LIT) (ERROR , BOOL) > (pointer_expression * IDENT)) --) ;) (expression_statement (assignment_expression IDENT = 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) == (binary_expression IDENT + (binary_expression IDENT * LIT))) )) (compound_statement { (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 (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (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 != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (pointer_expression * IDENT))) )) & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != 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) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) / IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression 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) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) ))) / IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (pointer_expression * IDENT))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_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) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (binary_expression IDENT + IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (pointer_expression * IDENT)) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) )))) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) != IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , (binary_expression IDENT + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) )))) == IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;)) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (call_expression IDENT (argument_list ( IDENT , IDENT ))) ))))) ;)) (return_statement return IDENT ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;)) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) >> (parenthesized_expression ( (binary_expression (unary_expression ~ IDENT) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (return_statement return IDENT ;) (ERROR }))
(declaration "int * gold::Output_section_incremental_inputs<32,false>::write_got_plt\n                (uchar *param_1,longlong param_2)\n\n{\n  byte *pbVar1;" (primitive_type "int") (pointer_declarator "* gold::Output_section_incremental_inputs" (* "*") (ERROR "gold::" (identifier "gold") (: ":") (: ":")) (identifier "Output_section_incremental_inputs")) (ERROR "<32" (< "<") (number_literal "32")) (, ",") (ERROR "false>::write_got_plt\n                (uchar *param_1,longlong param_2)\n\n{\n  byte" (identifier "false") (> ">") (: ":") (: ":") (function_declarator "write_got_plt\n                (uchar *param_1,longlong param_2)" (identifier "write_got_plt") (parameter_list "(uchar *param_1,longlong param_2)" (( "(") (parameter_declaration "uchar *param_1" (type_identifier "uchar") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "longlong param_2" (type_identifier "longlong") (identifier "param_2")) () ")"))) ({ "{") (identifier "byte")) (pointer_declarator "*pbVar1" (* "*") (identifier "pbVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "uchar *puVar4;" (type_identifier "uchar") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "uint *puVar6;" (type_identifier "uint") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "uint *puVar10;" (type_identifier "uint") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "uint extraout_v1;" (type_identifier "uint") (identifier "extraout_v1") (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (expression_statement "Output_section_incremental_inputs<32,false> *this;" (update_expression "Output_section_incremental_inputs<32,false> *this" (binary_expression "Output_section_incremental_inputs<32,false> *this" (binary_expression "Output_section_incremental_inputs<32" (identifier "Output_section_incremental_inputs") (< "<") (number_literal "32")) (ERROR ",false" (, ",") (false "false")) (> ">") (pointer_expression "*this" (* "*") (identifier "this"))) (-- "")) (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "int *in_a1;" (primitive_type "int") (pointer_declarator "*in_a1" (* "*") (identifier "in_a1")) (; ";")) (declaration "undefined4 uVar14;" (type_identifier "undefined4") (identifier "uVar14") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "int in_a3;" (primitive_type "int") (identifier "in_a3") (; ";")) (declaration "int *in_t1;" (primitive_type "int") (pointer_declarator "*in_t1" (* "*") (identifier "in_t1")) (; ";")) (declaration "Stringpool_template *pSVar17;" (type_identifier "Stringpool_template") (pointer_declarator "*pSVar17" (* "*") (identifier "pSVar17")) (; ";")) (declaration "int *piVar18;" (primitive_type "int") (pointer_declarator "*piVar18" (* "*") (identifier "piVar18")) (; ";")) (declaration "int *piVar19;" (primitive_type "int") (pointer_declarator "*piVar19" (* "*") (identifier "piVar19")) (; ";")) (declaration "uchar *puVar20;" (type_identifier "uchar") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (expression_statement "Output_section_incremental_inputs<32,false> *unaff_s4;" (update_expression "Output_section_incremental_inputs<32,false> *unaff_s4" (binary_expression "Output_section_incremental_inputs<32,false> *unaff_s4" (binary_expression "Output_section_incremental_inputs<32" (identifier "Output_section_incremental_inputs") (< "<") (number_literal "32")) (ERROR ",false" (, ",") (false "false")) (> ">") (pointer_expression "*unaff_s4" (* "*") (identifier "unaff_s4"))) (-- "")) (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "int unaff_s6;" (primitive_type "int") (identifier "unaff_s6") (; ";")) (declaration "code *pcVar22;" (type_identifier "code") (pointer_declarator "*pcVar22" (* "*") (identifier "pcVar22")) (; ";")) (declaration "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "code *pcVar24;" (type_identifier "code") (pointer_declarator "*pcVar24" (* "*") (identifier "pcVar24")) (; ";")) (declaration "int iVar25;" (primitive_type "int") (identifier "iVar25") (; ";")) (declaration "uint uVar26;" (type_identifier "uint") (identifier "uVar26") (; ";")) (declaration "int iVar27;" (primitive_type "int") (identifier "iVar27") (; ";")) (declaration "undefined4 in_stack_ffffffac;" (type_identifier "undefined4") (identifier "in_stack_ffffffac") (; ";")) (declaration "int *local_50;" (primitive_type "int") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "int local_4c;" (primitive_type "int") (identifier "local_4c") (; ";")) (declaration "int local_48;" (primitive_type "int") (identifier "local_48") (; ";")) (declaration "uint local_44;" (type_identifier "uint") (identifier "local_44") (; ";")) (declaration "uint local_40;" (type_identifier "uint") (identifier "local_40") (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "uint local_38;" (type_identifier "uint") (identifier "local_38") (; ";")) (declaration "uint local_34;" (type_identifier "uint") (identifier "local_34") (; ";")) (declaration "uint local_30;" (type_identifier "uint") (identifier "local_30") (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "int local_28;" (primitive_type "int") (identifier "local_28") (; ";")) (expression_statement "Output_section_incremental_inputs<32,false> *local_24;" (update_expression "Output_section_incremental_inputs<32,false> *local_24" (binary_expression "Output_section_incremental_inputs<32,false> *local_24" (binary_expression "Output_section_incremental_inputs<32" (identifier "Output_section_incremental_inputs") (< "<") (number_literal "32")) (ERROR ",false" (, ",") (false "false")) (> ">") (pointer_expression "*local_24" (* "*") (identifier "local_24"))) (-- "")) (; ";")) (expression_statement "iVar25 = 0x43a1d0;" (assignment_expression "iVar25 = 0x43a1d0" (identifier "iVar25") (= "=") (number_literal "0x43a1d0")) (; ";")) (expression_statement "iVar27 = 0x43a1d0;" (assignment_expression "iVar27 = 0x43a1d0" (identifier "iVar27") (= "=") (number_literal "0x43a1d0")) (; ";")) (expression_statement "piVar18 = *(int **)(*(int *)PTR_parameters_00432be0 + 0xc);" (assignment_expression "piVar18 = *(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" (identifier "piVar18") (= "=") (pointer_expression "*(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" (* "*") (cast_expression "(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 0xc)" (( "(") (binary_expression "*(int *)PTR_parameters_00432be0 + 0xc" (pointer_expression "*(int *)PTR_parameters_00432be0" (* "*") (cast_expression "(int *)PTR_parameters_00432be0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_00432be0"))) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (piVar18 != (int *)0x0) {\n    local_44 = (**(code **)(*piVar18 + 0xcc))(piVar18);\n    local_40 = (**(code **)(*piVar18 + 0xd0))(piVar18);\n    local_3c = (**(code **)(*piVar18 + 0xd4))(piVar18);\n    local_38 = (**(code **)(*piVar18 + 0xd8))(piVar18);\n    if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {\n      local_34 = 4;\n      iVar25 = iVar27;\n    }\n    else {\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }\n    local_50 = in_a1 + 2;\n    local_4c = (int)local_50 + (local_44 + 3 & 0xfffffffc);\n    local_48 = local_4c + local_44 * 8;\n    uVar14 = 0x7ab;\n    if ((int)in_a1 + in_a3 == local_48 + local_40 * 4) {\n      pcVar22 = *(code **)(iVar25 + -0x3980);\n      in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;\n      *in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;\n      (*pcVar22)(local_50,0xff);\n      piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);\n      if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }\n      piVar18 = *(int **)(param_1 + 0x34);\n      in_t1 = (int *)piVar18[0xc];\n      uVar26 = local_30;\n      do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );\n    }\nLAB_0011bda0:\n    iVar27 = iVar25;\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8);\nLAB_0011bdb8:\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec);\n    uVar26 = local_30;\nLAB_0011bdd4:\n    local_30 = uVar26;\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4);\n  }" (if "if") (parenthesized_expression "(piVar18 != (int *)0x0)" (( "(") (binary_expression "piVar18 != (int *)0x0" (identifier "piVar18") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_44 = (**(code **)(*piVar18 + 0xcc))(piVar18);\n    local_40 = (**(code **)(*piVar18 + 0xd0))(piVar18);\n    local_3c = (**(code **)(*piVar18 + 0xd4))(piVar18);\n    local_38 = (**(code **)(*piVar18 + 0xd8))(piVar18);\n    if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {\n      local_34 = 4;\n      iVar25 = iVar27;\n    }\n    else {\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }\n    local_50 = in_a1 + 2;\n    local_4c = (int)local_50 + (local_44 + 3 & 0xfffffffc);\n    local_48 = local_4c + local_44 * 8;\n    uVar14 = 0x7ab;\n    if ((int)in_a1 + in_a3 == local_48 + local_40 * 4) {\n      pcVar22 = *(code **)(iVar25 + -0x3980);\n      in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;\n      *in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;\n      (*pcVar22)(local_50,0xff);\n      piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);\n      if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }\n      piVar18 = *(int **)(param_1 + 0x34);\n      in_t1 = (int *)piVar18[0xc];\n      uVar26 = local_30;\n      do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );\n    }\nLAB_0011bda0:\n    iVar27 = iVar25;\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8);\nLAB_0011bdb8:\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec);\n    uVar26 = local_30;\nLAB_0011bdd4:\n    local_30 = uVar26;\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4);\n  }" ({ "{") (expression_statement "local_44 = (**(code **)(*piVar18 + 0xcc))(piVar18);" (assignment_expression "local_44 = (**(code **)(*piVar18 + 0xcc))(piVar18)" (identifier "local_44") (= "=") (call_expression "(**(code **)(*piVar18 + 0xcc))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xcc))" (( "(") (pointer_expression "**(code **)(*piVar18 + 0xcc)" (* "*") (pointer_expression "*(code **)(*piVar18 + 0xcc)" (* "*") (cast_expression "(code **)(*piVar18 + 0xcc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar18 + 0xcc)" (( "(") (binary_expression "*piVar18 + 0xcc" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (+ "+") (number_literal "0xcc")) () ")"))))) () ")")) (argument_list "(piVar18)" (( "(") (identifier "piVar18") () ")")))) (; ";")) (expression_statement "local_40 = (**(code **)(*piVar18 + 0xd0))(piVar18);" (assignment_expression "local_40 = (**(code **)(*piVar18 + 0xd0))(piVar18)" (identifier "local_40") (= "=") (call_expression "(**(code **)(*piVar18 + 0xd0))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xd0))" (( "(") (pointer_expression "**(code **)(*piVar18 + 0xd0)" (* "*") (pointer_expression "*(code **)(*piVar18 + 0xd0)" (* "*") (cast_expression "(code **)(*piVar18 + 0xd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar18 + 0xd0)" (( "(") (binary_expression "*piVar18 + 0xd0" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (+ "+") (number_literal "0xd0")) () ")"))))) () ")")) (argument_list "(piVar18)" (( "(") (identifier "piVar18") () ")")))) (; ";")) (expression_statement "local_3c = (**(code **)(*piVar18 + 0xd4))(piVar18);" (assignment_expression "local_3c = (**(code **)(*piVar18 + 0xd4))(piVar18)" (identifier "local_3c") (= "=") (call_expression "(**(code **)(*piVar18 + 0xd4))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xd4))" (( "(") (pointer_expression "**(code **)(*piVar18 + 0xd4)" (* "*") (pointer_expression "*(code **)(*piVar18 + 0xd4)" (* "*") (cast_expression "(code **)(*piVar18 + 0xd4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar18 + 0xd4)" (( "(") (binary_expression "*piVar18 + 0xd4" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (+ "+") (number_literal "0xd4")) () ")"))))) () ")")) (argument_list "(piVar18)" (( "(") (identifier "piVar18") () ")")))) (; ";")) (expression_statement "local_38 = (**(code **)(*piVar18 + 0xd8))(piVar18);" (assignment_expression "local_38 = (**(code **)(*piVar18 + 0xd8))(piVar18)" (identifier "local_38") (= "=") (call_expression "(**(code **)(*piVar18 + 0xd8))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xd8))" (( "(") (pointer_expression "**(code **)(*piVar18 + 0xd8)" (* "*") (pointer_expression "*(code **)(*piVar18 + 0xd8)" (* "*") (cast_expression "(code **)(*piVar18 + 0xd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar18 + 0xd8)" (( "(") (binary_expression "*piVar18 + 0xd8" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (+ "+") (number_literal "0xd8")) () ")"))))) () ")")) (argument_list "(piVar18)" (( "(") (identifier "piVar18") () ")")))) (; ";")) (if_statement "if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {\n      local_34 = 4;\n      iVar25 = iVar27;\n    }\n    else {\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }" (if "if") (parenthesized_expression "(*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98))" (( "(") (binary_expression "*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)" (pointer_expression "*(code **)(*piVar18 + 0xdc)" (* "*") (cast_expression "(code **)(*piVar18 + 0xdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar18 + 0xdc)" (( "(") (binary_expression "*piVar18 + 0xdc" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (+ "+") (number_literal "0xdc")) () ")")))) (== "==") (pointer_expression "*(code **)(iVar27 + -0x5e98)" (* "*") (cast_expression "(code **)(iVar27 + -0x5e98)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar27 + -0x5e98)" (( "(") (binary_expression "iVar27 + -0x5e98" (identifier "iVar27") (+ "+") (number_literal "-0x5e98")) () ")"))))) () ")")) (compound_statement "{\n      local_34 = 4;\n      iVar25 = iVar27;\n    }" ({ "{") (expression_statement "local_34 = 4;" (assignment_expression "local_34 = 4" (identifier "local_34") (= "=") (number_literal "4")) (; ";")) (expression_statement "iVar25 = iVar27;" (assignment_expression "iVar25 = iVar27" (identifier "iVar25") (= "=") (identifier "iVar27")) (; ";")) (} "}")) (else_clause "else {\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }" (else "else") (compound_statement "{\n      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);\n      iVar25 = iVar27;\n    }" ({ "{") (expression_statement "local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);" (assignment_expression "local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18)" (identifier "local_34") (= "=") (call_expression "(**(code **)(*piVar18 + 0xdc))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0xdc))" (( "(") (pointer_expression "**(code **)(*piVar18 + 0xdc)" (* "*") (pointer_expression "*(code **)(*piVar18 + 0xdc)" (* "*") (cast_expression "(code **)(*piVar18 + 0xdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar18 + 0xdc)" (( "(") (binary_expression "*piVar18 + 0xdc" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (+ "+") (number_literal "0xdc")) () ")"))))) () ")")) (argument_list "(piVar18)" (( "(") (identifier "piVar18") () ")")))) (; ";")) (expression_statement "iVar25 = iVar27;" (assignment_expression "iVar25 = iVar27" (identifier "iVar25") (= "=") (identifier "iVar27")) (; ";")) (} "}")))) (expression_statement "local_50 = in_a1 + 2;" (assignment_expression "local_50 = in_a1 + 2" (identifier "local_50") (= "=") (binary_expression "in_a1 + 2" (identifier "in_a1") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_4c = (int)local_50 + (local_44 + 3 & 0xfffffffc);" (assignment_expression "local_4c = (int)local_50 + (local_44 + 3 & 0xfffffffc)" (identifier "local_4c") (= "=") (binary_expression "(int)local_50 + (local_44 + 3 & 0xfffffffc)" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (parenthesized_expression "(local_44 + 3 & 0xfffffffc)" (( "(") (binary_expression "local_44 + 3 & 0xfffffffc" (binary_expression "local_44 + 3" (identifier "local_44") (+ "+") (number_literal "3")) (& "&") (number_literal "0xfffffffc")) () ")")))) (; ";")) (expression_statement "local_48 = local_4c + local_44 * 8;" (assignment_expression "local_48 = local_4c + local_44 * 8" (identifier "local_48") (= "=") (binary_expression "local_4c + local_44 * 8" (identifier "local_4c") (+ "+") (binary_expression "local_44 * 8" (identifier "local_44") (* "*") (number_literal "8")))) (; ";")) (expression_statement "uVar14 = 0x7ab;" (assignment_expression "uVar14 = 0x7ab" (identifier "uVar14") (= "=") (number_literal "0x7ab")) (; ";")) (if_statement "if ((int)in_a1 + in_a3 == local_48 + local_40 * 4) {\n      pcVar22 = *(code **)(iVar25 + -0x3980);\n      in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;\n      *in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;\n      (*pcVar22)(local_50,0xff);\n      piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);\n      if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }\n      piVar18 = *(int **)(param_1 + 0x34);\n      in_t1 = (int *)piVar18[0xc];\n      uVar26 = local_30;\n      do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );\n    }" (if "if") (parenthesized_expression "((int)in_a1 + in_a3 == local_48 + local_40 * 4)" (( "(") (binary_expression "(int)in_a1 + in_a3 == local_48 + local_40 * 4" (binary_expression "(int)in_a1 + in_a3" (cast_expression "(int)in_a1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "in_a1")) (+ "+") (identifier "in_a3")) (== "==") (binary_expression "local_48 + local_40 * 4" (identifier "local_48") (+ "+") (binary_expression "local_40 * 4" (identifier "local_40") (* "*") (number_literal "4")))) () ")")) (compound_statement "{\n      pcVar22 = *(code **)(iVar25 + -0x3980);\n      in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;\n      *in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;\n      (*pcVar22)(local_50,0xff);\n      piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);\n      if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }\n      piVar18 = *(int **)(param_1 + 0x34);\n      in_t1 = (int *)piVar18[0xc];\n      uVar26 = local_30;\n      do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );\n    }" ({ "{") (expression_statement "pcVar22 = *(code **)(iVar25 + -0x3980);" (assignment_expression "pcVar22 = *(code **)(iVar25 + -0x3980)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(iVar25 + -0x3980)" (* "*") (cast_expression "(code **)(iVar25 + -0x3980)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar25 + -0x3980)" (( "(") (binary_expression "iVar25 + -0x3980" (identifier "iVar25") (+ "+") (number_literal "-0x3980")) () ")"))))) (; ";")) (expression_statement "in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;" (assignment_expression "in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000" (subscript_expression "in_a1[1]" (identifier "in_a1") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +\n                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10)" (( "(") (binary_expression "(local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10" (binary_expression "(local_40 >> 0x10) << 0x18" (parenthesized_expression "(local_40 >> 0x10)" (( "(") (binary_expression "local_40 >> 0x10" (identifier "local_40") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(local_40 >> 0x18) << 0x10" (parenthesized_expression "(local_40 >> 0x18)" (( "(") (binary_expression "local_40 >> 0x18" (identifier "local_40") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff)" (( "(") (binary_expression "(local_40 & 0xff) << 8 | local_40 >> 8 & 0xff" (binary_expression "(local_40 & 0xff) << 8" (parenthesized_expression "(local_40 & 0xff)" (( "(") (binary_expression "local_40 & 0xff" (identifier "local_40") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "local_40 >> 8 & 0xff" (binary_expression "local_40 >> 8" (identifier "local_40") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "*in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;" (assignment_expression "*in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000" (pointer_expression "*in_a1" (* "*") (identifier "in_a1")) (= "=") (binary_expression "(((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +\n               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10)" (( "(") (binary_expression "(local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10" (binary_expression "(local_44 >> 0x10) << 0x18" (parenthesized_expression "(local_44 >> 0x10)" (( "(") (binary_expression "local_44 >> 0x10" (identifier "local_44") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(local_44 >> 0x18) << 0x10" (parenthesized_expression "(local_44 >> 0x18)" (( "(") (binary_expression "local_44 >> 0x18" (identifier "local_44") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff)" (( "(") (binary_expression "(local_44 & 0xff) << 8 | local_44 >> 8 & 0xff" (binary_expression "(local_44 & 0xff) << 8" (parenthesized_expression "(local_44 & 0xff)" (( "(") (binary_expression "local_44 & 0xff" (identifier "local_44") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "local_44 >> 8 & 0xff" (binary_expression "local_44 >> 8" (identifier "local_44") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "(*pcVar22)(local_50,0xff);" (call_expression "(*pcVar22)(local_50,0xff)" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "(local_50,0xff)" (( "(") (identifier "local_50") (, ",") (number_literal "0xff") () ")"))) (; ";")) (expression_statement "piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);" (assignment_expression "piVar18 = (int *)**(undefined4 **)(param_1 + 0x30)" (identifier "piVar18") (= "=") (cast_expression "(int *)**(undefined4 **)(param_1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(param_1 + 0x30)" (* "*") (pointer_expression "*(undefined4 **)(param_1 + 0x30)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))))) (; ";")) (if_statement "if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }" (if "if") (parenthesized_expression "(piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1])" (( "(") (binary_expression "piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]" (identifier "piVar18") (!= "!=") (cast_expression "(int *)(*(undefined4 **)(param_1 + 0x30))[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "(*(undefined4 **)(param_1 + 0x30))[1]" (parenthesized_expression "(*(undefined4 **)(param_1 + 0x30))" (( "(") (pointer_expression "*(undefined4 **)(param_1 + 0x30)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) () ")")) ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n        iVar27 = *(int *)(iVar25 + -0x5e94);\n        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;\n        do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);\n      }" ({ "{") (expression_statement "iVar27 = *(int *)(iVar25 + -0x5e94);" (assignment_expression "iVar27 = *(int *)(iVar25 + -0x5e94)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(iVar25 + -0x5e94)" (* "*") (cast_expression "(int *)(iVar25 + -0x5e94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + -0x5e94)" (( "(") (binary_expression "iVar25 + -0x5e94" (identifier "iVar25") (+ "+") (number_literal "-0x5e94")) () ")"))))) (; ";")) (expression_statement "unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;" (assignment_expression "unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50" (identifier "unaff_s4") (= "=") (binary_expression "(Output_section_incremental_inputs<32,false> *)&local_50" (parenthesized_expression "(Output_section_incremental_inputs<32,false> *)" (( "(") (comma_expression "Output_section_incremental_inputs<32,false> *" (binary_expression "Output_section_incremental_inputs<32" (identifier "Output_section_incremental_inputs") (< "<") (number_literal "32")) (, ",") (binary_expression "false> *" (false "false") (> ">") (pointer_expression "*" (* "*") (identifier "")))) () ")")) (& "&") (identifier "local_50"))) (; ";")) (do_statement "do {\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);" (do "do") (compound_statement "{\n          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);\n          iVar5 = *(int *)*piVar18;\n          if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }\n          piVar18 = piVar18 + 1;\n        }" ({ "{") (expression_statement "iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);" (assignment_expression "iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18)" (parenthesized_expression "(**(code **)(*(int *)*piVar18 + 8))" (( "(") (pointer_expression "**(code **)(*(int *)*piVar18 + 8)" (* "*") (pointer_expression "*(code **)(*(int *)*piVar18 + 8)" (* "*") (cast_expression "(code **)(*(int *)*piVar18 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)*piVar18 + 8)" (( "(") (binary_expression "*(int *)*piVar18 + 8" (pointer_expression "*(int *)*piVar18" (* "*") (cast_expression "(int *)*piVar18" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar18" (* "*") (identifier "piVar18")))) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "((int *)*piVar18)" (( "(") (cast_expression "(int *)*piVar18" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) () ")")))) (; ";")) (expression_statement "iVar5 = *(int *)*piVar18;" (assignment_expression "iVar5 = *(int *)*piVar18" (identifier "iVar5") (= "=") (pointer_expression "*(int *)*piVar18" (* "*") (cast_expression "(int *)*piVar18" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))))) (; ";")) (if_statement "if (iVar2 == 1) {\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }\n          else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }" (if "if") (parenthesized_expression "(iVar2 == 1)" (( "(") (binary_expression "iVar2 == 1" (identifier "iVar2") (== "==") (number_literal "1")) () ")")) (compound_statement "{\nLAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();\n            if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }\n            piVar11 = *(int **)(iVar2 + 0x24);\n            uVar14 = 0x7c1;\n            if (piVar11 == (int *)0x0) goto LAB_0011bda0;\n            local_2c = *(undefined4 *)(*piVar18 + 8);\n            local_28 = iVar27 + 8;\n            local_24 = unaff_s4;\n            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);\n          }" ({ "{") (labeled_statement "LAB_0011bbf0:\n            iVar2 = (**(code **)(iVar5 + 0x10))();" (statement_identifier "LAB_0011bbf0") (: ":") (expression_statement "iVar2 = (**(code **)(iVar5 + 0x10))();" (assignment_expression "iVar2 = (**(code **)(iVar5 + 0x10))()" (identifier "iVar2") (= "=") (call_expression "(**(code **)(iVar5 + 0x10))()" (parenthesized_expression "(**(code **)(iVar5 + 0x10))" (( "(") (pointer_expression "**(code **)(iVar5 + 0x10)" (* "*") (pointer_expression "*(code **)(iVar5 + 0x10)" (* "*") (cast_expression "(code **)(iVar5 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x10)" (( "(") (binary_expression "iVar5 + 0x10" (identifier "iVar5") (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";"))) (if_statement "if (iVar2 == 0) {\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              uVar14 = 0x7bf;\n              goto LAB_0011bda0;\n            }" ({ "{") (expression_statement "uVar14 = 0x7bf;" (assignment_expression "uVar14 = 0x7bf" (identifier "uVar14") (= "=") (number_literal "0x7bf")) (; ";")) (goto_statement "goto LAB_0011bda0;" (goto "goto") (statement_identifier "LAB_0011bda0") (; ";")) (} "}"))) (expression_statement "piVar11 = *(int **)(iVar2 + 0x24);" (assignment_expression "piVar11 = *(int **)(iVar2 + 0x24)" (identifier "piVar11") (= "=") (pointer_expression "*(int **)(iVar2 + 0x24)" (* "*") (cast_expression "(int **)(iVar2 + 0x24)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x24)" (( "(") (binary_expression "iVar2 + 0x24" (identifier "iVar2") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "uVar14 = 0x7c1;" (assignment_expression "uVar14 = 0x7c1" (identifier "uVar14") (= "=") (number_literal "0x7c1")) (; ";")) (if_statement "if (piVar11 == (int *)0x0) goto LAB_0011bda0;" (if "if") (parenthesized_expression "(piVar11 == (int *)0x0)" (( "(") (binary_expression "piVar11 == (int *)0x0" (identifier "piVar11") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0011bda0;" (goto "goto") (statement_identifier "LAB_0011bda0") (; ";"))) (expression_statement "local_2c = *(undefined4 *)(*piVar18 + 8);" (assignment_expression "local_2c = *(undefined4 *)(*piVar18 + 8)" (identifier "local_2c") (= "=") (pointer_expression "*(undefined4 *)(*piVar18 + 8)" (* "*") (cast_expression "(undefined4 *)(*piVar18 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar18 + 8)" (( "(") (binary_expression "*piVar18 + 8" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "local_28 = iVar27 + 8;" (assignment_expression "local_28 = iVar27 + 8" (identifier "local_28") (= "=") (binary_expression "iVar27 + 8" (identifier "iVar27") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "local_24 = unaff_s4;" (assignment_expression "local_24 = unaff_s4" (identifier "local_24") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "(**(code **)(*piVar11 + 0x34))(piVar11,&local_28);" (call_expression "(**(code **)(*piVar11 + 0x34))(piVar11,&local_28)" (parenthesized_expression "(**(code **)(*piVar11 + 0x34))" (( "(") (pointer_expression "**(code **)(*piVar11 + 0x34)" (* "*") (pointer_expression "*(code **)(*piVar11 + 0x34)" (* "*") (cast_expression "(code **)(*piVar11 + 0x34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar11 + 0x34)" (( "(") (binary_expression "*piVar11 + 0x34" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (argument_list "(piVar11,&local_28)" (( "(") (identifier "piVar11") (, ",") (pointer_expression "&local_28" (& "&") (identifier "local_28")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }" (else "else") (compound_statement "{\n            iVar2 = (**(code **)(iVar5 + 8))();\n            if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }\n          }" ({ "{") (expression_statement "iVar2 = (**(code **)(iVar5 + 8))();" (assignment_expression "iVar2 = (**(code **)(iVar5 + 8))()" (identifier "iVar2") (= "=") (call_expression "(**(code **)(iVar5 + 8))()" (parenthesized_expression "(**(code **)(iVar5 + 8))" (( "(") (pointer_expression "**(code **)(iVar5 + 8)" (* "*") (pointer_expression "*(code **)(iVar5 + 8)" (* "*") (cast_expression "(code **)(iVar5 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar2 == 2) {\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }" (if "if") (parenthesized_expression "(iVar2 == 2)" (( "(") (binary_expression "iVar2 == 2" (identifier "iVar2") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              iVar5 = *(int *)*piVar18;\n              goto LAB_0011bbf0;\n            }" ({ "{") (expression_statement "iVar5 = *(int *)*piVar18;" (assignment_expression "iVar5 = *(int *)*piVar18" (identifier "iVar5") (= "=") (pointer_expression "*(int *)*piVar18" (* "*") (cast_expression "(int *)*piVar18" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))))) (; ";")) (goto_statement "goto LAB_0011bbf0;" (goto "goto") (statement_identifier "LAB_0011bbf0") (; ";")) (} "}"))) (} "}")))) (expression_statement "piVar18 = piVar18 + 1;" (assignment_expression "piVar18 = piVar18 + 1" (identifier "piVar18") (= "=") (binary_expression "piVar18 + 1" (identifier "piVar18") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18)" (( "(") (binary_expression "*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18" (pointer_expression "*(int **)(*(int *)(param_1 + 0x30) + 4)" (* "*") (cast_expression "(int **)(*(int *)(param_1 + 0x30) + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x30) + 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x30) + 4" (pointer_expression "*(int *)(param_1 + 0x30)" (* "*") (cast_expression "(int *)(param_1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (identifier "piVar18")) () ")")) (; ";")) (} "}"))) (expression_statement "piVar18 = *(int **)(param_1 + 0x34);" (assignment_expression "piVar18 = *(int **)(param_1 + 0x34)" (identifier "piVar18") (= "=") (pointer_expression "*(int **)(param_1 + 0x34)" (* "*") (cast_expression "(int **)(param_1 + 0x34)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "in_t1 = (int *)piVar18[0xc];" (assignment_expression "in_t1 = (int *)piVar18[0xc]" (identifier "in_t1") (= "=") (cast_expression "(int *)piVar18[0xc]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar18[0xc]" (identifier "piVar18") ([ "[") (number_literal "0xc") (] "]")))) (; ";")) (expression_statement "uVar26 = local_30;" (assignment_expression "uVar26 = local_30" (identifier "uVar26") (= "=") (identifier "local_30")) (; ";")) (do_statement "do {\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      } while( true );" (do "do") (compound_statement "{\n        if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }\n        iVar2 = in_t1[3];\n        uVar15 = *(uint *)(iVar2 + 0x1c);\n        puVar6 = (uint *)(iVar2 + 0x1c);\n        local_30 = uVar26;\n        iVar27 = iVar25;\n        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }\n        piVar18 = *(int **)(iVar2 + 0x18);\n        uVar26 = local_30;\n        if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        in_t1 = (int *)*in_t1;\n      }" ({ "{") (if_statement "if (in_t1 == (int *)0x0) {\n          return piVar18;\n        }" (if "if") (parenthesized_expression "(in_t1 == (int *)0x0)" (( "(") (binary_expression "in_t1 == (int *)0x0" (identifier "in_t1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          return piVar18;\n        }" ({ "{") (return_statement "return piVar18;" (return "return") (identifier "piVar18") (; ";")) (} "}"))) (expression_statement "iVar2 = in_t1[3];" (assignment_expression "iVar2 = in_t1[3]" (identifier "iVar2") (= "=") (subscript_expression "in_t1[3]" (identifier "in_t1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar15 = *(uint *)(iVar2 + 0x1c);" (assignment_expression "uVar15 = *(uint *)(iVar2 + 0x1c)" (identifier "uVar15") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "puVar6 = (uint *)(iVar2 + 0x1c);" (assignment_expression "puVar6 = (uint *)(iVar2 + 0x1c)" (identifier "puVar6") (= "=") (cast_expression "(uint *)(iVar2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")")))) (; ";")) (expression_statement "local_30 = uVar26;" (assignment_expression "local_30 = uVar26" (identifier "local_30") (= "=") (identifier "uVar26")) (; ";")) (expression_statement "iVar27 = iVar25;" (assignment_expression "iVar27 = iVar25" (identifier "iVar27") (= "=") (identifier "iVar25")) (; ";")) (if_statement "if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }" (if "if") (parenthesized_expression "((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0))" (( "(") (binary_expression "(uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)" (parenthesized_expression "(uVar15 != 0xffffffff)" (( "(") (binary_expression "uVar15 != 0xffffffff" (identifier "uVar15") (!= "!=") (number_literal "0xffffffff")) () ")")) (&& "&&") (parenthesized_expression "(puVar6 != (uint *)0x0)" (( "(") (binary_expression "puVar6 != (uint *)0x0" (identifier "puVar6") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n          local_30 = *(uint *)(iVar2 + 0x10);\n          if (local_30 == 0) goto LAB_0011bdd4;\n          local_2c = 0;\n          while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }\n        }" ({ "{") (expression_statement "local_30 = *(uint *)(iVar2 + 0x10);" (assignment_expression "local_30 = *(uint *)(iVar2 + 0x10)" (identifier "local_30") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x10)" (* "*") (cast_expression "(uint *)(iVar2 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (local_30 == 0) goto LAB_0011bdd4;" (if "if") (parenthesized_expression "(local_30 == 0)" (( "(") (binary_expression "local_30 == 0" (identifier "local_30") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011bdd4;" (goto "goto") (statement_identifier "LAB_0011bdd4") (; ";"))) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" (identifier "local_2c") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            if (local_34 == 0) {\n              trap(7);\n            }\n            uVar26 = puVar6[1] / local_34;\n            uVar14 = 0x75d;\n            if (local_44 <= uVar26) goto LAB_0011bd7c;\n            if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }\n            *(char *)((int)local_50 + uVar26) = (char)uVar15;\n            puVar6 = (uint *)puVar6[2];\n            piVar18 = (int *)(local_4c + uVar26 * 8);\n            piVar18[1] = 0;\n            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;\n            if (puVar6 == (uint *)0x0) break;\n            uVar15 = *puVar6;\n          }" ({ "{") (if_statement "if (local_34 == 0) {\n              trap(7);\n            }" (if "if") (parenthesized_expression "(local_34 == 0)" (( "(") (binary_expression "local_34 == 0" (identifier "local_34") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              trap(7);\n            }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar26 = puVar6[1] / local_34;" (assignment_expression "uVar26 = puVar6[1] / local_34" (identifier "uVar26") (= "=") (binary_expression "puVar6[1] / local_34" (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")) (/ "/") (identifier "local_34"))) (; ";")) (expression_statement "uVar14 = 0x75d;" (assignment_expression "uVar14 = 0x75d" (identifier "uVar14") (= "=") (number_literal "0x75d")) (; ";")) (if_statement "if (local_44 <= uVar26) goto LAB_0011bd7c;" (if "if") (parenthesized_expression "(local_44 <= uVar26)" (( "(") (binary_expression "local_44 <= uVar26" (identifier "local_44") (<= "<=") (identifier "uVar26")) () ")")) (goto_statement "goto LAB_0011bd7c;" (goto "goto") (statement_identifier "LAB_0011bd7c") (; ";"))) (if_statement "if (0x7e < uVar15) {\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }" (if "if") (parenthesized_expression "(0x7e < uVar15)" (( "(") (binary_expression "0x7e < uVar15" (number_literal "0x7e") (< "<") (identifier "uVar15")) () ")")) (compound_statement "{\n              do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );\n            }" ({ "{") (do_statement "do {\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              } while( true );" (do "do") (compound_statement "{\n                uVar14 = 0x761;\nLAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);\n              }" ({ "{") (expression_statement "uVar14 = 0x761;" (assignment_expression "uVar14 = 0x761" (identifier "uVar14") (= "=") (number_literal "0x761")) (; ";")) (labeled_statement "LAB_0011bd7c:\n                (**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);" (statement_identifier "LAB_0011bd7c") (: ":") (expression_statement "(**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);" (call_expression "(**(code **)(iVar25 + -0x7e0c))\n                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4)" (parenthesized_expression "(**(code **)(iVar25 + -0x7e0c))" (( "(") (pointer_expression "**(code **)(iVar25 + -0x7e0c)" (* "*") (pointer_expression "*(code **)(iVar25 + -0x7e0c)" (* "*") (cast_expression "(code **)(iVar25 + -0x7e0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar25 + -0x7e0c)" (( "(") (binary_expression "iVar25 + -0x7e0c" (identifier "iVar25") (+ "+") (number_literal "-0x7e0c")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,\n                           *(int *)(iVar25 + -0x7e1c) + -0x36f4)" (( "(") (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x4fcc" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" (* "*") (cast_expression "(int *)(iVar25 + -0x7e1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + -0x7e1c)" (( "(") (binary_expression "iVar25 + -0x7e1c" (identifier "iVar25") (+ "+") (number_literal "-0x7e1c")) () ")")))) (+ "+") (number_literal "-0x4fcc")) (, ",") (identifier "uVar14") (, ",") (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x36f4" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" (* "*") (cast_expression "(int *)(iVar25 + -0x7e1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + -0x7e1c)" (( "(") (binary_expression "iVar25 + -0x7e1c" (identifier "iVar25") (+ "+") (number_literal "-0x7e1c")) () ")")))) (+ "+") (number_literal "-0x36f4")) () ")"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "*(char *)((int)local_50 + uVar26) = (char)uVar15;" (assignment_expression "*(char *)((int)local_50 + uVar26) = (char)uVar15" (pointer_expression "*(char *)((int)local_50 + uVar26)" (* "*") (cast_expression "(char *)((int)local_50 + uVar26)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_50 + uVar26)" (( "(") (binary_expression "(int)local_50 + uVar26" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (identifier "uVar26")) () ")")))) (= "=") (cast_expression "(char)uVar15" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar15"))) (; ";")) (expression_statement "puVar6 = (uint *)puVar6[2];" (assignment_expression "puVar6 = (uint *)puVar6[2]" (identifier "puVar6") (= "=") (cast_expression "(uint *)puVar6[2]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar6[2]" (identifier "puVar6") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "piVar18 = (int *)(local_4c + uVar26 * 8);" (assignment_expression "piVar18 = (int *)(local_4c + uVar26 * 8)" (identifier "piVar18") (= "=") (cast_expression "(int *)(local_4c + uVar26 * 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_4c + uVar26 * 8)" (( "(") (binary_expression "local_4c + uVar26 * 8" (identifier "local_4c") (+ "+") (binary_expression "uVar26 * 8" (identifier "uVar26") (* "*") (number_literal "8"))) () ")")))) (; ";")) (expression_statement "piVar18[1] = 0;" (assignment_expression "piVar18[1] = 0" (subscript_expression "piVar18[1]" (identifier "piVar18") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (binary_expression "(((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +\n                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10)" (( "(") (binary_expression "(local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10" (binary_expression "(local_30 >> 0x10) << 0x18" (parenthesized_expression "(local_30 >> 0x10)" (( "(") (binary_expression "local_30 >> 0x10" (identifier "local_30") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(local_30 >> 0x18) << 0x10" (parenthesized_expression "(local_30 >> 0x18)" (( "(") (binary_expression "local_30 >> 0x18" (identifier "local_30") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff)" (( "(") (binary_expression "(local_30 & 0xff) << 8 | local_30 >> 8 & 0xff" (binary_expression "(local_30 & 0xff) << 8" (parenthesized_expression "(local_30 & 0xff)" (( "(") (binary_expression "local_30 & 0xff" (identifier "local_30") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "local_30 >> 8 & 0xff" (binary_expression "local_30 >> 8" (identifier "local_30") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (if_statement "if (puVar6 == (uint *)0x0) break;" (if "if") (parenthesized_expression "(puVar6 == (uint *)0x0)" (( "(") (binary_expression "puVar6 == (uint *)0x0" (identifier "puVar6") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar15 = *puVar6;" (assignment_expression "uVar15 = *puVar6" (identifier "uVar15") (= "=") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar18 = *(int **)(iVar2 + 0x18);" (assignment_expression "piVar18 = *(int **)(iVar2 + 0x18)" (identifier "piVar18") (= "=") (pointer_expression "*(int **)(iVar2 + 0x18)" (* "*") (cast_expression "(int **)(iVar2 + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x18)" (( "(") (binary_expression "iVar2 + 0x18" (identifier "iVar2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "uVar26 = local_30;" (assignment_expression "uVar26 = local_30" (identifier "uVar26") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (piVar18 != (int *)0xffffffff) {\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }" (if "if") (parenthesized_expression "(piVar18 != (int *)0xffffffff)" (( "(") (binary_expression "piVar18 != (int *)0xffffffff" (identifier "piVar18") (!= "!=") (cast_expression "(int *)0xffffffff" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n          if (local_38 == 0) {\n            trap(7);\n          }\n          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;\n          if (local_40 <= uVar15) goto LAB_0011bdb8;\n          uVar7 = *(uint *)(iVar2 + 0x10);\n          piVar18 = (int *)(local_48 + uVar15 * 4);\n          if (uVar7 == 0) goto LAB_0011bdd4;\n          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }" ({ "{") (if_statement "if (local_38 == 0) {\n            trap(7);\n          }" (if "if") (parenthesized_expression "(local_38 == 0)" (( "(") (binary_expression "local_38 == 0" (identifier "local_38") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            trap(7);\n          }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar15 = (uint)((int)piVar18 - local_3c) / local_38;" (assignment_expression "uVar15 = (uint)((int)piVar18 - local_3c) / local_38" (identifier "uVar15") (= "=") (binary_expression "(uint)((int)piVar18 - local_3c) / local_38" (call_expression "(uint)((int)piVar18 - local_3c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)piVar18 - local_3c)" (( "(") (binary_expression "(int)piVar18 - local_3c" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (- "-") (identifier "local_3c")) () ")"))) (/ "/") (identifier "local_38"))) (; ";")) (if_statement "if (local_40 <= uVar15) goto LAB_0011bdb8;" (if "if") (parenthesized_expression "(local_40 <= uVar15)" (( "(") (binary_expression "local_40 <= uVar15" (identifier "local_40") (<= "<=") (identifier "uVar15")) () ")")) (goto_statement "goto LAB_0011bdb8;" (goto "goto") (statement_identifier "LAB_0011bdb8") (; ";"))) (expression_statement "uVar7 = *(uint *)(iVar2 + 0x10);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0x10)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x10)" (* "*") (cast_expression "(uint *)(iVar2 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "piVar18 = (int *)(local_48 + uVar15 * 4);" (assignment_expression "piVar18 = (int *)(local_48 + uVar15 * 4)" (identifier "piVar18") (= "=") (cast_expression "(int *)(local_48 + uVar15 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_48 + uVar15 * 4)" (( "(") (binary_expression "local_48 + uVar15 * 4" (identifier "local_48") (+ "+") (binary_expression "uVar15 * 4" (identifier "uVar15") (* "*") (number_literal "4"))) () ")")))) (; ";")) (if_statement "if (uVar7 == 0) goto LAB_0011bdd4;" (if "if") (parenthesized_expression "(uVar7 == 0)" (( "(") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011bdd4;" (goto "goto") (statement_identifier "LAB_0011bdd4") (; ";"))) (expression_statement "*piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" (( "(") (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" (( "(") (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (} "}"))) (expression_statement "in_t1 = (int *)*in_t1;" (assignment_expression "in_t1 = (int *)*in_t1" (identifier "in_t1") (= "=") (cast_expression "(int *)*in_t1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*in_t1" (* "*") (identifier "in_t1")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0011bda0:\n    iVar27 = iVar25;" (statement_identifier "LAB_0011bda0") (: ":") (expression_statement "iVar27 = iVar25;" (assignment_expression "iVar27 = iVar25" (identifier "iVar27") (= "=") (identifier "iVar25")) (; ";"))) (expression_statement "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8);" (call_expression "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8)" (parenthesized_expression "(**(code **)(iVar25 + -0x7e0c))" (( "(") (pointer_expression "**(code **)(iVar25 + -0x7e0c)" (* "*") (pointer_expression "*(code **)(iVar25 + -0x7e0c)" (* "*") (cast_expression "(code **)(iVar25 + -0x7e0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar25 + -0x7e0c)" (( "(") (binary_expression "iVar25 + -0x7e0c" (identifier "iVar25") (+ "+") (number_literal "-0x7e0c")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8)" (( "(") (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x4fcc" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" (* "*") (cast_expression "(int *)(iVar25 + -0x7e1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + -0x7e1c)" (( "(") (binary_expression "iVar25 + -0x7e1c" (identifier "iVar25") (+ "+") (number_literal "-0x7e1c")) () ")")))) (+ "+") (number_literal "-0x4fcc")) (, ",") (identifier "uVar14") (, ",") (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x36d8" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" (* "*") (cast_expression "(int *)(iVar25 + -0x7e1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + -0x7e1c)" (( "(") (binary_expression "iVar25 + -0x7e1c" (identifier "iVar25") (+ "+") (number_literal "-0x7e1c")) () ")")))) (+ "+") (number_literal "-0x36d8")) () ")"))) (; ";")) (labeled_statement "LAB_0011bdb8:\n    (**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec);" (statement_identifier "LAB_0011bdb8") (: ":") (expression_statement "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec);" (call_expression "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec)" (parenthesized_expression "(**(code **)(iVar25 + -0x7e0c))" (( "(") (pointer_expression "**(code **)(iVar25 + -0x7e0c)" (* "*") (pointer_expression "*(code **)(iVar25 + -0x7e0c)" (* "*") (cast_expression "(code **)(iVar25 + -0x7e0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar25 + -0x7e0c)" (( "(") (binary_expression "iVar25 + -0x7e0c" (identifier "iVar25") (+ "+") (number_literal "-0x7e0c")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec)" (( "(") (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x4fcc" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" (* "*") (cast_expression "(int *)(iVar25 + -0x7e1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + -0x7e1c)" (( "(") (binary_expression "iVar25 + -0x7e1c" (identifier "iVar25") (+ "+") (number_literal "-0x7e1c")) () ")")))) (+ "+") (number_literal "-0x4fcc")) (, ",") (number_literal "0x789") (, ",") (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x36ec" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" (* "*") (cast_expression "(int *)(iVar25 + -0x7e1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + -0x7e1c)" (( "(") (binary_expression "iVar25 + -0x7e1c" (identifier "iVar25") (+ "+") (number_literal "-0x7e1c")) () ")")))) (+ "+") (number_literal "-0x36ec")) () ")"))) (; ";"))) (expression_statement "uVar26 = local_30;" (assignment_expression "uVar26 = local_30" (identifier "uVar26") (= "=") (identifier "local_30")) (; ";")) (labeled_statement "LAB_0011bdd4:\n    local_30 = uVar26;" (statement_identifier "LAB_0011bdd4") (: ":") (expression_statement "local_30 = uVar26;" (assignment_expression "local_30 = uVar26" (identifier "local_30") (= "=") (identifier "uVar26")) (; ";"))) (expression_statement "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4);" (call_expression "(**(code **)(iVar25 + -0x7e0c))\n              (*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4)" (parenthesized_expression "(**(code **)(iVar25 + -0x7e0c))" (( "(") (pointer_expression "**(code **)(iVar25 + -0x7e0c)" (* "*") (pointer_expression "*(code **)(iVar25 + -0x7e0c)" (* "*") (cast_expression "(code **)(iVar25 + -0x7e0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar25 + -0x7e0c)" (( "(") (binary_expression "iVar25 + -0x7e0c" (identifier "iVar25") (+ "+") (number_literal "-0x7e0c")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4)" (( "(") (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x5bdc" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" (* "*") (cast_expression "(int *)(iVar25 + -0x7e1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + -0x7e1c)" (( "(") (binary_expression "iVar25 + -0x7e1c" (identifier "iVar25") (+ "+") (number_literal "-0x7e1c")) () ")")))) (+ "+") (number_literal "-0x5bdc")) (, ",") (number_literal "0x180") (, ",") (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x34f4" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" (* "*") (cast_expression "(int *)(iVar25 + -0x7e1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + -0x7e1c)" (( "(") (binary_expression "iVar25 + -0x7e1c" (identifier "iVar25") (+ "+") (number_literal "-0x7e1c")) () ")")))) (+ "+") (number_literal "-0x34f4")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar2 = 0x73;" (assignment_expression "iVar2 = 0x73" (identifier "iVar2") (= "=") (number_literal "0x73")) (; ";")) (expression_statement "pcVar22 = *(code **)(iVar25 + -0x7e0c);" (assignment_expression "pcVar22 = *(code **)(iVar25 + -0x7e0c)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(iVar25 + -0x7e0c)" (* "*") (cast_expression "(code **)(iVar25 + -0x7e0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar25 + -0x7e0c)" (( "(") (binary_expression "iVar25 + -0x7e0c" (identifier "iVar25") (+ "+") (number_literal "-0x7e0c")) () ")"))))) (; ";")) (expression_statement "this = (Output_section_incremental_inputs<32,false> *)(*(int *)(iVar25 + -0x7e1c) + -0x5cec);" (assignment_expression "this = (Output_section_incremental_inputs<32,false> *)(*(int *)(iVar25 + -0x7e1c) + -0x5cec)" (identifier "this") (= "=") (call_expression "(Output_section_incremental_inputs<32,false> *)(*(int *)(iVar25 + -0x7e1c) + -0x5cec)" (parenthesized_expression "(Output_section_incremental_inputs<32,false> *)" (( "(") (comma_expression "Output_section_incremental_inputs<32,false> *" (binary_expression "Output_section_incremental_inputs<32" (identifier "Output_section_incremental_inputs") (< "<") (number_literal "32")) (, ",") (binary_expression "false> *" (false "false") (> ">") (pointer_expression "*" (* "*") (identifier "")))) () ")")) (argument_list "(*(int *)(iVar25 + -0x7e1c) + -0x5cec)" (( "(") (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x5cec" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" (* "*") (cast_expression "(int *)(iVar25 + -0x7e1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + -0x7e1c)" (( "(") (binary_expression "iVar25 + -0x7e1c" (identifier "iVar25") (+ "+") (number_literal "-0x7e1c")) () ")")))) (+ "+") (number_literal "-0x5cec")) () ")")))) (; ";")) (expression_statement "(*pcVar22)(this,0x73,*(int *)(iVar25 + -0x7e1c) + -0x3514);" (call_expression "(*pcVar22)(this,0x73,*(int *)(iVar25 + -0x7e1c) + -0x3514)" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "(this,0x73,*(int *)(iVar25 + -0x7e1c) + -0x3514)" (( "(") (identifier "this") (, ",") (number_literal "0x73") (, ",") (binary_expression "*(int *)(iVar25 + -0x7e1c) + -0x3514" (pointer_expression "*(int *)(iVar25 + -0x7e1c)" (* "*") (cast_expression "(int *)(iVar25 + -0x7e1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + -0x7e1c)" (( "(") (binary_expression "iVar25 + -0x7e1c" (identifier "iVar25") (+ "+") (number_literal "-0x7e1c")) () ")")))) (+ "+") (number_literal "-0x3514")) () ")"))) (; ";")) (expression_statement "piVar18 = *(int **)(this + 0x30);" (assignment_expression "piVar18 = *(int **)(this + 0x30)" (identifier "piVar18") (= "=") (pointer_expression "*(int **)(this + 0x30)" (* "*") (cast_expression "(int **)(this + 0x30)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x30)" (( "(") (binary_expression "this + 0x30" (identifier "this") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "pSVar17 = (Stringpool_template *)piVar18[10];" (assignment_expression "pSVar17 = (Stringpool_template *)piVar18[10]" (identifier "pSVar17") (= "=") (cast_expression "(Stringpool_template *)piVar18[10]" (( "(") (type_descriptor "Stringpool_template *" (type_identifier "Stringpool_template") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar18[10]" (identifier "piVar18") ([ "[") (number_literal "10") (] "]")))) (; ";")) (if_statement "if (-1 < *(int *)(this + 0x20) << 2) goto LAB_0011c144;" (if "if") (parenthesized_expression "(-1 < *(int *)(this + 0x20) << 2)" (( "(") (binary_expression "-1 < *(int *)(this + 0x20) << 2" (number_literal "-1") (< "<") (binary_expression "*(int *)(this + 0x20) << 2" (pointer_expression "*(int *)(this + 0x20)" (* "*") (cast_expression "(int *)(this + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x20)" (( "(") (binary_expression "this + 0x20" (identifier "this") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2"))) () ")")) (goto_statement "goto LAB_0011c144;" (goto "goto") (statement_identifier "LAB_0011c144") (; ";"))) (if_statement "if (-1 < *(int *)(this + 0x20) << 1) goto LAB_0011c128;" (if "if") (parenthesized_expression "(-1 < *(int *)(this + 0x20) << 1)" (( "(") (binary_expression "-1 < *(int *)(this + 0x20) << 1" (number_literal "-1") (< "<") (binary_expression "*(int *)(this + 0x20) << 1" (pointer_expression "*(int *)(this + 0x20)" (* "*") (cast_expression "(int *)(this + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x20)" (( "(") (binary_expression "this + 0x20" (identifier "this") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1"))) () ")")) (goto_statement "goto LAB_0011c128;" (goto "goto") (statement_identifier "LAB_0011c128") (; ";"))) (expression_statement "iVar25 = *(int *)(this + 0x10);" (assignment_expression "iVar25 = *(int *)(this + 0x10)" (identifier "iVar25") (= "=") (pointer_expression "*(int *)(this + 0x10)" (* "*") (cast_expression "(int *)(this + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x10)" (( "(") (binary_expression "this + 0x10" (identifier "this") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar26 = *(uint *)(this + 0x14);" (assignment_expression "uVar26 = *(uint *)(this + 0x14)" (identifier "uVar26") (= "=") (pointer_expression "*(uint *)(this + 0x14)" (* "*") (cast_expression "(uint *)(this + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x14)" (( "(") (binary_expression "this + 0x14" (identifier "this") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (*(int *)(this + 0x18) < 0) {\nLAB_0011c118:\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n  }\n  else {\n    uVar15 = uVar26 + *(int *)(this + 0x1c);\n    iVar12 = *(int *)(iVar2 + 8);\n    iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18);\n    in_t1 = *(int **)(iVar2 + 0xc);\n    if ((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))) goto LAB_0011c118;\n    iVar5 = piVar18[0xe];\n    piVar11 = *(int **)(iVar2 + 0x10);\n    puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c));\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\n    if (-1 < *(int *)(iVar5 + 0x20) << 2) goto LAB_0011c144;\n    iVar16 = *(int *)(iVar5 + 0x1c);\n    if (-1 < *(int *)(iVar5 + 0x20) << 1) goto LAB_0011c128;\n    uVar15 = *(uint *)(iVar5 + 0x10);\n    uVar7 = *(uint *)(iVar5 + 0x14);\n    if (*(int *)(iVar5 + 0x18) < 0) goto LAB_0011c118;\n    iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18);\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n    if (iVar5 <= iVar12) {\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(this + 0x18) < 0)" (( "(") (binary_expression "*(int *)(this + 0x18) < 0" (pointer_expression "*(int *)(this + 0x18)" (* "*") (cast_expression "(int *)(this + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x18)" (( "(") (binary_expression "this + 0x18" (identifier "this") (+ "+") (number_literal "0x18")) () ")")))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0011c118:\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n  }" ({ "{") (labeled_statement "LAB_0011c118:\n    iVar23 = *(int *)(pcVar22 + 0x318234);" (statement_identifier "LAB_0011c118") (: ":") (expression_statement "iVar23 = *(int *)(pcVar22 + 0x318234);" (assignment_expression "iVar23 = *(int *)(pcVar22 + 0x318234)" (identifier "iVar23") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x318234)" (* "*") (cast_expression "(int *)(pcVar22 + 0x318234)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x318234)" (( "(") (binary_expression "pcVar22 + 0x318234" (identifier "pcVar22") (+ "+") (number_literal "0x318234")) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n    uVar15 = uVar26 + *(int *)(this + 0x1c);\n    iVar12 = *(int *)(iVar2 + 8);\n    iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18);\n    in_t1 = *(int **)(iVar2 + 0xc);\n    if ((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))) goto LAB_0011c118;\n    iVar5 = piVar18[0xe];\n    piVar11 = *(int **)(iVar2 + 0x10);\n    puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c));\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\n    if (-1 < *(int *)(iVar5 + 0x20) << 2) goto LAB_0011c144;\n    iVar16 = *(int *)(iVar5 + 0x1c);\n    if (-1 < *(int *)(iVar5 + 0x20) << 1) goto LAB_0011c128;\n    uVar15 = *(uint *)(iVar5 + 0x10);\n    uVar7 = *(uint *)(iVar5 + 0x14);\n    if (*(int *)(iVar5 + 0x18) < 0) goto LAB_0011c118;\n    iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18);\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n    if (iVar5 <= iVar12) {\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }\n  }" (else "else") (compound_statement "{\n    uVar15 = uVar26 + *(int *)(this + 0x1c);\n    iVar12 = *(int *)(iVar2 + 8);\n    iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18);\n    in_t1 = *(int **)(iVar2 + 0xc);\n    if ((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))) goto LAB_0011c118;\n    iVar5 = piVar18[0xe];\n    piVar11 = *(int **)(iVar2 + 0x10);\n    puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c));\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\n    if (-1 < *(int *)(iVar5 + 0x20) << 2) goto LAB_0011c144;\n    iVar16 = *(int *)(iVar5 + 0x1c);\n    if (-1 < *(int *)(iVar5 + 0x20) << 1) goto LAB_0011c128;\n    uVar15 = *(uint *)(iVar5 + 0x10);\n    uVar7 = *(uint *)(iVar5 + 0x14);\n    if (*(int *)(iVar5 + 0x18) < 0) goto LAB_0011c118;\n    iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18);\n    iVar23 = *(int *)(pcVar22 + 0x318234);\n    if (iVar5 <= iVar12) {\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }\n  }" ({ "{") (expression_statement "uVar15 = uVar26 + *(int *)(this + 0x1c);" (assignment_expression "uVar15 = uVar26 + *(int *)(this + 0x1c)" (identifier "uVar15") (= "=") (binary_expression "uVar26 + *(int *)(this + 0x1c)" (identifier "uVar26") (+ "+") (pointer_expression "*(int *)(this + 0x1c)" (* "*") (cast_expression "(int *)(this + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x1c)" (( "(") (binary_expression "this + 0x1c" (identifier "this") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (expression_statement "iVar12 = *(int *)(iVar2 + 8);" (assignment_expression "iVar12 = *(int *)(iVar2 + 8)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar2 + 8)" (* "*") (cast_expression "(int *)(iVar2 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18);" (assignment_expression "iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18)" (identifier "iVar5") (= "=") (binary_expression "(uint)(uVar15 < uVar26) + *(int *)(this + 0x18)" (call_expression "(uint)(uVar15 < uVar26)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar15 < uVar26)" (( "(") (binary_expression "uVar15 < uVar26" (identifier "uVar15") (< "<") (identifier "uVar26")) () ")"))) (+ "+") (pointer_expression "*(int *)(this + 0x18)" (* "*") (cast_expression "(int *)(this + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x18)" (( "(") (binary_expression "this + 0x18" (identifier "this") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (expression_statement "in_t1 = *(int **)(iVar2 + 0xc);" (assignment_expression "in_t1 = *(int **)(iVar2 + 0xc)" (identifier "in_t1") (= "=") (pointer_expression "*(int **)(iVar2 + 0xc)" (* "*") (cast_expression "(int **)(iVar2 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0xc)" (( "(") (binary_expression "iVar2 + 0xc" (identifier "iVar2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if ((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))) goto LAB_0011c118;" (if "if") (parenthesized_expression "((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15))))" (( "(") (binary_expression "(iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))" (parenthesized_expression "(iVar12 < iVar5)" (( "(") (binary_expression "iVar12 < iVar5" (identifier "iVar12") (< "<") (identifier "iVar5")) () ")")) (|| "||") (parenthesized_expression "((iVar5 == iVar12 && (in_t1 < uVar15)))" (( "(") (parenthesized_expression "(iVar5 == iVar12 && (in_t1 < uVar15))" (( "(") (binary_expression "iVar5 == iVar12 && (in_t1 < uVar15)" (binary_expression "iVar5 == iVar12" (identifier "iVar5") (== "==") (identifier "iVar12")) (&& "&&") (parenthesized_expression "(in_t1 < uVar15)" (( "(") (binary_expression "in_t1 < uVar15" (identifier "in_t1") (< "<") (identifier "uVar15")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0011c118;" (goto "goto") (statement_identifier "LAB_0011c118") (; ";"))) (expression_statement "iVar5 = piVar18[0xe];" (assignment_expression "iVar5 = piVar18[0xe]" (identifier "iVar5") (= "=") (subscript_expression "piVar18[0xe]" (identifier "piVar18") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "piVar11 = *(int **)(iVar2 + 0x10);" (assignment_expression "piVar11 = *(int **)(iVar2 + 0x10)" (identifier "piVar11") (= "=") (pointer_expression "*(int **)(iVar2 + 0x10)" (* "*") (cast_expression "(int **)(iVar2 + 0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c));" (assignment_expression "puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c))" (identifier "puVar20") (= "=") (cast_expression "(uchar *)((int)piVar11 + *(int *)(this + 0x1c))" (( "(") (type_descriptor "uchar *" (type_identifier "uchar") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + *(int *)(this + 0x1c))" (( "(") (binary_expression "(int)piVar11 + *(int *)(this + 0x1c)" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (pointer_expression "*(int *)(this + 0x1c)" (* "*") (cast_expression "(int *)(this + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x1c)" (( "(") (binary_expression "this + 0x1c" (identifier "this") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")))) (; ";")) (expression_statement "unaff_s4 = this;" (assignment_expression "unaff_s4 = this" (identifier "unaff_s4") (= "=") (identifier "this")) (; ";")) (expression_statement "unaff_s6 = iVar2;" (assignment_expression "unaff_s6 = iVar2" (identifier "unaff_s6") (= "=") (identifier "iVar2")) (; ";")) (if_statement "if (-1 < *(int *)(iVar5 + 0x20) << 2) goto LAB_0011c144;" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar5 + 0x20) << 2)" (( "(") (binary_expression "-1 < *(int *)(iVar5 + 0x20) << 2" (number_literal "-1") (< "<") (binary_expression "*(int *)(iVar5 + 0x20) << 2" (pointer_expression "*(int *)(iVar5 + 0x20)" (* "*") (cast_expression "(int *)(iVar5 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x20)" (( "(") (binary_expression "iVar5 + 0x20" (identifier "iVar5") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2"))) () ")")) (goto_statement "goto LAB_0011c144;" (goto "goto") (statement_identifier "LAB_0011c144") (; ";"))) (expression_statement "iVar16 = *(int *)(iVar5 + 0x1c);" (assignment_expression "iVar16 = *(int *)(iVar5 + 0x1c)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar5 + 0x1c)" (* "*") (cast_expression "(int *)(iVar5 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x1c)" (( "(") (binary_expression "iVar5 + 0x1c" (identifier "iVar5") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (-1 < *(int *)(iVar5 + 0x20) << 1) goto LAB_0011c128;" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar5 + 0x20) << 1)" (( "(") (binary_expression "-1 < *(int *)(iVar5 + 0x20) << 1" (number_literal "-1") (< "<") (binary_expression "*(int *)(iVar5 + 0x20) << 1" (pointer_expression "*(int *)(iVar5 + 0x20)" (* "*") (cast_expression "(int *)(iVar5 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x20)" (( "(") (binary_expression "iVar5 + 0x20" (identifier "iVar5") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1"))) () ")")) (goto_statement "goto LAB_0011c128;" (goto "goto") (statement_identifier "LAB_0011c128") (; ";"))) (expression_statement "uVar15 = *(uint *)(iVar5 + 0x10);" (assignment_expression "uVar15 = *(uint *)(iVar5 + 0x10)" (identifier "uVar15") (= "=") (pointer_expression "*(uint *)(iVar5 + 0x10)" (* "*") (cast_expression "(uint *)(iVar5 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x10)" (( "(") (binary_expression "iVar5 + 0x10" (identifier "iVar5") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(uint *)(iVar5 + 0x14);" (assignment_expression "uVar7 = *(uint *)(iVar5 + 0x14)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar5 + 0x14)" (* "*") (cast_expression "(uint *)(iVar5 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x14)" (( "(") (binary_expression "iVar5 + 0x14" (identifier "iVar5") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar5 + 0x18) < 0) goto LAB_0011c118;" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x18) < 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x18) < 0" (pointer_expression "*(int *)(iVar5 + 0x18)" (* "*") (cast_expression "(int *)(iVar5 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x18)" (( "(") (binary_expression "iVar5 + 0x18" (identifier "iVar5") (+ "+") (number_literal "0x18")) () ")")))) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011c118;" (goto "goto") (statement_identifier "LAB_0011c118") (; ";"))) (expression_statement "iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18);" (assignment_expression "iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18)" (identifier "iVar5") (= "=") (binary_expression "(uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18)" (call_expression "(uint)(uVar7 + iVar16 < uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 + iVar16 < uVar7)" (( "(") (binary_expression "uVar7 + iVar16 < uVar7" (binary_expression "uVar7 + iVar16" (identifier "uVar7") (+ "+") (identifier "iVar16")) (< "<") (identifier "uVar7")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar5 + 0x18)" (* "*") (cast_expression "(int *)(iVar5 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x18)" (( "(") (binary_expression "iVar5 + 0x18" (identifier "iVar5") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (expression_statement "iVar23 = *(int *)(pcVar22 + 0x318234);" (assignment_expression "iVar23 = *(int *)(pcVar22 + 0x318234)" (identifier "iVar23") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x318234)" (* "*") (cast_expression "(int *)(pcVar22 + 0x318234)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x318234)" (( "(") (binary_expression "pcVar22 + 0x318234" (identifier "pcVar22") (+ "+") (number_literal "0x318234")) () ")"))))) (; ";")) (if_statement "if (iVar5 <= iVar12) {\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }" (if "if") (parenthesized_expression "(iVar5 <= iVar12)" (( "(") (binary_expression "iVar5 <= iVar12" (identifier "iVar5") (<= "<=") (identifier "iVar12")) () ")")) (compound_statement "{\n      uVar8 = (uint)(in_t1 < uVar7 + iVar16);\n      piVar13 = (int *)0x0;\n      if (iVar5 == iVar12) goto LAB_0011c1b4;\nLAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);\n      piVar11 = (int *)((int)piVar11 + iVar16);\n      if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }\n      pcVar22 = *(code **)(pcVar22 + 0x3164dc);\n      (*pcVar22)();\n      piVar18 = (int *)0x0;\n      uVar26 = 7;\n      iVar27 = iVar12 + 1;\n      goto LAB_0011c20c;\n    }" ({ "{") (expression_statement "uVar8 = (uint)(in_t1 < uVar7 + iVar16);" (assignment_expression "uVar8 = (uint)(in_t1 < uVar7 + iVar16)" (identifier "uVar8") (= "=") (call_expression "(uint)(in_t1 < uVar7 + iVar16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(in_t1 < uVar7 + iVar16)" (( "(") (binary_expression "in_t1 < uVar7 + iVar16" (identifier "in_t1") (< "<") (binary_expression "uVar7 + iVar16" (identifier "uVar7") (+ "+") (identifier "iVar16"))) () ")")))) (; ";")) (expression_statement "piVar13 = (int *)0x0;" (assignment_expression "piVar13 = (int *)0x0" (identifier "piVar13") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (iVar5 == iVar12) goto LAB_0011c1b4;" (if "if") (parenthesized_expression "(iVar5 == iVar12)" (( "(") (binary_expression "iVar5 == iVar12" (identifier "iVar5") (== "==") (identifier "iVar12")) () ")")) (goto_statement "goto LAB_0011c1b4;" (goto "goto") (statement_identifier "LAB_0011c1b4") (; ";"))) (labeled_statement "LAB_0011bf00:\n      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);" (statement_identifier "LAB_0011bf00") (: ":") (expression_statement "uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);" (assignment_expression "uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(*(int *)(this + 0x34) + 0x10)" (* "*") (cast_expression "(uint *)(*(int *)(this + 0x34) + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(this + 0x34) + 0x10)" (( "(") (binary_expression "*(int *)(this + 0x34) + 0x10" (pointer_expression "*(int *)(this + 0x34)" (* "*") (cast_expression "(int *)(this + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x34)" (( "(") (binary_expression "this + 0x34" (identifier "this") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";"))) (expression_statement "piVar11 = (int *)((int)piVar11 + iVar16);" (assignment_expression "piVar11 = (int *)((int)piVar11 + iVar16)" (identifier "piVar11") (= "=") (cast_expression "(int *)((int)piVar11 + iVar16)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + iVar16)" (( "(") (binary_expression "(int)piVar11 + iVar16" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (identifier "iVar16")) () ")")))) (; ";")) (if_statement "if (uVar8 < 0x20000000) {\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }" (if "if") (parenthesized_expression "(uVar8 < 0x20000000)" (( "(") (binary_expression "uVar8 < 0x20000000" (identifier "uVar8") (< "<") (number_literal "0x20000000")) () ")")) (compound_statement "{\n        uVar21 = uVar8 << 2;\n        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);\n        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);\n        uVar3 = piVar18[1] - *piVar18 >> 2;\n        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;\n        uVar9 = piVar18[9] - 1;\n        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);\n        *(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        puVar20[0] = '\x02';\n        puVar20[1] = '\0';\n        puVar20[2] = '\0';\n        puVar20[3] = '\0';\n        puVar20[0xc] = '\0';\n        puVar20[0xd] = '\0';\n        puVar20[0xe] = '\0';\n        puVar20[0xf] = '\0';\n        *(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);\n        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);\n        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;\n        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;\n        uVar14 = 0x59f;\n        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;\n        iVar25 = *(int *)(pcVar22 + 0x3165a8);\n        if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }\n        piVar13 = (int *)((int)piVar11 + uVar7);\n        puVar10 = puVar6;\n        if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }\n        (**(code **)(pcVar22 + 0x3165d0))(puVar6);\n        iVar25 = piVar18[0x10];\n        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;\n        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;\n        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;\n        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));\n        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);\n        iVar23 = *(int *)(pcVar22 + 0x318234);\n        if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }\n        goto LAB_0011c11c;\n      }" ({ "{") (expression_statement "uVar21 = uVar8 << 2;" (assignment_expression "uVar21 = uVar8 << 2" (identifier "uVar21") (= "=") (binary_expression "uVar8 << 2" (identifier "uVar8") (<< "<<") (number_literal "2"))) (; ";")) (expression_statement "puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);" (assignment_expression "puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21)" (identifier "puVar6") (= "=") (cast_expression "(uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar22 + 0x3164d0))(uVar21)" (parenthesized_expression "(**(code **)(pcVar22 + 0x3164d0))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x3164d0)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x3164d0)" (* "*") (cast_expression "(code **)(pcVar22 + 0x3164d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x3164d0)" (( "(") (binary_expression "pcVar22 + 0x3164d0" (identifier "pcVar22") (+ "+") (number_literal "0x3164d0")) () ")"))))) () ")")) (argument_list "(uVar21)" (( "(") (identifier "uVar21") () ")"))))) (; ";")) (expression_statement "(**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);" (call_expression "(**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21)" (parenthesized_expression "(**(code **)(pcVar22 + 0x31aa44))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x31aa44)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x31aa44)" (* "*") (cast_expression "(code **)(pcVar22 + 0x31aa44)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x31aa44)" (( "(") (binary_expression "pcVar22 + 0x31aa44" (identifier "pcVar22") (+ "+") (number_literal "0x31aa44")) () ")"))))) () ")")) (argument_list "(puVar6,0,uVar21)" (( "(") (identifier "puVar6") (, ",") (number_literal "0") (, ",") (identifier "uVar21") () ")"))) (; ";")) (expression_statement "uVar3 = piVar18[1] - *piVar18 >> 2;" (assignment_expression "uVar3 = piVar18[1] - *piVar18 >> 2" (identifier "uVar3") (= "=") (binary_expression "piVar18[1] - *piVar18 >> 2" (binary_expression "piVar18[1] - *piVar18" (subscript_expression "piVar18[1]" (identifier "piVar18") ([ "[") (number_literal "1") (] "]")) (- "-") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;" (if "if") (parenthesized_expression "(*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9])" (( "(") (binary_expression "*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]" (pointer_expression "*(uint *)(pSVar17 + 0x28)" (* "*") (cast_expression "(uint *)(pSVar17 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar17 + 0x28)" (( "(") (binary_expression "pSVar17 + 0x28" (identifier "pSVar17") (+ "+") (number_literal "0x28")) () ")")))) (< "<") (cast_expression "(uint)piVar18[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar18[9]" (identifier "piVar18") ([ "[") (number_literal "9") (] "]")))) () ")")) (goto_statement "goto LAB_0011c198;" (goto "goto") (statement_identifier "LAB_0011c198") (; ";"))) (expression_statement "uVar9 = piVar18[9] - 1;" (assignment_expression "uVar9 = piVar18[9] - 1" (identifier "uVar9") (= "=") (binary_expression "piVar18[9] - 1" (subscript_expression "piVar18[9]" (identifier "piVar18") ([ "[") (number_literal "9") (] "]")) (- "-") (number_literal "1"))) (; ";")) (expression_statement "uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4);" (assignment_expression "uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4)" (* "*") (cast_expression "(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4)" (( "(") (binary_expression "*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +\n                         (uVar9 & 0x1fff) * 4" (pointer_expression "*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc)" (* "*") (cast_expression "(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc)" (( "(") (binary_expression "*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc" (pointer_expression "*(int *)(pSVar17 + 0x1c)" (* "*") (cast_expression "(int *)(pSVar17 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar17 + 0x1c)" (( "(") (binary_expression "pSVar17 + 0x1c" (identifier "pSVar17") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (binary_expression "(uVar9 >> 0xd) * 0xc" (parenthesized_expression "(uVar9 >> 0xd)" (( "(") (binary_expression "uVar9 >> 0xd" (identifier "uVar9") (>> ">>") (number_literal "0xd")) () ")")) (* "*") (number_literal "0xc"))) () ")")))) (+ "+") (binary_expression "(uVar9 & 0x1fff) * 4" (parenthesized_expression "(uVar9 & 0x1fff)" (( "(") (binary_expression "uVar9 & 0x1fff" (identifier "uVar9") (& "&") (number_literal "0x1fff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar20 + 4) =\n             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar20 + 4)" (* "*") (cast_expression "(uint *)(puVar20 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 4)" (( "(") (binary_expression "puVar20 + 4" (identifier "puVar20") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "(((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10" (binary_expression "(uVar3 >> 0x10) << 0x18" (parenthesized_expression "(uVar3 >> 0x10)" (( "(") (binary_expression "uVar3 >> 0x10" (identifier "uVar3") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar3 >> 0x18) << 0x10" (parenthesized_expression "(uVar3 >> 0x18)" (( "(") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff)" (( "(") (binary_expression "(uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff" (binary_expression "(uVar3 & 0xff) << 8" (parenthesized_expression "(uVar3 & 0xff)" (( "(") (binary_expression "uVar3 & 0xff" (identifier "uVar3") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar3 >> 8 & 0xff" (binary_expression "uVar3 >> 8" (identifier "uVar3") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "puVar20[0] = '\x02';" (assignment_expression "puVar20[0] = '\x02'" (subscript_expression "puVar20[0]" (identifier "puVar20") ([ "[") (number_literal "0") (] "]")) (= "=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) (; ";")) (expression_statement "puVar20[1] = '\0';" (assignment_expression "puVar20[1] = '\0'" (subscript_expression "puVar20[1]" (identifier "puVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "puVar20[2] = '\0';" (assignment_expression "puVar20[2] = '\0'" (subscript_expression "puVar20[2]" (identifier "puVar20") ([ "[") (number_literal "2") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "puVar20[3] = '\0';" (assignment_expression "puVar20[3] = '\0'" (subscript_expression "puVar20[3]" (identifier "puVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "puVar20[0xc] = '\0';" (assignment_expression "puVar20[0xc] = '\0'" (subscript_expression "puVar20[0xc]" (identifier "puVar20") ([ "[") (number_literal "0xc") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "puVar20[0xd] = '\0';" (assignment_expression "puVar20[0xd] = '\0'" (subscript_expression "puVar20[0xd]" (identifier "puVar20") ([ "[") (number_literal "0xd") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "puVar20[0xe] = '\0';" (assignment_expression "puVar20[0xe] = '\0'" (subscript_expression "puVar20[0xe]" (identifier "puVar20") ([ "[") (number_literal "0xe") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "puVar20[0xf] = '\0';" (assignment_expression "puVar20[0xf] = '\0'" (subscript_expression "puVar20[0xf]" (identifier "puVar20") ([ "[") (number_literal "0xf") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "*(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar20 + 8) =\n             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar20 + 8)" (* "*") (cast_expression "(uint *)(puVar20 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 8)" (( "(") (binary_expression "puVar20 + 8" (identifier "puVar20") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" (( "(") (binary_expression "uVar9 >> 0x10" (identifier "uVar9") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" (( "(") (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" (( "(") (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" (( "(") (binary_expression "uVar9 & 0xff" (identifier "uVar9") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" (identifier "uVar9") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);" (assignment_expression "puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17)" (identifier "puVar4") (= "=") (cast_expression "(uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17)" (( "(") (type_descriptor "uchar *" (type_identifier "uchar") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "write_input_files(this,puVar20,puVar20 + 0x10,pSVar17)" (identifier "write_input_files") (argument_list "(this,puVar20,puVar20 + 0x10,pSVar17)" (( "(") (identifier "this") (, ",") (identifier "puVar20") (, ",") (binary_expression "puVar20 + 0x10" (identifier "puVar20") (+ "+") (number_literal "0x10")) (, ",") (identifier "pSVar17") () ")"))))) (; ";")) (expression_statement "iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);" (assignment_expression "iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8)" (identifier "iVar5") (= "=") (call_expression "write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8)" (identifier "write_info_blocks") (argument_list "(this,puVar20,puVar4,pSVar17,puVar6,uVar8)" (( "(") (identifier "this") (, ",") (identifier "puVar20") (, ",") (identifier "puVar4") (, ",") (identifier "pSVar17") (, ",") (identifier "puVar6") (, ",") (identifier "uVar8") () ")")))) (; ";")) (if_statement "if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;" (if "if") (parenthesized_expression "(iVar5 - (int)puVar20 >> 0x1f != iVar25)" (( "(") (binary_expression "iVar5 - (int)puVar20 >> 0x1f != iVar25" (binary_expression "iVar5 - (int)puVar20 >> 0x1f" (binary_expression "iVar5 - (int)puVar20" (identifier "iVar5") (- "-") (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20"))) (>> ">>") (number_literal "0x1f")) (!= "!=") (identifier "iVar25")) () ")")) (goto_statement "goto LAB_0011c190;" (goto "goto") (statement_identifier "LAB_0011c190") (; ";"))) (if_statement "if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;" (if "if") (parenthesized_expression "(iVar5 - (int)puVar20 != uVar26)" (( "(") (binary_expression "iVar5 - (int)puVar20 != uVar26" (binary_expression "iVar5 - (int)puVar20" (identifier "iVar5") (- "-") (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20"))) (!= "!=") (identifier "uVar26")) () ")")) (goto_statement "goto LAB_0011c190;" (goto "goto") (statement_identifier "LAB_0011c190") (; ";"))) (expression_statement "uVar14 = 0x59f;" (assignment_expression "uVar14 = 0x59f" (identifier "uVar14") (= "=") (number_literal "0x59f")) (; ";")) (if_statement "if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;" (if "if") (parenthesized_expression "(uVar8 >> 0x1e != uVar15)" (( "(") (binary_expression "uVar8 >> 0x1e != uVar15" (binary_expression "uVar8 >> 0x1e" (identifier "uVar8") (>> ">>") (number_literal "0x1e")) (!= "!=") (identifier "uVar15")) () ")")) (goto_statement "goto LAB_0011c178;" (goto "goto") (statement_identifier "LAB_0011c178") (; ";"))) (expression_statement "iVar25 = *(int *)(pcVar22 + 0x3165a8);" (assignment_expression "iVar25 = *(int *)(pcVar22 + 0x3165a8)" (identifier "iVar25") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" (* "*") (cast_expression "(int *)(pcVar22 + 0x3165a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x3165a8)" (( "(") (binary_expression "pcVar22 + 0x3165a8" (identifier "pcVar22") (+ "+") (number_literal "0x3165a8")) () ")"))))) (; ";")) (if_statement "if (uVar21 != uVar7) {\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }" (if "if") (parenthesized_expression "(uVar21 != uVar7)" (( "(") (binary_expression "uVar21 != uVar7" (identifier "uVar21") (!= "!=") (identifier "uVar7")) () ")")) (compound_statement "{\n          do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );\n        }" ({ "{") (do_statement "do {\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          } while( true );" (do "do") (compound_statement "{\n            (**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);\nLAB_0011c190:\n            uVar14 = 0x59c;\nLAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);\n          }" ({ "{") (expression_statement "(**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);" (call_expression "(**(code **)(pcVar22 + 0x3165b8))\n                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564)" (parenthesized_expression "(**(code **)(pcVar22 + 0x3165b8))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x3165b8)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x3165b8)" (* "*") (cast_expression "(code **)(pcVar22 + 0x3165b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x3165b8)" (( "(") (binary_expression "pcVar22 + 0x3165b8" (identifier "pcVar22") (+ "+") (number_literal "0x3165b8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x4fcc" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" (* "*") (cast_expression "(int *)(pcVar22 + 0x3165a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x3165a8)" (( "(") (binary_expression "pcVar22 + 0x3165a8" (identifier "pcVar22") (+ "+") (number_literal "0x3165a8")) () ")")))) (+ "+") (number_literal "-0x4fcc")) (, ",") (identifier "uVar14") (, ",") (binary_expression "iVar25 + -0x3564" (identifier "iVar25") (+ "+") (number_literal "-0x3564")) () ")"))) (; ";")) (labeled_statement "LAB_0011c190:\n            uVar14 = 0x59c;" (statement_identifier "LAB_0011c190") (: ":") (expression_statement "uVar14 = 0x59c;" (assignment_expression "uVar14 = 0x59c" (identifier "uVar14") (= "=") (number_literal "0x59c")) (; ";"))) (labeled_statement "LAB_0011c178:\n            iVar25 = *(int *)(pcVar22 + 0x3165a8);" (statement_identifier "LAB_0011c178") (: ":") (expression_statement "iVar25 = *(int *)(pcVar22 + 0x3165a8);" (assignment_expression "iVar25 = *(int *)(pcVar22 + 0x3165a8)" (identifier "iVar25") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" (* "*") (cast_expression "(int *)(pcVar22 + 0x3165a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x3165a8)" (( "(") (binary_expression "pcVar22 + 0x3165a8" (identifier "pcVar22") (+ "+") (number_literal "0x3165a8")) () ")"))))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "piVar13 = (int *)((int)piVar11 + uVar7);" (assignment_expression "piVar13 = (int *)((int)piVar11 + uVar7)" (identifier "piVar13") (= "=") (cast_expression "(int *)((int)piVar11 + uVar7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + uVar7)" (( "(") (binary_expression "(int)piVar11 + uVar7" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (identifier "uVar7")) () ")")))) (; ";")) (expression_statement "puVar10 = puVar6;" (assignment_expression "puVar10 = puVar6" (identifier "puVar10") (= "=") (identifier "puVar6")) (; ";")) (if_statement "if (uVar8 != 0) {\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }" (if "if") (parenthesized_expression "(uVar8 != 0)" (( "(") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);\n        }" ({ "{") (do_statement "do {\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          } while (piVar19 != piVar13);" (do "do") (compound_statement "{\n            uVar26 = *puVar10;\n            piVar19 = piVar11 + 1;\n            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;\n            puVar10 = puVar10 + 1;\n            piVar11 = piVar19;\n          }" ({ "{") (expression_statement "uVar26 = *puVar10;" (assignment_expression "uVar26 = *puVar10" (identifier "uVar26") (= "=") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (; ";")) (expression_statement "piVar19 = piVar11 + 1;" (assignment_expression "piVar19 = piVar11 + 1" (identifier "piVar19") (= "=") (binary_expression "piVar11 + 1" (identifier "piVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (binary_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10" (binary_expression "(uVar26 >> 0x10) << 0x18" (parenthesized_expression "(uVar26 >> 0x10)" (( "(") (binary_expression "uVar26 >> 0x10" (identifier "uVar26") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar26 >> 0x18) << 0x10" (parenthesized_expression "(uVar26 >> 0x18)" (( "(") (binary_expression "uVar26 >> 0x18" (identifier "uVar26") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff)" (( "(") (binary_expression "(uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff" (binary_expression "(uVar26 & 0xff) << 8" (parenthesized_expression "(uVar26 & 0xff)" (( "(") (binary_expression "uVar26 & 0xff" (identifier "uVar26") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar26 >> 8 & 0xff" (binary_expression "uVar26 >> 8" (identifier "uVar26") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "puVar10 = puVar10 + 1;" (assignment_expression "puVar10 = puVar10 + 1" (identifier "puVar10") (= "=") (binary_expression "puVar10 + 1" (identifier "puVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar11 = piVar19;" (assignment_expression "piVar11 = piVar19" (identifier "piVar11") (= "=") (identifier "piVar19")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar19 != piVar13)" (( "(") (binary_expression "piVar19 != piVar13" (identifier "piVar19") (!= "!=") (identifier "piVar13")) () ")")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar22 + 0x3165d0))(puVar6);" (call_expression "(**(code **)(pcVar22 + 0x3165d0))(puVar6)" (parenthesized_expression "(**(code **)(pcVar22 + 0x3165d0))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x3165d0)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x3165d0)" (* "*") (cast_expression "(code **)(pcVar22 + 0x3165d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x3165d0)" (( "(") (binary_expression "pcVar22 + 0x3165d0" (identifier "pcVar22") (+ "+") (number_literal "0x3165d0")) () ")"))))) () ")")) (argument_list "(puVar6)" (( "(") (identifier "puVar6") () ")"))) (; ";")) (expression_statement "iVar25 = piVar18[0x10];" (assignment_expression "iVar25 = piVar18[0x10]" (identifier "iVar25") (= "=") (subscript_expression "piVar18[0x10]" (identifier "piVar18") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (if_statement "if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar25 + 0x20) << 2)" (( "(") (binary_expression "-1 < *(int *)(iVar25 + 0x20) << 2" (number_literal "-1") (< "<") (binary_expression "*(int *)(iVar25 + 0x20) << 2" (pointer_expression "*(int *)(iVar25 + 0x20)" (* "*") (cast_expression "(int *)(iVar25 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + 0x20)" (( "(") (binary_expression "iVar25 + 0x20" (identifier "iVar25") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2"))) () ")")) (goto_statement "goto LAB_0011c144;" (goto "goto") (statement_identifier "LAB_0011c144") (; ";"))) (if_statement "if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar25 + 0x20) << 1)" (( "(") (binary_expression "-1 < *(int *)(iVar25 + 0x20) << 1" (number_literal "-1") (< "<") (binary_expression "*(int *)(iVar25 + 0x20) << 1" (pointer_expression "*(int *)(iVar25 + 0x20)" (* "*") (cast_expression "(int *)(iVar25 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + 0x20)" (( "(") (binary_expression "iVar25 + 0x20" (identifier "iVar25") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1"))) () ")")) (goto_statement "goto LAB_0011c128;" (goto "goto") (statement_identifier "LAB_0011c128") (; ";"))) (if_statement "if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;" (if "if") (parenthesized_expression "(*(int *)(iVar25 + 0x18) < 0)" (( "(") (binary_expression "*(int *)(iVar25 + 0x18) < 0" (pointer_expression "*(int *)(iVar25 + 0x18)" (* "*") (cast_expression "(int *)(iVar25 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + 0x18)" (( "(") (binary_expression "iVar25 + 0x18" (identifier "iVar25") (+ "+") (number_literal "0x18")) () ")")))) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011c118;" (goto "goto") (statement_identifier "LAB_0011c118") (; ";"))) (expression_statement "in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));" (assignment_expression "in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c))" (identifier "in_t1") (= "=") (cast_expression "(int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c))" (( "(") (binary_expression "*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c)" (pointer_expression "*(uint *)(iVar25 + 0x14)" (* "*") (cast_expression "(uint *)(iVar25 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + 0x14)" (( "(") (binary_expression "iVar25 + 0x14" (identifier "iVar25") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar25 + 0x1c)" (* "*") (cast_expression "(int *)(iVar25 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + 0x1c)" (( "(") (binary_expression "iVar25 + 0x1c" (identifier "iVar25") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")))) (; ";")) (expression_statement "iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);" (assignment_expression "iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18)" (identifier "iVar25") (= "=") (binary_expression "(uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18)" (call_expression "(uint)(in_t1 < *(uint *)(iVar25 + 0x14))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(in_t1 < *(uint *)(iVar25 + 0x14))" (( "(") (binary_expression "in_t1 < *(uint *)(iVar25 + 0x14)" (identifier "in_t1") (< "<") (pointer_expression "*(uint *)(iVar25 + 0x14)" (* "*") (cast_expression "(uint *)(iVar25 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + 0x14)" (( "(") (binary_expression "iVar25 + 0x14" (identifier "iVar25") (+ "+") (number_literal "0x14")) () ")"))))) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar25 + 0x18)" (* "*") (cast_expression "(int *)(iVar25 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + 0x18)" (( "(") (binary_expression "iVar25 + 0x18" (identifier "iVar25") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (expression_statement "iVar23 = *(int *)(pcVar22 + 0x318234);" (assignment_expression "iVar23 = *(int *)(pcVar22 + 0x318234)" (identifier "iVar23") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x318234)" (* "*") (cast_expression "(int *)(pcVar22 + 0x318234)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x318234)" (( "(") (binary_expression "pcVar22 + 0x318234" (identifier "pcVar22") (+ "+") (number_literal "0x318234")) () ")"))))) (; ";")) (if_statement "if (iVar25 <= *(int *)(iVar2 + 8)) {\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }" (if "if") (parenthesized_expression "(iVar25 <= *(int *)(iVar2 + 8))" (( "(") (binary_expression "iVar25 <= *(int *)(iVar2 + 8)" (identifier "iVar25") (<= "<=") (pointer_expression "*(int *)(iVar2 + 8)" (* "*") (cast_expression "(int *)(iVar2 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\n          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;\n          goto LAB_0011c0d0;\n        }" ({ "{") (if_statement "if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 8) == iVar25)" (( "(") (binary_expression "*(int *)(iVar2 + 8) == iVar25" (pointer_expression "*(int *)(iVar2 + 8)" (* "*") (cast_expression "(int *)(iVar2 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")")))) (== "==") (identifier "iVar25")) () ")")) (goto_statement "goto LAB_0011c160;" (goto "goto") (statement_identifier "LAB_0011c160") (; ";"))) (goto_statement "goto LAB_0011c0d0;" (goto "goto") (statement_identifier "LAB_0011c0d0") (; ";")) (} "}"))) (goto_statement "goto LAB_0011c11c;" (goto "goto") (statement_identifier "LAB_0011c11c") (; ";")) (} "}"))) (expression_statement "pcVar22 = *(code **)(pcVar22 + 0x3164dc);" (assignment_expression "pcVar22 = *(code **)(pcVar22 + 0x3164dc)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar22 + 0x3164dc)" (* "*") (cast_expression "(code **)(pcVar22 + 0x3164dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x3164dc)" (( "(") (binary_expression "pcVar22 + 0x3164dc" (identifier "pcVar22") (+ "+") (number_literal "0x3164dc")) () ")"))))) (; ";")) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar18 = (int *)0x0;" (assignment_expression "piVar18 = (int *)0x0" (identifier "piVar18") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar26 = 7;" (assignment_expression "uVar26 = 7" (identifier "uVar26") (= "=") (number_literal "7")) (; ";")) (expression_statement "iVar27 = iVar12 + 1;" (assignment_expression "iVar27 = iVar12 + 1" (identifier "iVar27") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_0011c20c;" (goto "goto") (statement_identifier "LAB_0011c20c") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0011c11c:\n  pcVar24 = (code *)(iVar23 + 0x2f54);" (statement_identifier "LAB_0011c11c") (: ":") (expression_statement "pcVar24 = (code *)(iVar23 + 0x2f54);" (assignment_expression "pcVar24 = (code *)(iVar23 + 0x2f54)" (identifier "pcVar24") (= "=") (cast_expression "(code *)(iVar23 + 0x2f54)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x2f54)" (( "(") (binary_expression "iVar23 + 0x2f54" (identifier "iVar23") (+ "+") (number_literal "0x2f54")) () ")")))) (; ";"))) (labeled_statement "LAB_0011c120:\n  while( true ) {\n    (*pcVar24)();\nLAB_0011c128:\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\nLAB_0011c144:\n    iVar2 = unaff_s6;\n    this = unaff_s4;\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc);\nLAB_0011c160:\n    in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);\n    if (in_t1 == (int *)0x0) break;\n    pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);\n  }" (statement_identifier "LAB_0011c120") (: ":") (while_statement "while( true ) {\n    (*pcVar24)();\nLAB_0011c128:\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\nLAB_0011c144:\n    iVar2 = unaff_s6;\n    this = unaff_s4;\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc);\nLAB_0011c160:\n    in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);\n    if (in_t1 == (int *)0x0) break;\n    pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    (*pcVar24)();\nLAB_0011c128:\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);\n    unaff_s4 = this;\n    unaff_s6 = iVar2;\nLAB_0011c144:\n    iVar2 = unaff_s6;\n    this = unaff_s4;\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc);\nLAB_0011c160:\n    in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);\n    if (in_t1 == (int *)0x0) break;\n    pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);\n  }" ({ "{") (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0011c128:\n    (**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);" (statement_identifier "LAB_0011c128") (: ":") (expression_statement "(**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);" (call_expression "(**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8)" (parenthesized_expression "(**(code **)(pcVar22 + 0x3165b8))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x3165b8)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x3165b8)" (* "*") (cast_expression "(code **)(pcVar22 + 0x3165b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x3165b8)" (( "(") (binary_expression "pcVar22 + 0x3165b8" (identifier "pcVar22") (+ "+") (number_literal "0x3165b8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x4fe0" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" (* "*") (cast_expression "(int *)(pcVar22 + 0x3165a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x3165a8)" (( "(") (binary_expression "pcVar22 + 0x3165a8" (identifier "pcVar22") (+ "+") (number_literal "0x3165a8")) () ")")))) (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0xcf") (, ",") (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x36c8" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" (* "*") (cast_expression "(int *)(pcVar22 + 0x3165a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x3165a8)" (( "(") (binary_expression "pcVar22 + 0x3165a8" (identifier "pcVar22") (+ "+") (number_literal "0x3165a8")) () ")")))) (+ "+") (number_literal "-0x36c8")) () ")"))) (; ";"))) (expression_statement "unaff_s4 = this;" (assignment_expression "unaff_s4 = this" (identifier "unaff_s4") (= "=") (identifier "this")) (; ";")) (expression_statement "unaff_s6 = iVar2;" (assignment_expression "unaff_s6 = iVar2" (identifier "unaff_s6") (= "=") (identifier "iVar2")) (; ";")) (labeled_statement "LAB_0011c144:\n    iVar2 = unaff_s6;" (statement_identifier "LAB_0011c144") (: ":") (expression_statement "iVar2 = unaff_s6;" (assignment_expression "iVar2 = unaff_s6" (identifier "iVar2") (= "=") (identifier "unaff_s6")) (; ";"))) (expression_statement "this = unaff_s4;" (assignment_expression "this = unaff_s4" (identifier "this") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "(**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc);" (call_expression "(**(code **)(pcVar22 + 0x3165b8))\n              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc)" (parenthesized_expression "(**(code **)(pcVar22 + 0x3165b8))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x3165b8)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x3165b8)" (* "*") (cast_expression "(code **)(pcVar22 + 0x3165b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x3165b8)" (( "(") (binary_expression "pcVar22 + 0x3165b8" (identifier "pcVar22") (+ "+") (number_literal "0x3165b8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x4fe0" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" (* "*") (cast_expression "(int *)(pcVar22 + 0x3165a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x3165a8)" (( "(") (binary_expression "pcVar22 + 0x3165a8" (identifier "pcVar22") (+ "+") (number_literal "0x3165a8")) () ")")))) (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0xe3") (, ",") (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x36bc" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" (* "*") (cast_expression "(int *)(pcVar22 + 0x3165a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x3165a8)" (( "(") (binary_expression "pcVar22 + 0x3165a8" (identifier "pcVar22") (+ "+") (number_literal "0x3165a8")) () ")")))) (+ "+") (number_literal "-0x36bc")) () ")"))) (; ";")) (labeled_statement "LAB_0011c160:\n    in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);" (statement_identifier "LAB_0011c160") (: ":") (expression_statement "in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);" (assignment_expression "in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1)" (identifier "in_t1") (= "=") (cast_expression "(int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(*(uint *)(iVar2 + 0xc) < in_t1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(iVar2 + 0xc) < in_t1)" (( "(") (binary_expression "*(uint *)(iVar2 + 0xc) < in_t1" (pointer_expression "*(uint *)(iVar2 + 0xc)" (* "*") (cast_expression "(uint *)(iVar2 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc)" (( "(") (binary_expression "iVar2 + 0xc" (identifier "iVar2") (+ "+") (number_literal "0xc")) () ")")))) (< "<") (identifier "in_t1")) () ")"))))) (; ";"))) (if_statement "if (in_t1 == (int *)0x0) break;" (if "if") (parenthesized_expression "(in_t1 == (int *)0x0)" (( "(") (binary_expression "in_t1 == (int *)0x0" (identifier "in_t1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);" (assignment_expression "pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54)" (identifier "pcVar24") (= "=") (cast_expression "(code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x318234) + 0x2f54)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x318234) + 0x2f54" (pointer_expression "*(int *)(pcVar22 + 0x318234)" (* "*") (cast_expression "(int *)(pcVar22 + 0x318234)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x318234)" (( "(") (binary_expression "pcVar22 + 0x318234" (identifier "pcVar22") (+ "+") (number_literal "0x318234")) () ")")))) (+ "+") (number_literal "0x2f54")) () ")")))) (; ";")) (} "}")))) (labeled_statement "LAB_0011c0d0:\n  piVar18 = (int *)write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac));" (statement_identifier "LAB_0011c0d0") (: ":") (expression_statement "piVar18 = (int *)write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac));" (assignment_expression "piVar18 = (int *)write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac))" (identifier "piVar18") (= "=") (cast_expression "(int *)write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "write_got_plt((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac))" (identifier "write_got_plt") (argument_list "((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac))" (( "(") (cast_expression "(uchar *)this" (( "(") (type_descriptor "uchar *" (type_identifier "uchar") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "this")) (, ",") (call_expression "CONCAT44(iVar27,in_stack_ffffffac)" (identifier "CONCAT44") (argument_list "(iVar27,in_stack_ffffffac)" (( "(") (identifier "iVar27") (, ",") (identifier "in_stack_ffffffac") () ")"))) () ")"))))) (; ";"))) (return_statement "return piVar18;" (return "return") (identifier "piVar18") (; ";")) (labeled_statement "LAB_0011c198:\n  piVar13 = (int *)&DAT_00000108;" (statement_identifier "LAB_0011c198") (: ":") (expression_statement "piVar13 = (int *)&DAT_00000108;" (assignment_expression "piVar13 = (int *)&DAT_00000108" (identifier "piVar13") (= "=") (cast_expression "(int *)&DAT_00000108" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000108" (& "&") (identifier "DAT_00000108")))) (; ";"))) (expression_statement "iVar16 = *(int *)(pcVar22 + 0x3165a8) + -0x3578;" (assignment_expression "iVar16 = *(int *)(pcVar22 + 0x3165a8) + -0x3578" (identifier "iVar16") (= "=") (binary_expression "*(int *)(pcVar22 + 0x3165a8) + -0x3578" (pointer_expression "*(int *)(pcVar22 + 0x3165a8)" (* "*") (cast_expression "(int *)(pcVar22 + 0x3165a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x3165a8)" (( "(") (binary_expression "pcVar22 + 0x3165a8" (identifier "pcVar22") (+ "+") (number_literal "0x3165a8")) () ")")))) (+ "+") (number_literal "-0x3578"))) (; ";")) (expression_statement "iVar12 = *(int *)(pcVar22 + 0x316400) + 0x46d4;" (assignment_expression "iVar12 = *(int *)(pcVar22 + 0x316400) + 0x46d4" (identifier "iVar12") (= "=") (binary_expression "*(int *)(pcVar22 + 0x316400) + 0x46d4" (pointer_expression "*(int *)(pcVar22 + 0x316400)" (* "*") (cast_expression "(int *)(pcVar22 + 0x316400)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x316400)" (( "(") (binary_expression "pcVar22 + 0x316400" (identifier "pcVar22") (+ "+") (number_literal "0x316400")) () ")")))) (+ "+") (number_literal "0x46d4"))) (; ";")) (expression_statement "(**(code **)(pcVar22 + 0x3165b8))();" (call_expression "(**(code **)(pcVar22 + 0x3165b8))()" (parenthesized_expression "(**(code **)(pcVar22 + 0x3165b8))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x3165b8)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x3165b8)" (* "*") (cast_expression "(code **)(pcVar22 + 0x3165b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x3165b8)" (( "(") (binary_expression "pcVar22 + 0x3165b8" (identifier "pcVar22") (+ "+") (number_literal "0x3165b8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar8 = extraout_v1;" (assignment_expression "uVar8 = extraout_v1" (identifier "uVar8") (= "=") (identifier "extraout_v1")) (; ";")) (labeled_statement "LAB_0011c1b4:\n  if (uVar8 != 0) goto code_r0x0011c1bc;" (statement_identifier "LAB_0011c1b4") (: ":") (if_statement "if (uVar8 != 0) goto code_r0x0011c1bc;" (if "if") (parenthesized_expression "(uVar8 != 0)" (( "(") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x0011c1bc;" (goto "goto") (statement_identifier "code_r0x0011c1bc") (; ";")))) (goto_statement "goto LAB_0011bf00;" (goto "goto") (statement_identifier "LAB_0011bf00") (; ";")) (labeled_statement "code_r0x0011c1bc:\n  pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);" (statement_identifier "code_r0x0011c1bc") (: ":") (expression_statement "pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);" (assignment_expression "pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54)" (identifier "pcVar24") (= "=") (cast_expression "(code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x318234) + 0x2f54)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x318234) + 0x2f54" (pointer_expression "*(int *)(pcVar22 + 0x318234)" (* "*") (cast_expression "(int *)(pcVar22 + 0x318234)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x318234)" (( "(") (binary_expression "pcVar22 + 0x318234" (identifier "pcVar22") (+ "+") (number_literal "0x318234")) () ")")))) (+ "+") (number_literal "0x2f54")) () ")")))) (; ";"))) (goto_statement "goto LAB_0011c120;" (goto "goto") (statement_identifier "LAB_0011c120") (; ";")) (while_statement "while (uVar26 != 0x4d) {\nLAB_0011c20c:\n    pbVar1 = (byte *)(iVar27 + -1);\n    iVar27 = iVar27 + 1;\n    uVar7 = *pbVar1 & 0x7f;\n    uVar15 = (uVar7 >> 1) >> (~uVar26 & 0x1f);\n    if ((uVar26 & 0x20) != 0) {\n      uVar15 = uVar7 << (uVar26 & 0x1f);\n    }\n    uVar26 = uVar26 + 7;\n    iVar25 = iVar27 - iVar12;\n    piVar18 = (int *)((uint)piVar18 | uVar15);\n    if (-1 < (char)*pbVar1) goto LAB_0011c27c;\n  }" (while "while") (parenthesized_expression "(uVar26 != 0x4d)" (( "(") (binary_expression "uVar26 != 0x4d" (identifier "uVar26") (!= "!=") (number_literal "0x4d")) () ")")) (compound_statement "{\nLAB_0011c20c:\n    pbVar1 = (byte *)(iVar27 + -1);\n    iVar27 = iVar27 + 1;\n    uVar7 = *pbVar1 & 0x7f;\n    uVar15 = (uVar7 >> 1) >> (~uVar26 & 0x1f);\n    if ((uVar26 & 0x20) != 0) {\n      uVar15 = uVar7 << (uVar26 & 0x1f);\n    }\n    uVar26 = uVar26 + 7;\n    iVar25 = iVar27 - iVar12;\n    piVar18 = (int *)((uint)piVar18 | uVar15);\n    if (-1 < (char)*pbVar1) goto LAB_0011c27c;\n  }" ({ "{") (labeled_statement "LAB_0011c20c:\n    pbVar1 = (byte *)(iVar27 + -1);" (statement_identifier "LAB_0011c20c") (: ":") (expression_statement "pbVar1 = (byte *)(iVar27 + -1);" (assignment_expression "pbVar1 = (byte *)(iVar27 + -1)" (identifier "pbVar1") (= "=") (cast_expression "(byte *)(iVar27 + -1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + -1)" (( "(") (binary_expression "iVar27 + -1" (identifier "iVar27") (+ "+") (number_literal "-1")) () ")")))) (; ";"))) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" (identifier "iVar27") (= "=") (binary_expression "iVar27 + 1" (identifier "iVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar7 = *pbVar1 & 0x7f;" (assignment_expression "uVar7 = *pbVar1 & 0x7f" (identifier "uVar7") (= "=") (binary_expression "*pbVar1 & 0x7f" (pointer_expression "*pbVar1" (* "*") (identifier "pbVar1")) (& "&") (number_literal "0x7f"))) (; ";")) (expression_statement "uVar15 = (uVar7 >> 1) >> (~uVar26 & 0x1f);" (assignment_expression "uVar15 = (uVar7 >> 1) >> (~uVar26 & 0x1f)" (identifier "uVar15") (= "=") (binary_expression "(uVar7 >> 1) >> (~uVar26 & 0x1f)" (parenthesized_expression "(uVar7 >> 1)" (( "(") (binary_expression "uVar7 >> 1" (identifier "uVar7") (>> ">>") (number_literal "1")) () ")")) (>> ">>") (parenthesized_expression "(~uVar26 & 0x1f)" (( "(") (binary_expression "~uVar26 & 0x1f" (unary_expression "~uVar26" (~ "~") (identifier "uVar26")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if ((uVar26 & 0x20) != 0) {\n      uVar15 = uVar7 << (uVar26 & 0x1f);\n    }" (if "if") (parenthesized_expression "((uVar26 & 0x20) != 0)" (( "(") (binary_expression "(uVar26 & 0x20) != 0" (parenthesized_expression "(uVar26 & 0x20)" (( "(") (binary_expression "uVar26 & 0x20" (identifier "uVar26") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar15 = uVar7 << (uVar26 & 0x1f);\n    }" ({ "{") (expression_statement "uVar15 = uVar7 << (uVar26 & 0x1f);" (assignment_expression "uVar15 = uVar7 << (uVar26 & 0x1f)" (identifier "uVar15") (= "=") (binary_expression "uVar7 << (uVar26 & 0x1f)" (identifier "uVar7") (<< "<<") (parenthesized_expression "(uVar26 & 0x1f)" (( "(") (binary_expression "uVar26 & 0x1f" (identifier "uVar26") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (} "}"))) (expression_statement "uVar26 = uVar26 + 7;" (assignment_expression "uVar26 = uVar26 + 7" (identifier "uVar26") (= "=") (binary_expression "uVar26 + 7" (identifier "uVar26") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "iVar25 = iVar27 - iVar12;" (assignment_expression "iVar25 = iVar27 - iVar12" (identifier "iVar25") (= "=") (binary_expression "iVar27 - iVar12" (identifier "iVar27") (- "-") (identifier "iVar12"))) (; ";")) (expression_statement "piVar18 = (int *)((uint)piVar18 | uVar15);" (assignment_expression "piVar18 = (int *)((uint)piVar18 | uVar15)" (identifier "piVar18") (= "=") (cast_expression "(int *)((uint)piVar18 | uVar15)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)piVar18 | uVar15)" (( "(") (binary_expression "(uint)piVar18 | uVar15" (cast_expression "(uint)piVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar18")) (| "|") (identifier "uVar15")) () ")")))) (; ";")) (if_statement "if (-1 < (char)*pbVar1) goto LAB_0011c27c;" (if "if") (parenthesized_expression "(-1 < (char)*pbVar1)" (( "(") (binary_expression "-1 < (char)*pbVar1" (number_literal "-1") (< "<") (cast_expression "(char)*pbVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*pbVar1" (* "*") (identifier "pbVar1")))) () ")")) (goto_statement "goto LAB_0011c27c;" (goto "goto") (statement_identifier "LAB_0011c27c") (; ";"))) (} "}"))) (expression_statement "uVar14 = (**(code **)(pcVar22 + 0x31a648))(*(int *)(pcVar22 + 0x3161e4) + -0x2cdc);" (assignment_expression "uVar14 = (**(code **)(pcVar22 + 0x31a648))(*(int *)(pcVar22 + 0x3161e4) + -0x2cdc)" (identifier "uVar14") (= "=") (call_expression "(**(code **)(pcVar22 + 0x31a648))(*(int *)(pcVar22 + 0x3161e4) + -0x2cdc)" (parenthesized_expression "(**(code **)(pcVar22 + 0x31a648))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x31a648)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x31a648)" (* "*") (cast_expression "(code **)(pcVar22 + 0x31a648)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x31a648)" (( "(") (binary_expression "pcVar22 + 0x31a648" (identifier "pcVar22") (+ "+") (number_literal "0x31a648")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar22 + 0x3161e4) + -0x2cdc)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x3161e4) + -0x2cdc" (pointer_expression "*(int *)(pcVar22 + 0x3161e4)" (* "*") (cast_expression "(int *)(pcVar22 + 0x3161e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x3161e4)" (( "(") (binary_expression "pcVar22 + 0x3161e4" (identifier "pcVar22") (+ "+") (number_literal "0x3161e4")) () ")")))) (+ "+") (number_literal "-0x2cdc")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar22 + 0x31628c))(uVar14);" (call_expression "(**(code **)(pcVar22 + 0x31628c))(uVar14)" (parenthesized_expression "(**(code **)(pcVar22 + 0x31628c))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x31628c)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x31628c)" (* "*") (cast_expression "(code **)(pcVar22 + 0x31628c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x31628c)" (( "(") (binary_expression "pcVar22 + 0x31628c" (identifier "pcVar22") (+ "+") (number_literal "0x31628c")) () ")"))))) () ")")) (argument_list "(uVar14)" (( "(") (identifier "uVar14") () ")"))) (; ";")) (expression_statement "iVar25 = 0xb;" (assignment_expression "iVar25 = 0xb" (identifier "iVar25") (= "=") (number_literal "0xb")) (; ";")) (labeled_statement "LAB_0011c27c:\n  *piVar13 = iVar25;" (statement_identifier "LAB_0011c27c") (: ":") (expression_statement "*piVar13 = iVar25;" (assignment_expression "*piVar13 = iVar25" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (= "=") (identifier "iVar25")) (; ";"))) (return_statement "return piVar18;" (return "return") (identifier "piVar18") (; ";")) (ERROR "}" (} "}"))
(translation_unit (declaration type: (primitive_type) declarator: (pointer_declarator (ERROR (identifier)) declarator: (identifier)) (ERROR (number_literal)) (ERROR (identifier) (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)))) (identifier)) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (update_expression argument: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) (ERROR (false)) right: (pointer_expression argument: (identifier))) operator: (MISSING "--"))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (update_expression argument: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) (ERROR (false)) right: (pointer_expression argument: (identifier))) operator: (MISSING "--"))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (update_expression argument: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) (ERROR (false)) right: (pointer_expression argument: (identifier))) operator: (MISSING "--"))) (expression_statement (assignment_expression left: (identifier) right: (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: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_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: (pointer_expression argument: (identifier)) right: (number_literal))))) 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 (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (parenthesized_expression (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)))))) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (false) right: (pointer_expression argument: (MISSING identifier))))) right: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (number_literal))))))) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (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)) (identifier) (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))))))) condition: (parenthesized_expression (true))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) condition: (parenthesized_expression (true))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (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)) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (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)) (number_literal) (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)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (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)) (number_literal) (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))))))) (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))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (false) right: (pointer_expression argument: (MISSING identifier))))) arguments: (argument_list (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)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier))) right: (number_literal)))) (if_statement condition: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (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)) (identifier) (binary_expression left: (identifier) right: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) condition: (parenthesized_expression (true))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) 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: (identifier))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_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))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier))))))) (labeled_statement label: (statement_identifier) (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))))))) (labeled_statement label: (statement_identifier) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (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)) (number_literal) (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)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (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)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement)) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))))) (return_statement (identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (goto_statement label: (statement_identifier)) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (labeled_statement label: (statement_identifier) (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: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_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: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (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)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (return_statement (identifier)) (ERROR))

/* gold::Output_section_incremental_inputs<32, false>::MASKED(unsigned char*, long long) */

int * gold::Output_section_incremental_inputs<32,false>::MASKED
                (uchar *param_1,longlong param_2)

{
  byte *pbVar1;
  int iVar2;
  uint uVar3;
  uchar *puVar4;
  int iVar5;
  uint *puVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint *puVar10;
  uint extraout_v1;
  int *piVar11;
  Output_section_incremental_inputs<32,false> *this;
  int iVar12;
  int *piVar13;
  int *in_a1;
  undefined4 uVar14;
  uint uVar15;
  int iVar16;
  int in_a3;
  int *in_t1;
  Stringpool_template *pSVar17;
  int *piVar18;
  int *piVar19;
  uchar *puVar20;
  Output_section_incremental_inputs<32,false> *unaff_s4;
  uint uVar21;
  int unaff_s6;
  code *pcVar22;
  int iVar23;
  code *pcVar24;
  int iVar25;
  uint uVar26;
  int iVar27;
  undefined4 in_stack_ffffffac;
  int *local_50;
  int local_4c;
  int local_48;
  uint local_44;
  uint local_40;
  int local_3c;
  uint local_38;
  uint local_34;
  uint local_30;
  undefined4 local_2c;
  int local_28;
  Output_section_incremental_inputs<32,false> *local_24;
  
  iVar25 = 0x43a1d0;
  iVar27 = 0x43a1d0;
  piVar18 = *(int **)(*(int *)PTR_parameters_00432be0 + 0xc);
  if (piVar18 != (int *)0x0) {
    local_44 = (**(code **)(*piVar18 + 0xcc))(piVar18);
    local_40 = (**(code **)(*piVar18 + 0xd0))(piVar18);
    local_3c = (**(code **)(*piVar18 + 0xd4))(piVar18);
    local_38 = (**(code **)(*piVar18 + 0xd8))(piVar18);
    if (*(code **)(*piVar18 + 0xdc) == *(code **)(iVar27 + -0x5e98)) {
      local_34 = 4;
      iVar25 = iVar27;
    }
    else {
      local_34 = (**(code **)(*piVar18 + 0xdc))(piVar18);
      iVar25 = iVar27;
    }
    local_50 = in_a1 + 2;
    local_4c = (int)local_50 + (local_44 + 3 & 0xfffffffc);
    local_48 = local_4c + local_44 * 8;
    uVar14 = 0x7ab;
    if ((int)in_a1 + in_a3 == local_48 + local_40 * 4) {
      pcVar22 = *(code **)(iVar25 + -0x3980);
      in_a1[1] = (((local_40 >> 0x10) << 0x18 | (local_40 >> 0x18) << 0x10) >> 0x10) +
                 ((local_40 & 0xff) << 8 | local_40 >> 8 & 0xff) * 0x10000;
      *in_a1 = (((local_44 >> 0x10) << 0x18 | (local_44 >> 0x18) << 0x10) >> 0x10) +
               ((local_44 & 0xff) << 8 | local_44 >> 8 & 0xff) * 0x10000;
      (*pcVar22)(local_50,0xff);
      piVar18 = (int *)**(undefined4 **)(param_1 + 0x30);
      if (piVar18 != (int *)(*(undefined4 **)(param_1 + 0x30))[1]) {
        iVar27 = *(int *)(iVar25 + -0x5e94);
        unaff_s4 = (Output_section_incremental_inputs<32,false> *)&local_50;
        do {
          iVar2 = (**(code **)(*(int *)*piVar18 + 8))((int *)*piVar18);
          iVar5 = *(int *)*piVar18;
          if (iVar2 == 1) {
LAB_0011bbf0:
            iVar2 = (**(code **)(iVar5 + 0x10))();
            if (iVar2 == 0) {
              uVar14 = 0x7bf;
              goto LAB_0011bda0;
            }
            piVar11 = *(int **)(iVar2 + 0x24);
            uVar14 = 0x7c1;
            if (piVar11 == (int *)0x0) goto LAB_0011bda0;
            local_2c = *(undefined4 *)(*piVar18 + 8);
            local_28 = iVar27 + 8;
            local_24 = unaff_s4;
            (**(code **)(*piVar11 + 0x34))(piVar11,&local_28);
          }
          else {
            iVar2 = (**(code **)(iVar5 + 8))();
            if (iVar2 == 2) {
              iVar5 = *(int *)*piVar18;
              goto LAB_0011bbf0;
            }
          }
          piVar18 = piVar18 + 1;
        } while (*(int **)(*(int *)(param_1 + 0x30) + 4) != piVar18);
      }
      piVar18 = *(int **)(param_1 + 0x34);
      in_t1 = (int *)piVar18[0xc];
      uVar26 = local_30;
      do {
        if (in_t1 == (int *)0x0) {
          return piVar18;
        }
        iVar2 = in_t1[3];
        uVar15 = *(uint *)(iVar2 + 0x1c);
        puVar6 = (uint *)(iVar2 + 0x1c);
        local_30 = uVar26;
        iVar27 = iVar25;
        if ((uVar15 != 0xffffffff) && (puVar6 != (uint *)0x0)) {
          local_30 = *(uint *)(iVar2 + 0x10);
          if (local_30 == 0) goto LAB_0011bdd4;
          local_2c = 0;
          while( true ) {
            if (local_34 == 0) {
              trap(7);
            }
            uVar26 = puVar6[1] / local_34;
            uVar14 = 0x75d;
            if (local_44 <= uVar26) goto LAB_0011bd7c;
            if (0x7e < uVar15) {
              do {
                uVar14 = 0x761;
LAB_0011bd7c:
                (**(code **)(iVar25 + -0x7e0c))
                          (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,
                           *(int *)(iVar25 + -0x7e1c) + -0x36f4);
              } while( true );
            }
            *(char *)((int)local_50 + uVar26) = (char)uVar15;
            puVar6 = (uint *)puVar6[2];
            piVar18 = (int *)(local_4c + uVar26 * 8);
            piVar18[1] = 0;
            *piVar18 = (((local_30 >> 0x10) << 0x18 | (local_30 >> 0x18) << 0x10) >> 0x10) +
                       ((local_30 & 0xff) << 8 | local_30 >> 8 & 0xff) * 0x10000;
            if (puVar6 == (uint *)0x0) break;
            uVar15 = *puVar6;
          }
        }
        piVar18 = *(int **)(iVar2 + 0x18);
        uVar26 = local_30;
        if (piVar18 != (int *)0xffffffff) {
          if (local_38 == 0) {
            trap(7);
          }
          uVar15 = (uint)((int)piVar18 - local_3c) / local_38;
          if (local_40 <= uVar15) goto LAB_0011bdb8;
          uVar7 = *(uint *)(iVar2 + 0x10);
          piVar18 = (int *)(local_48 + uVar15 * 4);
          if (uVar7 == 0) goto LAB_0011bdd4;
          *piVar18 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
        }
        in_t1 = (int *)*in_t1;
      } while( true );
    }
LAB_0011bda0:
    iVar27 = iVar25;
    (**(code **)(iVar25 + -0x7e0c))
              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,uVar14,*(int *)(iVar25 + -0x7e1c) + -0x36d8);
LAB_0011bdb8:
    (**(code **)(iVar25 + -0x7e0c))
              (*(int *)(iVar25 + -0x7e1c) + -0x4fcc,0x789,*(int *)(iVar25 + -0x7e1c) + -0x36ec);
    uVar26 = local_30;
LAB_0011bdd4:
    local_30 = uVar26;
    (**(code **)(iVar25 + -0x7e0c))
              (*(int *)(iVar25 + -0x7e1c) + -0x5bdc,0x180,*(int *)(iVar25 + -0x7e1c) + -0x34f4);
  }
  iVar2 = 0x73;
  pcVar22 = *(code **)(iVar25 + -0x7e0c);
  this = (Output_section_incremental_inputs<32,false> *)(*(int *)(iVar25 + -0x7e1c) + -0x5cec);
  (*pcVar22)(this,0x73,*(int *)(iVar25 + -0x7e1c) + -0x3514);
  piVar18 = *(int **)(this + 0x30);
  pSVar17 = (Stringpool_template *)piVar18[10];
  if (-1 < *(int *)(this + 0x20) << 2) goto LAB_0011c144;
  if (-1 < *(int *)(this + 0x20) << 1) goto LAB_0011c128;
  iVar25 = *(int *)(this + 0x10);
  uVar26 = *(uint *)(this + 0x14);
  if (*(int *)(this + 0x18) < 0) {
LAB_0011c118:
    iVar23 = *(int *)(pcVar22 + 0x318234);
  }
  else {
    uVar15 = uVar26 + *(int *)(this + 0x1c);
    iVar12 = *(int *)(iVar2 + 8);
    iVar5 = (uint)(uVar15 < uVar26) + *(int *)(this + 0x18);
    in_t1 = *(int **)(iVar2 + 0xc);
    if ((iVar12 < iVar5) || ((iVar5 == iVar12 && (in_t1 < uVar15)))) goto LAB_0011c118;
    iVar5 = piVar18[0xe];
    piVar11 = *(int **)(iVar2 + 0x10);
    puVar20 = (uchar *)((int)piVar11 + *(int *)(this + 0x1c));
    unaff_s4 = this;
    unaff_s6 = iVar2;
    if (-1 < *(int *)(iVar5 + 0x20) << 2) goto LAB_0011c144;
    iVar16 = *(int *)(iVar5 + 0x1c);
    if (-1 < *(int *)(iVar5 + 0x20) << 1) goto LAB_0011c128;
    uVar15 = *(uint *)(iVar5 + 0x10);
    uVar7 = *(uint *)(iVar5 + 0x14);
    if (*(int *)(iVar5 + 0x18) < 0) goto LAB_0011c118;
    iVar5 = (uint)(uVar7 + iVar16 < uVar7) + *(int *)(iVar5 + 0x18);
    iVar23 = *(int *)(pcVar22 + 0x318234);
    if (iVar5 <= iVar12) {
      uVar8 = (uint)(in_t1 < uVar7 + iVar16);
      piVar13 = (int *)0x0;
      if (iVar5 == iVar12) goto LAB_0011c1b4;
LAB_0011bf00:
      uVar8 = *(uint *)(*(int *)(this + 0x34) + 0x10);
      piVar11 = (int *)((int)piVar11 + iVar16);
      if (uVar8 < 0x20000000) {
        uVar21 = uVar8 << 2;
        puVar6 = (uint *)(**(code **)(pcVar22 + 0x3164d0))(uVar21);
        (**(code **)(pcVar22 + 0x31aa44))(puVar6,0,uVar21);
        uVar3 = piVar18[1] - *piVar18 >> 2;
        if (*(uint *)(pSVar17 + 0x28) < (uint)piVar18[9]) goto LAB_0011c198;
        uVar9 = piVar18[9] - 1;
        uVar9 = *(uint *)(*(int *)(*(int *)(pSVar17 + 0x1c) + (uVar9 >> 0xd) * 0xc) +
                         (uVar9 & 0x1fff) * 4);
        *(uint *)(puVar20 + 4) =
             (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +
             ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;
        puVar20[0] = '\x02';
        puVar20[1] = '\0';
        puVar20[2] = '\0';
        puVar20[3] = '\0';
        puVar20[0xc] = '\0';
        puVar20[0xd] = '\0';
        puVar20[0xe] = '\0';
        puVar20[0xf] = '\0';
        *(uint *)(puVar20 + 8) =
             (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
        puVar4 = (uchar *)write_input_files(this,puVar20,puVar20 + 0x10,pSVar17);
        iVar5 = write_info_blocks(this,puVar20,puVar4,pSVar17,puVar6,uVar8);
        if (iVar5 - (int)puVar20 >> 0x1f != iVar25) goto LAB_0011c190;
        if (iVar5 - (int)puVar20 != uVar26) goto LAB_0011c190;
        uVar14 = 0x59f;
        if (uVar8 >> 0x1e != uVar15) goto LAB_0011c178;
        iVar25 = *(int *)(pcVar22 + 0x3165a8);
        if (uVar21 != uVar7) {
          do {
            (**(code **)(pcVar22 + 0x3165b8))
                      (*(int *)(pcVar22 + 0x3165a8) + -0x4fcc,uVar14,iVar25 + -0x3564);
LAB_0011c190:
            uVar14 = 0x59c;
LAB_0011c178:
            iVar25 = *(int *)(pcVar22 + 0x3165a8);
          } while( true );
        }
        piVar13 = (int *)((int)piVar11 + uVar7);
        puVar10 = puVar6;
        if (uVar8 != 0) {
          do {
            uVar26 = *puVar10;
            piVar19 = piVar11 + 1;
            *piVar11 = (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar26 & 0xff) << 8 | uVar26 >> 8 & 0xff) * 0x10000;
            puVar10 = puVar10 + 1;
            piVar11 = piVar19;
          } while (piVar19 != piVar13);
        }
        (**(code **)(pcVar22 + 0x3165d0))(puVar6);
        iVar25 = piVar18[0x10];
        if (-1 < *(int *)(iVar25 + 0x20) << 2) goto LAB_0011c144;
        if (-1 < *(int *)(iVar25 + 0x20) << 1) goto LAB_0011c128;
        if (*(int *)(iVar25 + 0x18) < 0) goto LAB_0011c118;
        in_t1 = (int *)(*(uint *)(iVar25 + 0x14) + *(int *)(iVar25 + 0x1c));
        iVar25 = (uint)(in_t1 < *(uint *)(iVar25 + 0x14)) + *(int *)(iVar25 + 0x18);
        iVar23 = *(int *)(pcVar22 + 0x318234);
        if (iVar25 <= *(int *)(iVar2 + 8)) {
          if (*(int *)(iVar2 + 8) == iVar25) goto LAB_0011c160;
          goto LAB_0011c0d0;
        }
        goto LAB_0011c11c;
      }
      pcVar22 = *(code **)(pcVar22 + 0x3164dc);
      (*pcVar22)();
      piVar18 = (int *)0x0;
      uVar26 = 7;
      iVar27 = iVar12 + 1;
      goto LAB_0011c20c;
    }
  }
LAB_0011c11c:
  pcVar24 = (code *)(iVar23 + 0x2f54);
LAB_0011c120:
  while( true ) {
    (*pcVar24)();
LAB_0011c128:
    (**(code **)(pcVar22 + 0x3165b8))
              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xcf,*(int *)(pcVar22 + 0x3165a8) + -0x36c8);
    unaff_s4 = this;
    unaff_s6 = iVar2;
LAB_0011c144:
    iVar2 = unaff_s6;
    this = unaff_s4;
    (**(code **)(pcVar22 + 0x3165b8))
              (*(int *)(pcVar22 + 0x3165a8) + -0x4fe0,0xe3,*(int *)(pcVar22 + 0x3165a8) + -0x36bc);
LAB_0011c160:
    in_t1 = (int *)(uint)(*(uint *)(iVar2 + 0xc) < in_t1);
    if (in_t1 == (int *)0x0) break;
    pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);
  }
LAB_0011c0d0:
  piVar18 = (int *)MASKED((uchar *)this,CONCAT44(iVar27,in_stack_ffffffac));
  return piVar18;
LAB_0011c198:
  piVar13 = (int *)&DAT_00000108;
  iVar16 = *(int *)(pcVar22 + 0x3165a8) + -0x3578;
  iVar12 = *(int *)(pcVar22 + 0x316400) + 0x46d4;
  (**(code **)(pcVar22 + 0x3165b8))();
  uVar8 = extraout_v1;
LAB_0011c1b4:
  if (uVar8 != 0) goto code_r0x0011c1bc;
  goto LAB_0011bf00;
code_r0x0011c1bc:
  pcVar24 = (code *)(*(int *)(pcVar22 + 0x318234) + 0x2f54);
  goto LAB_0011c120;
  while (uVar26 != 0x4d) {
LAB_0011c20c:
    pbVar1 = (byte *)(iVar27 + -1);
    iVar27 = iVar27 + 1;
    uVar7 = *pbVar1 & 0x7f;
    uVar15 = (uVar7 >> 1) >> (~uVar26 & 0x1f);
    if ((uVar26 & 0x20) != 0) {
      uVar15 = uVar7 << (uVar26 & 0x1f);
    }
    uVar26 = uVar26 + 7;
    iVar25 = iVar27 - iVar12;
    piVar18 = (int *)((uint)piVar18 | uVar15);
    if (-1 < (char)*pbVar1) goto LAB_0011c27c;
  }
  uVar14 = (**(code **)(pcVar22 + 0x31a648))(*(int *)(pcVar22 + 0x3161e4) + -0x2cdc);
  (**(code **)(pcVar22 + 0x31628c))(uVar14);
  iVar25 = 0xb;
LAB_0011c27c:
  *piVar13 = iVar25;
  return piVar18;
}

