
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: uint do_local_plt_offset(Sized_relobj_file<32,_false> * this, uint
   symndx) */

uint __thiscall
gold::Sized_relobj_file<32,_false>::do_local_plt_offset
          (Sized_relobj_file<32,_false> *this,uint symndx)

{
  uint uVar1;
  _Hash_node_base *p_Var2;
  undefined4 *puVar3;
  undefined4 *puVar4;
  byte *pbVar5;
  int *piVar6;
  size_type sVar7;
  int iVar8;
  int *piVar9;
  char *format;
  uint *puVar10;
  _Rb_tree_color _Var11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  Compressed_section_map *pCVar15;
  Compressed_section_map *pCVar16;
  undefined *puVar17;
  Object *pOVar18;
  undefined4 *puVar19;
  Object *this_00;
  int iVar20;
  __hash_code __code;
  undefined4 uVar21;
  Compressed_section_map *pCVar22;
  undefined *puVar23;
  Compressed_section_map *in_a3;
  uint uVar24;
  int iVar25;
  _func_int_varargs *p_Var26;
  uint uVar27;
  uint *puVar28;
  undefined *puVar29;
  code *pcVar30;
  ulonglong uVar31;
  undefined8 uVar32;
  longlong lVar33;
  int *piStack_a0;
  uint uStack_9c;
  uint uStack_98;
  uint uStack_94;
  int iStack_90;
  uint uStack_8c;
  int iStack_88;
  uint uStack_84;
  int *piStack_80;
  uint uStack_7c;
  Object *pOStack_78;
  undefined4 *puStack_74;
  undefined *puStack_70;
  
  uVar1 = (this->local_plt_offsets_)._M_h._M_bucket_count;
  if (uVar1 == 0) {
    trap(7);
  }
  pCVar22 = (Compressed_section_map *)
            (this->local_plt_offsets_)._M_h._M_buckets[(int)(symndx % uVar1)];
  if (pCVar22 != (Compressed_section_map *)0x0) {
    pCVar15 = *(Compressed_section_map **)&(pCVar22->_M_t)._M_impl;
    _Var11 = (pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color;
    do {
      pCVar16 = pCVar15;
      if (_Var11 == symndx) {
        p_Var2 = *(_Hash_node_base **)&(pCVar22->_M_t)._M_impl;
        if (p_Var2 != (_Hash_node_base *)0x0) {
          return (uint)p_Var2[2]._M_nxt;
        }
        break;
      }
      pCVar15 = *(Compressed_section_map **)&(pCVar16->_M_t)._M_impl;
      in_a3 = pCVar15;
      if (pCVar15 == (Compressed_section_map *)0x0) break;
      _Var11 = (pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color;
      if (uVar1 == 0) {
        trap(7);
      }
      in_a3 = (Compressed_section_map *)(_Var11 % uVar1);
      pCVar22 = pCVar16;
    } while ((Compressed_section_map *)(symndx % uVar1) == in_a3);
  }
  puVar23 = PTR_s__s_004c1a50 + 0x5ea4;
  puVar17 = PTR_s__s_004c1a50 + 0x4d70;
  puVar29 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar17,0x8a7);
  pOVar18 = (Object *)&SUB_0000000c;
  uVar1 = *(uint *)(puVar17 + 0x28);
  puVar3 = (undefined4 *)(**(code **)(puVar29 + 0x2ef2d0))();
  *puVar3 = 0;
  puVar3[1] = 0;
  puVar3[2] = 0;
  if (uVar1 == 0) {
    *(undefined4 **)(puVar17 + 0x44) = puVar3;
    puVar3[1] = 0;
    return (uint)puVar3;
  }
  if (uVar1 < 0x40000000) {
    puVar4 = (undefined4 *)(**(code **)(puVar29 + 0x2ef2d0))(uVar1 * 4);
    puVar19 = puVar4 + uVar1;
    *puVar3 = puVar4;
    puVar3[2] = puVar19;
    do {
      *puVar4 = 0;
      puVar4 = puVar4 + 1;
    } while (puVar19 != puVar4);
    *(undefined4 **)(puVar17 + 0x44) = puVar3;
    puVar3[1] = puVar19;
    return (uint)puVar4;
  }
  (**(code **)(puVar29 + 0x2ef9e8))();
  uVar1 = 0xc;
  (**(code **)(puVar29 + 0x2ef34c))(puVar3);
  pcVar30 = *(code **)(puVar29 + 0x2ef1f0);
  this_00 = pOVar18;
  (*pcVar30)();
  pbVar5 = (byte *)((int)&(in_a3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color + 3);
  uVar12 = (uint)(pbVar5 < in_a3);
  pCVar22 = (Compressed_section_map *)((uint)pbVar5 & 0xfffffff8);
  pOStack_78 = pOVar18;
  puStack_74 = puVar3;
  puStack_70 = puVar17;
  if ((uVar12 == 0) && (pCVar22 == in_a3)) {
    this_00[3].compressed_sections_ = pCVar22;
    piVar6 = *(int **)(pcVar30 + 0x2ef7e0);
    uVar24 = *(uint *)((int)&this_00[3].name_.field_2 + 4);
    this_00[3].xindex_ = (Xindex *)(puVar23 + uVar12);
    if (*(int *)(*piVar6 + 8) != 0) {
      uStack_8c = (uint)*(byte *)(*(int *)(*piVar6 + 8) + 0x3195);
      if (uVar24 < 2) {
        return uVar1;
      }
      sVar7 = this_00[4].name_._M_string_length;
      puVar28 = (uint *)(sVar7 + 0x18);
      uVar12 = 1;
      if ((*(uint *)(sVar7 + 0x20) & 1) == 0) {
        uVar21 = 0x96c;
      }
      else {
        iStack_88 = *(int *)(pcVar30 + 0x2ef87c);
        uVar31 = (ulonglong)*(uint *)(*(int *)(pcVar30 + 0x2ef0a8) + 0x355c);
        iStack_90 = *(int *)(pcVar30 + 0x2ef87c) + 0x4f3c;
        do {
          uVar13 = puVar28[2] >> 5;
          if (-1 < (int)(puVar28[2] << 0x1b)) {
            if ((uVar13 != 0xfff1) &&
               (iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0)) {
              format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c);
              uVar27 = uVar13;
              uVar13 = uVar12;
              goto LAB_001d24f0;
            }
            goto LAB_001d22bc;
          }
          if (uVar13 < this_00->shnum_) {
            piVar6 = (int *)(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8);
            p_Var26 = this_00[1]._vptr_Object[uVar13];
            iVar25 = *piVar6;
            uVar27 = piVar6[1];
            iVar8 = (**(code **)(pcVar30 + 0x2ef970))(puVar29 + 0x2f7168,this_00,uVar13);
            if (iVar8 != 0) {
              if (p_Var26 != (_func_int_varargs *)0x0) goto LAB_001d28f0;
              uVar21 = 0x98d;
              if (iVar25 != -1) break;
              if (uVar27 != 0xffffffff) goto LAB_001d28f0;
              (**(code **)(pcVar30 + 0x2f1acc))
                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13);
              if (piStack_a0 != (int *)0x0) {
                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {
                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {
                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);
                    piVar6 = piStack_a0;
                    uVar27 = uStack_9c;
                    goto LAB_001d23e4;
                  }
                  (**(code **)(pcVar30 + 0x2ef85c))
                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,
                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);
LAB_001d2894:
                  uVar21 = 0x99d;
                  break;
                }
                uStack_84 = uStack_9c;
                piStack_80 = piStack_a0;
                p_Var26 = (_func_int_varargs *)
                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);
                piVar6 = piStack_80;
                uVar27 = uStack_84;
LAB_001d23e4:
                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;
                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {
                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);
                  iVar25 = *piVar9;
                  uVar27 = piVar9[1];
                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;
                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);
                  if (iVar8 != 0) {
                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);
                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;
                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;
                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);
                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -
                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);
                    goto LAB_001d2520;
                  }
                  goto LAB_001d2894;
                }
LAB_001d2910:
                (**(code **)(pcVar30 + 0x2ef85c))
                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,
                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);
              }
              uVar21 = 0x991;
              break;
            }
            if (p_Var26 == (_func_int_varargs *)0x0) goto joined_r0x001d22e4;
LAB_001d2520:
            if ((iVar25 == -1) && (uVar27 == 0xffffffff)) {
              if (*(int *)(p_Var26 + 0x60) == 0xf) {
                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;
                uVar21 = 0x9b5;
                break;
              }
              if ((int)(puVar28[2] << 0x1c) < 0) {
                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);
                if (iVar8 == 0) {
                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);
                  if (iVar8 == 0) {
                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);
                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;
                    uVar13 = *(uint *)(p_Var26 + 8);
                    puVar28[5] = *(uint *)(p_Var26 + 0xc);
                    puVar28[4] = uVar13;
                  }
                  else {
                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);
                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;
                    uVar14 = *(uint *)(iVar8 + 8);
                    uVar27 = *(uint *)(iVar8 + 0xc);
                    uVar13 = uVar27;
                    if (uStack_8c != 0) {
                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;
                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);
                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);
                    }
                    puVar28[4] = uVar14;
                    puVar28[5] = uVar13;
                  }
                }
                else {
                  uVar13 = uStack_94;
                  uVar27 = uStack_98;
                  if (uStack_8c != 0) {
                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);
                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;
                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);
                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);
                  }
                  uStack_7c = puVar28[5];
                  piStack_80 = (int *)puVar28[4];
                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);
                  uVar14 = puVar28[2];
                  puVar10[8] = (uint)uVar31;
                  puVar10[1] = uStack_7c;
                  *puVar10 = (uint)piStack_80;
                  puVar10[2] = uVar27;
                  puVar10[3] = uVar13;
                  puVar10[7] = 0;
                  puVar10[10] = 0;
                  puVar10[4] = (uint)(puVar10 + 10);
                  puVar10[5] = 1;
                  puVar10[6] = 0;
                  puVar10[9] = 0;
                  if (-1 < (int)(uVar14 << 0x1c)) {
                    (**(code **)(pcVar30 + 0x2ef85c))
                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,
                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);
                    goto LAB_001d28b8;
                  }
                  puVar28[4] = (uint)puVar10;
                  puVar28[2] = uVar14 & 0xfffffffe;
                }
              }
              else {
                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);
                if (uStack_8c != 0) {
                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);
                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;
                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);
                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -
                                    (uint)((uint)uVar32 < uVar13),uVar13);
                }
                *(undefined8 *)(puVar28 + 4) = uVar32;
              }
LAB_001d22bc:
              uVar13 = *puVar28;
            }
            else {
LAB_001d241c:
              if (((int)(puVar28[2] << 0x1d) < 0) ||
                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {
                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {
                  lVar33 = *(longlong *)(p_Var26 + 0xa0);
                }
                else {
                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);
                }
                *(longlong *)(puVar28 + 4) =
                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],
                                       uVar27 + puVar28[5]);
                goto LAB_001d22bc;
              }
              iVar8 = 0;
              if (uStack_8c == 0) {
                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;
                iVar8 = *(int *)(p_Var26 + 8);
                iVar20 = *(int *)(p_Var26 + 0xc);
              }
              else {
                iVar20 = 0;
              }
              uVar13 = uVar27 + puVar28[5];
              puVar28[5] = uVar13 + iVar20;
              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +
                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;
              uVar13 = *puVar28;
            }
            if ((uVar13 == 0) || (uVar13 == 0xfffffffe)) {
              if (0xfffffffc < uVar1 - 1) {
                (**(code **)(pcVar30 + 0x2ef85c))
                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,
                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);
                goto LAB_001d2910;
              }
              *puVar28 = uVar1;
              uVar1 = uVar1 + 1;
            }
          }
          else {
            format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90);
            uVar27 = uVar12;
LAB_001d24f0:
            Object::error(this_00,format,uVar27,uVar13);
            puVar28[5] = 0;
            puVar28[4] = 0;
          }
joined_r0x001d22e4:
          if (uVar24 == uVar12 + 1) {
            return uVar1;
          }
          uVar12 = uVar12 + 1;
          puVar28 = (uint *)(this_00[4].name_._M_string_length + uVar12 * 0x18);
          uVar21 = 0x96c;
        } while ((puVar28[2] & 1) != 0);
      }
      goto LAB_001d283c;
    }
  }
  else {
LAB_001d28b8:
    (**(code **)(pcVar30 + 0x2ef85c))
              (*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,0xa1a,*(int *)(pcVar30 + 0x2ef87c) + 0x5738);
  }
  (**(code **)(pcVar30 + 0x2ef85c))
            (*(int *)(pcVar30 + 0x2ef0a8) + -0x9b8,0x5c,*(int *)(pcVar30 + 0x2ef87c) + 0x61ac);
LAB_001d28f0:
  uVar21 = 0x98d;
LAB_001d283c:
  do {
    (**(code **)(pcVar30 + 0x2ef85c))
              (*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,uVar21,*(int *)(pcVar30 + 0x2ef87c) + 0x5640);
LAB_001d2854:
    iVar25 = *(int *)(pcVar30 + 0x2ef87c);
LAB_001d285c:
    (**(code **)(pcVar30 + 0x2ef85c))(*(int *)(pcVar30 + 0x2ef0a8) + 0x3574,0xc5,iVar25 + 0x6058);
LAB_001d2870:
    uVar21 = 0x995;
  } while( true );
}



undefined4 FUN_001d202c(int param_1,uint param_2)

{
  uint uVar1;
  undefined4 uVar2;
  uint uVar3;
  int *piVar4;
  int *piVar5;
  int *piVar6;
  
  uVar1 = *(uint *)(param_1 + 0xf8);
  if (uVar1 == 0) {
    trap(7);
  }
  piVar5 = *(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4);
  if (piVar5 != (int *)0x0) {
    uVar3 = ((int *)*piVar5)[1];
    piVar6 = (int *)*piVar5;
    do {
      piVar4 = piVar6;
      if (uVar3 == param_2) {
        if (*piVar5 != 0) {
          return *(undefined4 *)(*piVar5 + 8);
        }
        break;
      }
      piVar6 = (int *)*piVar4;
      if (piVar6 == (int *)0x0) break;
      uVar3 = piVar6[1];
      if (uVar1 == 0) {
        trap(7);
      }
      piVar5 = piVar4;
    } while (param_2 % uVar1 == uVar3 % uVar1);
  }
  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)
                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4);
  return uVar2;
}


lui gp,0x2f
addiu gp,gp,0x7214
addu gp,gp,t9
lw v0,0xf8(a0)
lw v1,0xf4(a0)
teq v0,zero
divu a1,v0
mfhi t0
sll a0,t0,0x2
addu v1,v1,a0
lw a2,0x0(v1)
beq a2,zero,0x001d20b0
_nop
lw a0,0x0(a2)
b 0x001d2094
_lw v1,0x4(a0)
lw a3,0x0(a0)
beq a3,zero,0x001d20b0
_or a2,a0,zero
lw v1,0x4(a3)
or a0,a3,zero
teq v0,zero
divu v1,v0
mfhi a3
bne t0,a3,0x001d20b0
_nop
bne v1,a1,0x001d206c
_nop
lw v0,0x0(a2)
beq v0,zero,0x001d20b4
_lw a2,-0x77f0(gp)
jr ra
_lw v0,0x8(v0)
lw a2,-0x77f0(gp)
addiu sp,sp,-0x20
lw a0,-0x77f0(gp)
li a1,0x8a7
lw t9,-0x7810(gp)
addiu a2,a2,0x5ea4
sw gp,0x10(sp)
sw ra,0x1c(sp)
jalr t9
_addiu a0,a0,0x4d70
(translation_unit "undefined4 FUN_001d202c(int param_1,uint param_2)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  uint uVar3;\n  int *piVar4;\n  int *piVar5;\n  int *piVar6;\n  \n  uVar1 = *(uint *)(param_1 + 0xf8);\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  piVar5 = *(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4);\n  if (piVar5 != (int *)0x0) {\n    uVar3 = ((int *)*piVar5)[1];\n    piVar6 = (int *)*piVar5;\n    do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);\n  }\n  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4);\n  return uVar2;\n}\n\n" (function_definition "undefined4 FUN_001d202c(int param_1,uint param_2)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  uint uVar3;\n  int *piVar4;\n  int *piVar5;\n  int *piVar6;\n  \n  uVar1 = *(uint *)(param_1 + 0xf8);\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  piVar5 = *(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4);\n  if (piVar5 != (int *)0x0) {\n    uVar3 = ((int *)*piVar5)[1];\n    piVar6 = (int *)*piVar5;\n    do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);\n  }\n  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4);\n  return uVar2;\n}" type_identifier (function_declarator "FUN_001d202c(int param_1,uint param_2)" identifier (parameter_list "(int param_1,uint param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "uint param_2" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  undefined4 uVar2;\n  uint uVar3;\n  int *piVar4;\n  int *piVar5;\n  int *piVar6;\n  \n  uVar1 = *(uint *)(param_1 + 0xf8);\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  piVar5 = *(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4);\n  if (piVar5 != (int *)0x0) {\n    uVar3 = ((int *)*piVar5)[1];\n    piVar6 = (int *)*piVar5;\n    do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);\n  }\n  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4);\n  return uVar2;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (expression_statement "uVar1 = *(uint *)(param_1 + 0xf8);" (assignment_expression "uVar1 = *(uint *)(param_1 + 0xf8)" identifier = (pointer_expression "*(uint *)(param_1 + 0xf8)" * (cast_expression "(uint *)(param_1 + 0xf8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) ))))) ;) (if_statement "if (uVar1 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 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 "piVar5 = *(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4);" (assignment_expression "piVar5 = *(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4)" identifier = (pointer_expression "*(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4)" * (cast_expression "(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4)" ( (binary_expression "*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4" (pointer_expression "*(int *)(param_1 + 0xf4)" * (cast_expression "(int *)(param_1 + 0xf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf4)" ( (binary_expression "param_1 + 0xf4" identifier + number_literal) )))) + (binary_expression "(param_2 % uVar1) * 4" (parenthesized_expression "(param_2 % uVar1)" ( (binary_expression "param_2 % uVar1" identifier % identifier) )) * number_literal)) ))))) ;) (if_statement "if (piVar5 != (int *)0x0) {\n    uVar3 = ((int *)*piVar5)[1];\n    piVar6 = (int *)*piVar5;\n    do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);\n  }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar3 = ((int *)*piVar5)[1];\n    piVar6 = (int *)*piVar5;\n    do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);\n  }" { (expression_statement "uVar3 = ((int *)*piVar5)[1];" (assignment_expression "uVar3 = ((int *)*piVar5)[1]" identifier = (subscript_expression "((int *)*piVar5)[1]" (parenthesized_expression "((int *)*piVar5)" ( (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier)) )) [ number_literal ])) ;) (expression_statement "piVar6 = (int *)*piVar5;" (assignment_expression "piVar6 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) (do_statement "do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);" do (compound_statement "{\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    }" { (expression_statement "piVar4 = piVar6;" (assignment_expression "piVar4 = piVar6" identifier = identifier) ;) (if_statement "if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }" if (parenthesized_expression "(uVar3 == param_2)" ( (binary_expression "uVar3 == param_2" identifier == identifier) )) (compound_statement "{\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }" { (if_statement "if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }" if (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) )) (compound_statement "{\n          return *(undefined4 *)(*piVar5 + 8);\n        }" { (return_statement "return *(undefined4 *)(*piVar5 + 8);" return (pointer_expression "*(undefined4 *)(*piVar5 + 8)" * (cast_expression "(undefined4 *)(*piVar5 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar5 + 8)" ( (binary_expression "*piVar5 + 8" (pointer_expression "*piVar5" * identifier) + number_literal) )))) ;) })) (break_statement "break;" break ;) })) (expression_statement "piVar6 = (int *)*piVar4;" (assignment_expression "piVar6 = (int *)*piVar4" identifier = (cast_expression "(int *)*piVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar4" * identifier))) ;) (if_statement "if (piVar6 == (int *)0x0) break;" if (parenthesized_expression "(piVar6 == (int *)0x0)" ( (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar3 = piVar6[1];" (assignment_expression "uVar3 = piVar6[1]" identifier = (subscript_expression "piVar6[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar1 == 0) {\n        trap(7);\n      }" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 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 "piVar5 = piVar4;" (assignment_expression "piVar5 = piVar4" identifier = identifier) ;) }) while (parenthesized_expression "(param_2 % uVar1 == uVar3 % uVar1)" ( (binary_expression "param_2 % uVar1 == uVar3 % uVar1" (binary_expression "param_2 % uVar1" identifier % identifier) == (binary_expression "uVar3 % uVar1" identifier % identifier)) )) ;) })) (expression_statement "uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4);" (assignment_expression "uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4)" ( (binary_expression "PTR_s__s_004c1a50 + 0x4d70" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x5ea4" identifier + number_literal) )))) ;) (return_statement "return uVar2;" return identifier ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* DWARF original prototype: uint do_local_plt_offset(Sized_relobj_file<32,_false> * this, uint\n   symndx) */\n\nuint __thiscall\ngold::Sized_relobj_file<32,_false>::do_local_plt_offset\n          (Sized_relobj_file<32,_false> *this,uint symndx)\n\n{\n  uint uVar1;\n  _Hash_node_base *p_Var2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  byte *pbVar5;\n  int *piVar6;\n  size_type sVar7;\n  int iVar8;\n  int *piVar9;\n  char *format;\n  uint *puVar10;\n  _Rb_tree_color _Var11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  Compressed_section_map *pCVar15;\n  Compressed_section_map *pCVar16;\n  undefined *puVar17;\n  Object *pOVar18;\n  undefined4 *puVar19;\n  Object *this_00;\n  int iVar20;\n  __hash_code __code;\n  undefined4 uVar21;\n  Compressed_section_map *pCVar22;\n  undefined *puVar23;\n  Compressed_section_map *in_a3;\n  uint uVar24;\n  int iVar25;\n  _func_int_varargs *p_Var26;\n  uint uVar27;\n  uint *puVar28;\n  undefined *puVar29;\n  code *pcVar30;\n  ulonglong uVar31;\n  undefined8 uVar32;\n  longlong lVar33;\n  int *piStack_a0;\n  uint uStack_9c;\n  uint uStack_98;\n  uint uStack_94;\n  int iStack_90;\n  uint uStack_8c;\n  int iStack_88;\n  uint uStack_84;\n  int *piStack_80;\n  uint uStack_7c;\n  Object *pOStack_78;\n  undefined4 *puStack_74;\n  undefined *puStack_70;\n  \n  uVar1 = (this->local_plt_offsets_)._M_h._M_bucket_count;\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  pCVar22 = (Compressed_section_map *)\n            (this->local_plt_offsets_)._M_h._M_buckets[(int)(symndx % uVar1)];\n  if (pCVar22 != (Compressed_section_map *)0x0) {\n    pCVar15 = *(Compressed_section_map **)&(pCVar22->_M_t)._M_impl;\n    _Var11 = (pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color;\n    do {\n      pCVar16 = pCVar15;\n      if (_Var11 == symndx) {\n        p_Var2 = *(_Hash_node_base **)&(pCVar22->_M_t)._M_impl;\n        if (p_Var2 != (_Hash_node_base *)0x0) {\n          return (uint)p_Var2[2]._M_nxt;\n        }\n        break;\n      }\n      pCVar15 = *(Compressed_section_map **)&(pCVar16->_M_t)._M_impl;\n      in_a3 = pCVar15;\n      if (pCVar15 == (Compressed_section_map *)0x0) break;\n      _Var11 = (pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color;\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      in_a3 = (Compressed_section_map *)(_Var11 % uVar1);\n      pCVar22 = pCVar16;\n    } while ((Compressed_section_map *)(symndx % uVar1) == in_a3);\n  }\n  puVar23 = PTR_s__s_004c1a50 + 0x5ea4;\n  puVar17 = PTR_s__s_004c1a50 + 0x4d70;\n  puVar29 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar17,0x8a7);\n  pOVar18 = (Object *)&SUB_0000000c;\n  uVar1 = *(uint *)(puVar17 + 0x28);\n  puVar3 = (undefined4 *)(**(code **)(puVar29 + 0x2ef2d0))();\n  *puVar3 = 0;\n  puVar3[1] = 0;\n  puVar3[2] = 0;\n  if (uVar1 == 0) {\n    *(undefined4 **)(puVar17 + 0x44) = puVar3;\n    puVar3[1] = 0;\n    return (uint)puVar3;\n  }\n  if (uVar1 < 0x40000000) {\n    puVar4 = (undefined4 *)(**(code **)(puVar29 + 0x2ef2d0))(uVar1 * 4);\n    puVar19 = puVar4 + uVar1;\n    *puVar3 = puVar4;\n    puVar3[2] = puVar19;\n    do {\n      *puVar4 = 0;\n      puVar4 = puVar4 + 1;\n    } while (puVar19 != puVar4);\n    *(undefined4 **)(puVar17 + 0x44) = puVar3;\n    puVar3[1] = puVar19;\n    return (uint)puVar4;\n  }\n  (**(code **)(puVar29 + 0x2ef9e8))();\n  uVar1 = 0xc;\n  (**(code **)(puVar29 + 0x2ef34c))(puVar3);\n  pcVar30 = *(code **)(puVar29 + 0x2ef1f0);\n  this_00 = pOVar18;\n  (*pcVar30)();\n  pbVar5 = (byte *)((int)&(in_a3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color + 3);\n  uVar12 = (uint)(pbVar5 < in_a3);\n  pCVar22 = (Compressed_section_map *)((uint)pbVar5 & 0xfffffff8);\n  pOStack_78 = pOVar18;\n  puStack_74 = puVar3;\n  puStack_70 = puVar17;\n  if ((uVar12 == 0) && (pCVar22 == in_a3)) {\n    this_00[3].compressed_sections_ = pCVar22;\n    piVar6 = *(int **)(pcVar30 + 0x2ef7e0);\n    uVar24 = *(uint *)((int)&this_00[3].name_.field_2 + 4);\n    this_00[3].xindex_ = (Xindex *)(puVar23 + uVar12);\n    if (*(int *)(*piVar6 + 8) != 0) {\n      uStack_8c = (uint)*(byte *)(*(int *)(*piVar6 + 8) + 0x3195);\n      if (uVar24 < 2) {\n        return uVar1;\n      }\n      sVar7 = this_00[4].name_._M_string_length;\n      puVar28 = (uint *)(sVar7 + 0x18);\n      uVar12 = 1;\n      if ((*(uint *)(sVar7 + 0x20) & 1) == 0) {\n        uVar21 = 0x96c;\n      }\n      else {\n        iStack_88 = *(int *)(pcVar30 + 0x2ef87c);\n        uVar31 = (ulonglong)*(uint *)(*(int *)(pcVar30 + 0x2ef0a8) + 0x355c);\n        iStack_90 = *(int *)(pcVar30 + 0x2ef87c) + 0x4f3c;\n        do {\n          uVar13 = puVar28[2] >> 5;\n          if (-1 < (int)(puVar28[2] << 0x1b)) {\n            if ((uVar13 != 0xfff1) &&\n               (iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0)) {\n              format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c);\n              uVar27 = uVar13;\n              uVar13 = uVar12;\n              goto LAB_001d24f0;\n            }\n            goto LAB_001d22bc;\n          }\n          if (uVar13 < this_00->shnum_) {\n            piVar6 = (int *)(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8);\n            p_Var26 = this_00[1]._vptr_Object[uVar13];\n            iVar25 = *piVar6;\n            uVar27 = piVar6[1];\n            iVar8 = (**(code **)(pcVar30 + 0x2ef970))(puVar29 + 0x2f7168,this_00,uVar13);\n            if (iVar8 != 0) {\n              if (p_Var26 != (_func_int_varargs *)0x0) goto LAB_001d28f0;\n              uVar21 = 0x98d;\n              if (iVar25 != -1) break;\n              if (uVar27 != 0xffffffff) goto LAB_001d28f0;\n              (**(code **)(pcVar30 + 0x2f1acc))\n                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13);\n              if (piStack_a0 != (int *)0x0) {\n                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }\n                uStack_84 = uStack_9c;\n                piStack_80 = piStack_a0;\n                p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);\n                piVar6 = piStack_80;\n                uVar27 = uStack_84;\nLAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;\n                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }\nLAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);\n              }\n              uVar21 = 0x991;\n              break;\n            }\n            if (p_Var26 == (_func_int_varargs *)0x0) goto joined_r0x001d22e4;\nLAB_001d2520:\n            if ((iVar25 == -1) && (uVar27 == 0xffffffff)) {\n              if (*(int *)(p_Var26 + 0x60) == 0xf) {\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }\n              if ((int)(puVar28[2] << 0x1c) < 0) {\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }\n              else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }\nLAB_001d22bc:\n              uVar13 = *puVar28;\n            }\n            else {\nLAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }\n              iVar8 = 0;\n              if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }\n              uVar13 = uVar27 + puVar28[5];\n              puVar28[5] = uVar13 + iVar20;\n              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;\n              uVar13 = *puVar28;\n            }\n            if ((uVar13 == 0) || (uVar13 == 0xfffffffe)) {\n              if (0xfffffffc < uVar1 - 1) {\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);\n                goto LAB_001d2910;\n              }\n              *puVar28 = uVar1;\n              uVar1 = uVar1 + 1;\n            }\n          }\n          else {\n            format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90);\n            uVar27 = uVar12;\nLAB_001d24f0:\n            Object::error(this_00,format,uVar27,uVar13);\n            puVar28[5] = 0;\n            puVar28[4] = 0;\n          }\njoined_r0x001d22e4:\n          if (uVar24 == uVar12 + 1) {\n            return uVar1;\n          }\n          uVar12 = uVar12 + 1;\n          puVar28 = (uint *)(this_00[4].name_._M_string_length + uVar12 * 0x18);\n          uVar21 = 0x96c;\n        } while ((puVar28[2] & 1) != 0);\n      }\n      goto LAB_001d283c;\n    }\n  }\n  else {\nLAB_001d28b8:\n    (**(code **)(pcVar30 + 0x2ef85c))\n              (*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,0xa1a,*(int *)(pcVar30 + 0x2ef87c) + 0x5738);\n  }\n  (**(code **)(pcVar30 + 0x2ef85c))\n            (*(int *)(pcVar30 + 0x2ef0a8) + -0x9b8,0x5c,*(int *)(pcVar30 + 0x2ef87c) + 0x61ac);\nLAB_001d28f0:\n  uVar21 = 0x98d;\nLAB_001d283c:\n  do {\n    (**(code **)(pcVar30 + 0x2ef85c))\n              (*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,uVar21,*(int *)(pcVar30 + 0x2ef87c) + 0x5640);\nLAB_001d2854:\n    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\nLAB_001d285c:\n    (**(code **)(pcVar30 + 0x2ef85c))(*(int *)(pcVar30 + 0x2ef0a8) + 0x3574,0xc5,iVar25 + 0x6058);\nLAB_001d2870:\n    uVar21 = 0x995;\n  } while( true );\n}\n\n" comment comment comment comment (declaration "uint __thiscall\ngold::Sized_relobj_file<32,_false>::do_local_plt_offset\n          (Sized_relobj_file<32,_false> *this,uint symndx)\n\n{\n  uint uVar1;" type_identifier (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>::do_local_plt_offset\n          (Sized_relobj_file<32,_false> *this,uint symndx)\n\n{\n  uint" identifier > : : (function_declarator "do_local_plt_offset\n          (Sized_relobj_file<32,_false> *this,uint symndx)" identifier (parameter_list "(Sized_relobj_file<32,_false> *this,uint symndx)" ( (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "uint symndx" type_identifier identifier) ))) { identifier) identifier ;) (declaration "_Hash_node_base *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "size_type sVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "_Rb_tree_color _Var11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "Compressed_section_map *pCVar15;" type_identifier (pointer_declarator "*pCVar15" * identifier) ;) (declaration "Compressed_section_map *pCVar16;" type_identifier (pointer_declarator "*pCVar16" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "Object *pOVar18;" type_identifier (pointer_declarator "*pOVar18" * identifier) ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "Object *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "__hash_code __code;" type_identifier identifier ;) (declaration "undefined4 uVar21;" type_identifier identifier ;) (declaration "Compressed_section_map *pCVar22;" type_identifier (pointer_declarator "*pCVar22" * identifier) ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "Compressed_section_map *in_a3;" type_identifier (pointer_declarator "*in_a3" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "_func_int_varargs *p_Var26;" type_identifier (pointer_declarator "*p_Var26" * identifier) ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "uint *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "undefined *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "code *pcVar30;" type_identifier (pointer_declarator "*pcVar30" * identifier) ;) (declaration "ulonglong uVar31;" type_identifier identifier ;) (declaration "undefined8 uVar32;" type_identifier identifier ;) (declaration "longlong lVar33;" type_identifier identifier ;) (declaration "int *piStack_a0;" primitive_type (pointer_declarator "*piStack_a0" * identifier) ;) (declaration "uint uStack_9c;" type_identifier identifier ;) (declaration "uint uStack_98;" type_identifier identifier ;) (declaration "uint uStack_94;" type_identifier identifier ;) (declaration "int iStack_90;" primitive_type identifier ;) (declaration "uint uStack_8c;" type_identifier identifier ;) (declaration "int iStack_88;" primitive_type identifier ;) (declaration "uint uStack_84;" type_identifier identifier ;) (declaration "int *piStack_80;" primitive_type (pointer_declarator "*piStack_80" * identifier) ;) (declaration "uint uStack_7c;" type_identifier identifier ;) (declaration "Object *pOStack_78;" type_identifier (pointer_declarator "*pOStack_78" * identifier) ;) (declaration "undefined4 *puStack_74;" type_identifier (pointer_declarator "*puStack_74" * identifier) ;) (declaration "undefined *puStack_70;" type_identifier (pointer_declarator "*puStack_70" * identifier) ;) (expression_statement "uVar1 = (this->local_plt_offsets_)._M_h._M_bucket_count;" (assignment_expression "uVar1 = (this->local_plt_offsets_)._M_h._M_bucket_count" identifier = (field_expression "(this->local_plt_offsets_)._M_h._M_bucket_count" (field_expression "(this->local_plt_offsets_)._M_h" (parenthesized_expression "(this->local_plt_offsets_)" ( (field_expression "this->local_plt_offsets_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (uVar1 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 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 "pCVar22 = (Compressed_section_map *)\n            (this->local_plt_offsets_)._M_h._M_buckets[(int)(symndx % uVar1)];" (assignment_expression "pCVar22 = (Compressed_section_map *)\n            (this->local_plt_offsets_)._M_h._M_buckets[(int)(symndx % uVar1)]" identifier = (cast_expression "(Compressed_section_map *)\n            (this->local_plt_offsets_)._M_h._M_buckets[(int)(symndx % uVar1)]" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(this->local_plt_offsets_)._M_h._M_buckets[(int)(symndx % uVar1)]" (field_expression "(this->local_plt_offsets_)._M_h._M_buckets" (field_expression "(this->local_plt_offsets_)._M_h" (parenthesized_expression "(this->local_plt_offsets_)" ( (field_expression "this->local_plt_offsets_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ (cast_expression "(int)(symndx % uVar1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(symndx % uVar1)" ( (binary_expression "symndx % uVar1" identifier % identifier) ))) ]))) ;) (if_statement "if (pCVar22 != (Compressed_section_map *)0x0) {\n    pCVar15 = *(Compressed_section_map **)&(pCVar22->_M_t)._M_impl;\n    _Var11 = (pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color;\n    do {\n      pCVar16 = pCVar15;\n      if (_Var11 == symndx) {\n        p_Var2 = *(_Hash_node_base **)&(pCVar22->_M_t)._M_impl;\n        if (p_Var2 != (_Hash_node_base *)0x0) {\n          return (uint)p_Var2[2]._M_nxt;\n        }\n        break;\n      }\n      pCVar15 = *(Compressed_section_map **)&(pCVar16->_M_t)._M_impl;\n      in_a3 = pCVar15;\n      if (pCVar15 == (Compressed_section_map *)0x0) break;\n      _Var11 = (pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color;\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      in_a3 = (Compressed_section_map *)(_Var11 % uVar1);\n      pCVar22 = pCVar16;\n    } while ((Compressed_section_map *)(symndx % uVar1) == in_a3);\n  }" if (parenthesized_expression "(pCVar22 != (Compressed_section_map *)0x0)" ( (binary_expression "pCVar22 != (Compressed_section_map *)0x0" identifier != (cast_expression "(Compressed_section_map *)0x0" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pCVar15 = *(Compressed_section_map **)&(pCVar22->_M_t)._M_impl;\n    _Var11 = (pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color;\n    do {\n      pCVar16 = pCVar15;\n      if (_Var11 == symndx) {\n        p_Var2 = *(_Hash_node_base **)&(pCVar22->_M_t)._M_impl;\n        if (p_Var2 != (_Hash_node_base *)0x0) {\n          return (uint)p_Var2[2]._M_nxt;\n        }\n        break;\n      }\n      pCVar15 = *(Compressed_section_map **)&(pCVar16->_M_t)._M_impl;\n      in_a3 = pCVar15;\n      if (pCVar15 == (Compressed_section_map *)0x0) break;\n      _Var11 = (pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color;\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      in_a3 = (Compressed_section_map *)(_Var11 % uVar1);\n      pCVar22 = pCVar16;\n    } while ((Compressed_section_map *)(symndx % uVar1) == in_a3);\n  }" { (expression_statement "pCVar15 = *(Compressed_section_map **)&(pCVar22->_M_t)._M_impl;" (assignment_expression "pCVar15 = *(Compressed_section_map **)&(pCVar22->_M_t)._M_impl" identifier = (pointer_expression "*(Compressed_section_map **)&(pCVar22->_M_t)._M_impl" * (cast_expression "(Compressed_section_map **)&(pCVar22->_M_t)._M_impl" ( (type_descriptor "Compressed_section_map **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(pCVar22->_M_t)._M_impl" & (field_expression "(pCVar22->_M_t)._M_impl" (parenthesized_expression "(pCVar22->_M_t)" ( (field_expression "pCVar22->_M_t" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "_Var11 = (pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color;" (assignment_expression "_Var11 = (pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color" identifier = (field_expression "(pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color" (field_expression "(pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header" (field_expression "(pCVar15->_M_t)._M_impl.super__Rb_tree_header" (field_expression "(pCVar15->_M_t)._M_impl" (parenthesized_expression "(pCVar15->_M_t)" ( (field_expression "pCVar15->_M_t" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (do_statement "do {\n      pCVar16 = pCVar15;\n      if (_Var11 == symndx) {\n        p_Var2 = *(_Hash_node_base **)&(pCVar22->_M_t)._M_impl;\n        if (p_Var2 != (_Hash_node_base *)0x0) {\n          return (uint)p_Var2[2]._M_nxt;\n        }\n        break;\n      }\n      pCVar15 = *(Compressed_section_map **)&(pCVar16->_M_t)._M_impl;\n      in_a3 = pCVar15;\n      if (pCVar15 == (Compressed_section_map *)0x0) break;\n      _Var11 = (pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color;\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      in_a3 = (Compressed_section_map *)(_Var11 % uVar1);\n      pCVar22 = pCVar16;\n    } while ((Compressed_section_map *)(symndx % uVar1) == in_a3);" do (compound_statement "{\n      pCVar16 = pCVar15;\n      if (_Var11 == symndx) {\n        p_Var2 = *(_Hash_node_base **)&(pCVar22->_M_t)._M_impl;\n        if (p_Var2 != (_Hash_node_base *)0x0) {\n          return (uint)p_Var2[2]._M_nxt;\n        }\n        break;\n      }\n      pCVar15 = *(Compressed_section_map **)&(pCVar16->_M_t)._M_impl;\n      in_a3 = pCVar15;\n      if (pCVar15 == (Compressed_section_map *)0x0) break;\n      _Var11 = (pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color;\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      in_a3 = (Compressed_section_map *)(_Var11 % uVar1);\n      pCVar22 = pCVar16;\n    }" { (expression_statement "pCVar16 = pCVar15;" (assignment_expression "pCVar16 = pCVar15" identifier = identifier) ;) (if_statement "if (_Var11 == symndx) {\n        p_Var2 = *(_Hash_node_base **)&(pCVar22->_M_t)._M_impl;\n        if (p_Var2 != (_Hash_node_base *)0x0) {\n          return (uint)p_Var2[2]._M_nxt;\n        }\n        break;\n      }" if (parenthesized_expression "(_Var11 == symndx)" ( (binary_expression "_Var11 == symndx" identifier == identifier) )) (compound_statement "{\n        p_Var2 = *(_Hash_node_base **)&(pCVar22->_M_t)._M_impl;\n        if (p_Var2 != (_Hash_node_base *)0x0) {\n          return (uint)p_Var2[2]._M_nxt;\n        }\n        break;\n      }" { (expression_statement "p_Var2 = *(_Hash_node_base **)&(pCVar22->_M_t)._M_impl;" (assignment_expression "p_Var2 = *(_Hash_node_base **)&(pCVar22->_M_t)._M_impl" identifier = (pointer_expression "*(_Hash_node_base **)&(pCVar22->_M_t)._M_impl" * (cast_expression "(_Hash_node_base **)&(pCVar22->_M_t)._M_impl" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(pCVar22->_M_t)._M_impl" & (field_expression "(pCVar22->_M_t)._M_impl" (parenthesized_expression "(pCVar22->_M_t)" ( (field_expression "pCVar22->_M_t" identifier -> field_identifier) )) . field_identifier))))) ;) (if_statement "if (p_Var2 != (_Hash_node_base *)0x0) {\n          return (uint)p_Var2[2]._M_nxt;\n        }" if (parenthesized_expression "(p_Var2 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var2 != (_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 (uint)p_Var2[2]._M_nxt;\n        }" { (return_statement "return (uint)p_Var2[2]._M_nxt;" return (cast_expression "(uint)p_Var2[2]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var2[2]._M_nxt" (subscript_expression "p_Var2[2]" identifier [ number_literal ]) . field_identifier)) ;) })) (break_statement "break;" break ;) })) (expression_statement "pCVar15 = *(Compressed_section_map **)&(pCVar16->_M_t)._M_impl;" (assignment_expression "pCVar15 = *(Compressed_section_map **)&(pCVar16->_M_t)._M_impl" identifier = (pointer_expression "*(Compressed_section_map **)&(pCVar16->_M_t)._M_impl" * (cast_expression "(Compressed_section_map **)&(pCVar16->_M_t)._M_impl" ( (type_descriptor "Compressed_section_map **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(pCVar16->_M_t)._M_impl" & (field_expression "(pCVar16->_M_t)._M_impl" (parenthesized_expression "(pCVar16->_M_t)" ( (field_expression "pCVar16->_M_t" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "in_a3 = pCVar15;" (assignment_expression "in_a3 = pCVar15" identifier = identifier) ;) (if_statement "if (pCVar15 == (Compressed_section_map *)0x0) break;" if (parenthesized_expression "(pCVar15 == (Compressed_section_map *)0x0)" ( (binary_expression "pCVar15 == (Compressed_section_map *)0x0" identifier == (cast_expression "(Compressed_section_map *)0x0" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "_Var11 = (pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color;" (assignment_expression "_Var11 = (pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color" identifier = (field_expression "(pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color" (field_expression "(pCVar15->_M_t)._M_impl.super__Rb_tree_header._M_header" (field_expression "(pCVar15->_M_t)._M_impl.super__Rb_tree_header" (field_expression "(pCVar15->_M_t)._M_impl" (parenthesized_expression "(pCVar15->_M_t)" ( (field_expression "pCVar15->_M_t" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (uVar1 == 0) {\n        trap(7);\n      }" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 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 "in_a3 = (Compressed_section_map *)(_Var11 % uVar1);" (assignment_expression "in_a3 = (Compressed_section_map *)(_Var11 % uVar1)" identifier = (cast_expression "(Compressed_section_map *)(_Var11 % uVar1)" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_Var11 % uVar1)" ( (binary_expression "_Var11 % uVar1" identifier % identifier) )))) ;) (expression_statement "pCVar22 = pCVar16;" (assignment_expression "pCVar22 = pCVar16" identifier = identifier) ;) }) while (parenthesized_expression "((Compressed_section_map *)(symndx % uVar1) == in_a3)" ( (binary_expression "(Compressed_section_map *)(symndx % uVar1) == in_a3" (cast_expression "(Compressed_section_map *)(symndx % uVar1)" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(symndx % uVar1)" ( (binary_expression "symndx % uVar1" identifier % identifier) ))) == identifier) )) ;) })) (expression_statement "puVar23 = PTR_s__s_004c1a50 + 0x5ea4;" (assignment_expression "puVar23 = PTR_s__s_004c1a50 + 0x5ea4" identifier = (binary_expression "PTR_s__s_004c1a50 + 0x5ea4" identifier + number_literal)) ;) (expression_statement "puVar17 = PTR_s__s_004c1a50 + 0x4d70;" (assignment_expression "puVar17 = PTR_s__s_004c1a50 + 0x4d70" identifier = (binary_expression "PTR_s__s_004c1a50 + 0x4d70" identifier + number_literal)) ;) (expression_statement "puVar29 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar29 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar17,0x8a7);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar17,0x8a7)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar17,0x8a7)" ( identifier , number_literal ))) ;) (expression_statement "pOVar18 = (Object *)&SUB_0000000c;" (assignment_expression "pOVar18 = (Object *)&SUB_0000000c" identifier = (cast_expression "(Object *)&SUB_0000000c" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&SUB_0000000c" & identifier))) ;) (expression_statement "uVar1 = *(uint *)(puVar17 + 0x28);" (assignment_expression "uVar1 = *(uint *)(puVar17 + 0x28)" identifier = (pointer_expression "*(uint *)(puVar17 + 0x28)" * (cast_expression "(uint *)(puVar17 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x28)" ( (binary_expression "puVar17 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar3 = (undefined4 *)(**(code **)(puVar29 + 0x2ef2d0))();" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(puVar29 + 0x2ef2d0))()" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar29 + 0x2ef2d0))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar29 + 0x2ef2d0))()" (parenthesized_expression "(**(code **)(puVar29 + 0x2ef2d0))" ( (pointer_expression "**(code **)(puVar29 + 0x2ef2d0)" * (pointer_expression "*(code **)(puVar29 + 0x2ef2d0)" * (cast_expression "(code **)(puVar29 + 0x2ef2d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x2ef2d0)" ( (binary_expression "puVar29 + 0x2ef2d0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*puVar3 = 0;" (assignment_expression "*puVar3 = 0" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar1 == 0) {\n    *(undefined4 **)(puVar17 + 0x44) = puVar3;\n    puVar3[1] = 0;\n    return (uint)puVar3;\n  }" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    *(undefined4 **)(puVar17 + 0x44) = puVar3;\n    puVar3[1] = 0;\n    return (uint)puVar3;\n  }" { (expression_statement "*(undefined4 **)(puVar17 + 0x44) = puVar3;" (assignment_expression "*(undefined4 **)(puVar17 + 0x44) = puVar3" (pointer_expression "*(undefined4 **)(puVar17 + 0x44)" * (cast_expression "(undefined4 **)(puVar17 + 0x44)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x44)" ( (binary_expression "puVar17 + 0x44" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return (uint)puVar3;" return (cast_expression "(uint)puVar3" ( (type_descriptor "uint" type_identifier) ) identifier) ;) })) (if_statement "if (uVar1 < 0x40000000) {\n    puVar4 = (undefined4 *)(**(code **)(puVar29 + 0x2ef2d0))(uVar1 * 4);\n    puVar19 = puVar4 + uVar1;\n    *puVar3 = puVar4;\n    puVar3[2] = puVar19;\n    do {\n      *puVar4 = 0;\n      puVar4 = puVar4 + 1;\n    } while (puVar19 != puVar4);\n    *(undefined4 **)(puVar17 + 0x44) = puVar3;\n    puVar3[1] = puVar19;\n    return (uint)puVar4;\n  }" if (parenthesized_expression "(uVar1 < 0x40000000)" ( (binary_expression "uVar1 < 0x40000000" identifier < number_literal) )) (compound_statement "{\n    puVar4 = (undefined4 *)(**(code **)(puVar29 + 0x2ef2d0))(uVar1 * 4);\n    puVar19 = puVar4 + uVar1;\n    *puVar3 = puVar4;\n    puVar3[2] = puVar19;\n    do {\n      *puVar4 = 0;\n      puVar4 = puVar4 + 1;\n    } while (puVar19 != puVar4);\n    *(undefined4 **)(puVar17 + 0x44) = puVar3;\n    puVar3[1] = puVar19;\n    return (uint)puVar4;\n  }" { (expression_statement "puVar4 = (undefined4 *)(**(code **)(puVar29 + 0x2ef2d0))(uVar1 * 4);" (assignment_expression "puVar4 = (undefined4 *)(**(code **)(puVar29 + 0x2ef2d0))(uVar1 * 4)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar29 + 0x2ef2d0))(uVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar29 + 0x2ef2d0))(uVar1 * 4)" (parenthesized_expression "(**(code **)(puVar29 + 0x2ef2d0))" ( (pointer_expression "**(code **)(puVar29 + 0x2ef2d0)" * (pointer_expression "*(code **)(puVar29 + 0x2ef2d0)" * (cast_expression "(code **)(puVar29 + 0x2ef2d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x2ef2d0)" ( (binary_expression "puVar29 + 0x2ef2d0" identifier + number_literal) ))))) )) (argument_list "(uVar1 * 4)" ( (binary_expression "uVar1 * 4" identifier * number_literal) ))))) ;) (expression_statement "puVar19 = puVar4 + uVar1;" (assignment_expression "puVar19 = puVar4 + uVar1" identifier = (binary_expression "puVar4 + uVar1" identifier + identifier)) ;) (expression_statement "*puVar3 = puVar4;" (assignment_expression "*puVar3 = puVar4" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "puVar3[2] = puVar19;" (assignment_expression "puVar3[2] = puVar19" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (do_statement "do {\n      *puVar4 = 0;\n      puVar4 = puVar4 + 1;\n    } while (puVar19 != puVar4);" do (compound_statement "{\n      *puVar4 = 0;\n      puVar4 = puVar4 + 1;\n    }" { (expression_statement "*puVar4 = 0;" (assignment_expression "*puVar4 = 0" (pointer_expression "*puVar4" * identifier) = number_literal) ;) (expression_statement "puVar4 = puVar4 + 1;" (assignment_expression "puVar4 = puVar4 + 1" identifier = (binary_expression "puVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar19 != puVar4)" ( (binary_expression "puVar19 != puVar4" identifier != identifier) )) ;) (expression_statement "*(undefined4 **)(puVar17 + 0x44) = puVar3;" (assignment_expression "*(undefined4 **)(puVar17 + 0x44) = puVar3" (pointer_expression "*(undefined4 **)(puVar17 + 0x44)" * (cast_expression "(undefined4 **)(puVar17 + 0x44)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x44)" ( (binary_expression "puVar17 + 0x44" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar3[1] = puVar19;" (assignment_expression "puVar3[1] = puVar19" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return (uint)puVar4;" return (cast_expression "(uint)puVar4" ( (type_descriptor "uint" type_identifier) ) identifier) ;) })) (expression_statement "(**(code **)(puVar29 + 0x2ef9e8))();" (call_expression "(**(code **)(puVar29 + 0x2ef9e8))()" (parenthesized_expression "(**(code **)(puVar29 + 0x2ef9e8))" ( (pointer_expression "**(code **)(puVar29 + 0x2ef9e8)" * (pointer_expression "*(code **)(puVar29 + 0x2ef9e8)" * (cast_expression "(code **)(puVar29 + 0x2ef9e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x2ef9e8)" ( (binary_expression "puVar29 + 0x2ef9e8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar1 = 0xc;" (assignment_expression "uVar1 = 0xc" identifier = number_literal) ;) (expression_statement "(**(code **)(puVar29 + 0x2ef34c))(puVar3);" (call_expression "(**(code **)(puVar29 + 0x2ef34c))(puVar3)" (parenthesized_expression "(**(code **)(puVar29 + 0x2ef34c))" ( (pointer_expression "**(code **)(puVar29 + 0x2ef34c)" * (pointer_expression "*(code **)(puVar29 + 0x2ef34c)" * (cast_expression "(code **)(puVar29 + 0x2ef34c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x2ef34c)" ( (binary_expression "puVar29 + 0x2ef34c" identifier + number_literal) ))))) )) (argument_list "(puVar3)" ( identifier ))) ;) (expression_statement "pcVar30 = *(code **)(puVar29 + 0x2ef1f0);" (assignment_expression "pcVar30 = *(code **)(puVar29 + 0x2ef1f0)" identifier = (pointer_expression "*(code **)(puVar29 + 0x2ef1f0)" * (cast_expression "(code **)(puVar29 + 0x2ef1f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x2ef1f0)" ( (binary_expression "puVar29 + 0x2ef1f0" identifier + number_literal) ))))) ;) (expression_statement "this_00 = pOVar18;" (assignment_expression "this_00 = pOVar18" identifier = identifier) ;) (expression_statement "(*pcVar30)();" (call_expression "(*pcVar30)()" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pbVar5 = (byte *)((int)&(in_a3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color + 3);" (assignment_expression "pbVar5 = (byte *)((int)&(in_a3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color + 3)" identifier = (cast_expression "(byte *)((int)&(in_a3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(in_a3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color + 3)" ( (binary_expression "(int)&(in_a3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color + 3" (cast_expression "(int)&(in_a3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(in_a3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color" & (field_expression "(in_a3->_M_t)._M_impl.super__Rb_tree_header._M_header._M_color" (field_expression "(in_a3->_M_t)._M_impl.super__Rb_tree_header._M_header" (field_expression "(in_a3->_M_t)._M_impl.super__Rb_tree_header" (field_expression "(in_a3->_M_t)._M_impl" (parenthesized_expression "(in_a3->_M_t)" ( (field_expression "in_a3->_M_t" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) ;) (expression_statement "uVar12 = (uint)(pbVar5 < in_a3);" (assignment_expression "uVar12 = (uint)(pbVar5 < in_a3)" identifier = (call_expression "(uint)(pbVar5 < in_a3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar5 < in_a3)" ( (binary_expression "pbVar5 < in_a3" identifier < identifier) )))) ;) (expression_statement "pCVar22 = (Compressed_section_map *)((uint)pbVar5 & 0xfffffff8);" (assignment_expression "pCVar22 = (Compressed_section_map *)((uint)pbVar5 & 0xfffffff8)" identifier = (cast_expression "(Compressed_section_map *)((uint)pbVar5 & 0xfffffff8)" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pbVar5 & 0xfffffff8)" ( (binary_expression "(uint)pbVar5 & 0xfffffff8" (cast_expression "(uint)pbVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "pOStack_78 = pOVar18;" (assignment_expression "pOStack_78 = pOVar18" identifier = identifier) ;) (expression_statement "puStack_74 = puVar3;" (assignment_expression "puStack_74 = puVar3" identifier = identifier) ;) (expression_statement "puStack_70 = puVar17;" (assignment_expression "puStack_70 = puVar17" identifier = identifier) ;) (if_statement "if ((uVar12 == 0) && (pCVar22 == in_a3)) {\n    this_00[3].compressed_sections_ = pCVar22;\n    piVar6 = *(int **)(pcVar30 + 0x2ef7e0);\n    uVar24 = *(uint *)((int)&this_00[3].name_.field_2 + 4);\n    this_00[3].xindex_ = (Xindex *)(puVar23 + uVar12);\n    if (*(int *)(*piVar6 + 8) != 0) {\n      uStack_8c = (uint)*(byte *)(*(int *)(*piVar6 + 8) + 0x3195);\n      if (uVar24 < 2) {\n        return uVar1;\n      }\n      sVar7 = this_00[4].name_._M_string_length;\n      puVar28 = (uint *)(sVar7 + 0x18);\n      uVar12 = 1;\n      if ((*(uint *)(sVar7 + 0x20) & 1) == 0) {\n        uVar21 = 0x96c;\n      }\n      else {\n        iStack_88 = *(int *)(pcVar30 + 0x2ef87c);\n        uVar31 = (ulonglong)*(uint *)(*(int *)(pcVar30 + 0x2ef0a8) + 0x355c);\n        iStack_90 = *(int *)(pcVar30 + 0x2ef87c) + 0x4f3c;\n        do {\n          uVar13 = puVar28[2] >> 5;\n          if (-1 < (int)(puVar28[2] << 0x1b)) {\n            if ((uVar13 != 0xfff1) &&\n               (iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0)) {\n              format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c);\n              uVar27 = uVar13;\n              uVar13 = uVar12;\n              goto LAB_001d24f0;\n            }\n            goto LAB_001d22bc;\n          }\n          if (uVar13 < this_00->shnum_) {\n            piVar6 = (int *)(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8);\n            p_Var26 = this_00[1]._vptr_Object[uVar13];\n            iVar25 = *piVar6;\n            uVar27 = piVar6[1];\n            iVar8 = (**(code **)(pcVar30 + 0x2ef970))(puVar29 + 0x2f7168,this_00,uVar13);\n            if (iVar8 != 0) {\n              if (p_Var26 != (_func_int_varargs *)0x0) goto LAB_001d28f0;\n              uVar21 = 0x98d;\n              if (iVar25 != -1) break;\n              if (uVar27 != 0xffffffff) goto LAB_001d28f0;\n              (**(code **)(pcVar30 + 0x2f1acc))\n                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13);\n              if (piStack_a0 != (int *)0x0) {\n                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }\n                uStack_84 = uStack_9c;\n                piStack_80 = piStack_a0;\n                p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);\n                piVar6 = piStack_80;\n                uVar27 = uStack_84;\nLAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;\n                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }\nLAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);\n              }\n              uVar21 = 0x991;\n              break;\n            }\n            if (p_Var26 == (_func_int_varargs *)0x0) goto joined_r0x001d22e4;\nLAB_001d2520:\n            if ((iVar25 == -1) && (uVar27 == 0xffffffff)) {\n              if (*(int *)(p_Var26 + 0x60) == 0xf) {\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }\n              if ((int)(puVar28[2] << 0x1c) < 0) {\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }\n              else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }\nLAB_001d22bc:\n              uVar13 = *puVar28;\n            }\n            else {\nLAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }\n              iVar8 = 0;\n              if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }\n              uVar13 = uVar27 + puVar28[5];\n              puVar28[5] = uVar13 + iVar20;\n              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;\n              uVar13 = *puVar28;\n            }\n            if ((uVar13 == 0) || (uVar13 == 0xfffffffe)) {\n              if (0xfffffffc < uVar1 - 1) {\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);\n                goto LAB_001d2910;\n              }\n              *puVar28 = uVar1;\n              uVar1 = uVar1 + 1;\n            }\n          }\n          else {\n            format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90);\n            uVar27 = uVar12;\nLAB_001d24f0:\n            Object::error(this_00,format,uVar27,uVar13);\n            puVar28[5] = 0;\n            puVar28[4] = 0;\n          }\njoined_r0x001d22e4:\n          if (uVar24 == uVar12 + 1) {\n            return uVar1;\n          }\n          uVar12 = uVar12 + 1;\n          puVar28 = (uint *)(this_00[4].name_._M_string_length + uVar12 * 0x18);\n          uVar21 = 0x96c;\n        } while ((puVar28[2] & 1) != 0);\n      }\n      goto LAB_001d283c;\n    }\n  }\n  else {\nLAB_001d28b8:\n    (**(code **)(pcVar30 + 0x2ef85c))\n              (*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,0xa1a,*(int *)(pcVar30 + 0x2ef87c) + 0x5738);\n  }" if (parenthesized_expression "((uVar12 == 0) && (pCVar22 == in_a3))" ( (binary_expression "(uVar12 == 0) && (pCVar22 == in_a3)" (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) && (parenthesized_expression "(pCVar22 == in_a3)" ( (binary_expression "pCVar22 == in_a3" identifier == identifier) ))) )) (compound_statement "{\n    this_00[3].compressed_sections_ = pCVar22;\n    piVar6 = *(int **)(pcVar30 + 0x2ef7e0);\n    uVar24 = *(uint *)((int)&this_00[3].name_.field_2 + 4);\n    this_00[3].xindex_ = (Xindex *)(puVar23 + uVar12);\n    if (*(int *)(*piVar6 + 8) != 0) {\n      uStack_8c = (uint)*(byte *)(*(int *)(*piVar6 + 8) + 0x3195);\n      if (uVar24 < 2) {\n        return uVar1;\n      }\n      sVar7 = this_00[4].name_._M_string_length;\n      puVar28 = (uint *)(sVar7 + 0x18);\n      uVar12 = 1;\n      if ((*(uint *)(sVar7 + 0x20) & 1) == 0) {\n        uVar21 = 0x96c;\n      }\n      else {\n        iStack_88 = *(int *)(pcVar30 + 0x2ef87c);\n        uVar31 = (ulonglong)*(uint *)(*(int *)(pcVar30 + 0x2ef0a8) + 0x355c);\n        iStack_90 = *(int *)(pcVar30 + 0x2ef87c) + 0x4f3c;\n        do {\n          uVar13 = puVar28[2] >> 5;\n          if (-1 < (int)(puVar28[2] << 0x1b)) {\n            if ((uVar13 != 0xfff1) &&\n               (iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0)) {\n              format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c);\n              uVar27 = uVar13;\n              uVar13 = uVar12;\n              goto LAB_001d24f0;\n            }\n            goto LAB_001d22bc;\n          }\n          if (uVar13 < this_00->shnum_) {\n            piVar6 = (int *)(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8);\n            p_Var26 = this_00[1]._vptr_Object[uVar13];\n            iVar25 = *piVar6;\n            uVar27 = piVar6[1];\n            iVar8 = (**(code **)(pcVar30 + 0x2ef970))(puVar29 + 0x2f7168,this_00,uVar13);\n            if (iVar8 != 0) {\n              if (p_Var26 != (_func_int_varargs *)0x0) goto LAB_001d28f0;\n              uVar21 = 0x98d;\n              if (iVar25 != -1) break;\n              if (uVar27 != 0xffffffff) goto LAB_001d28f0;\n              (**(code **)(pcVar30 + 0x2f1acc))\n                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13);\n              if (piStack_a0 != (int *)0x0) {\n                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }\n                uStack_84 = uStack_9c;\n                piStack_80 = piStack_a0;\n                p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);\n                piVar6 = piStack_80;\n                uVar27 = uStack_84;\nLAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;\n                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }\nLAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);\n              }\n              uVar21 = 0x991;\n              break;\n            }\n            if (p_Var26 == (_func_int_varargs *)0x0) goto joined_r0x001d22e4;\nLAB_001d2520:\n            if ((iVar25 == -1) && (uVar27 == 0xffffffff)) {\n              if (*(int *)(p_Var26 + 0x60) == 0xf) {\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }\n              if ((int)(puVar28[2] << 0x1c) < 0) {\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }\n              else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }\nLAB_001d22bc:\n              uVar13 = *puVar28;\n            }\n            else {\nLAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }\n              iVar8 = 0;\n              if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }\n              uVar13 = uVar27 + puVar28[5];\n              puVar28[5] = uVar13 + iVar20;\n              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;\n              uVar13 = *puVar28;\n            }\n            if ((uVar13 == 0) || (uVar13 == 0xfffffffe)) {\n              if (0xfffffffc < uVar1 - 1) {\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);\n                goto LAB_001d2910;\n              }\n              *puVar28 = uVar1;\n              uVar1 = uVar1 + 1;\n            }\n          }\n          else {\n            format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90);\n            uVar27 = uVar12;\nLAB_001d24f0:\n            Object::error(this_00,format,uVar27,uVar13);\n            puVar28[5] = 0;\n            puVar28[4] = 0;\n          }\njoined_r0x001d22e4:\n          if (uVar24 == uVar12 + 1) {\n            return uVar1;\n          }\n          uVar12 = uVar12 + 1;\n          puVar28 = (uint *)(this_00[4].name_._M_string_length + uVar12 * 0x18);\n          uVar21 = 0x96c;\n        } while ((puVar28[2] & 1) != 0);\n      }\n      goto LAB_001d283c;\n    }\n  }" { (expression_statement "this_00[3].compressed_sections_ = pCVar22;" (assignment_expression "this_00[3].compressed_sections_ = pCVar22" (field_expression "this_00[3].compressed_sections_" (subscript_expression "this_00[3]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "piVar6 = *(int **)(pcVar30 + 0x2ef7e0);" (assignment_expression "piVar6 = *(int **)(pcVar30 + 0x2ef7e0)" identifier = (pointer_expression "*(int **)(pcVar30 + 0x2ef7e0)" * (cast_expression "(int **)(pcVar30 + 0x2ef7e0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2ef7e0)" ( (binary_expression "pcVar30 + 0x2ef7e0" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = *(uint *)((int)&this_00[3].name_.field_2 + 4);" (assignment_expression "uVar24 = *(uint *)((int)&this_00[3].name_.field_2 + 4)" identifier = (pointer_expression "*(uint *)((int)&this_00[3].name_.field_2 + 4)" * (cast_expression "(uint *)((int)&this_00[3].name_.field_2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_00[3].name_.field_2 + 4)" ( (binary_expression "(int)&this_00[3].name_.field_2 + 4" (cast_expression "(int)&this_00[3].name_.field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_00[3].name_.field_2" & (field_expression "this_00[3].name_.field_2" (field_expression "this_00[3].name_" (subscript_expression "this_00[3]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "this_00[3].xindex_ = (Xindex *)(puVar23 + uVar12);" (assignment_expression "this_00[3].xindex_ = (Xindex *)(puVar23 + uVar12)" (field_expression "this_00[3].xindex_" (subscript_expression "this_00[3]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Xindex *)(puVar23 + uVar12)" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + uVar12)" ( (binary_expression "puVar23 + uVar12" identifier + identifier) )))) ;) (if_statement "if (*(int *)(*piVar6 + 8) != 0) {\n      uStack_8c = (uint)*(byte *)(*(int *)(*piVar6 + 8) + 0x3195);\n      if (uVar24 < 2) {\n        return uVar1;\n      }\n      sVar7 = this_00[4].name_._M_string_length;\n      puVar28 = (uint *)(sVar7 + 0x18);\n      uVar12 = 1;\n      if ((*(uint *)(sVar7 + 0x20) & 1) == 0) {\n        uVar21 = 0x96c;\n      }\n      else {\n        iStack_88 = *(int *)(pcVar30 + 0x2ef87c);\n        uVar31 = (ulonglong)*(uint *)(*(int *)(pcVar30 + 0x2ef0a8) + 0x355c);\n        iStack_90 = *(int *)(pcVar30 + 0x2ef87c) + 0x4f3c;\n        do {\n          uVar13 = puVar28[2] >> 5;\n          if (-1 < (int)(puVar28[2] << 0x1b)) {\n            if ((uVar13 != 0xfff1) &&\n               (iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0)) {\n              format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c);\n              uVar27 = uVar13;\n              uVar13 = uVar12;\n              goto LAB_001d24f0;\n            }\n            goto LAB_001d22bc;\n          }\n          if (uVar13 < this_00->shnum_) {\n            piVar6 = (int *)(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8);\n            p_Var26 = this_00[1]._vptr_Object[uVar13];\n            iVar25 = *piVar6;\n            uVar27 = piVar6[1];\n            iVar8 = (**(code **)(pcVar30 + 0x2ef970))(puVar29 + 0x2f7168,this_00,uVar13);\n            if (iVar8 != 0) {\n              if (p_Var26 != (_func_int_varargs *)0x0) goto LAB_001d28f0;\n              uVar21 = 0x98d;\n              if (iVar25 != -1) break;\n              if (uVar27 != 0xffffffff) goto LAB_001d28f0;\n              (**(code **)(pcVar30 + 0x2f1acc))\n                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13);\n              if (piStack_a0 != (int *)0x0) {\n                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }\n                uStack_84 = uStack_9c;\n                piStack_80 = piStack_a0;\n                p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);\n                piVar6 = piStack_80;\n                uVar27 = uStack_84;\nLAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;\n                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }\nLAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);\n              }\n              uVar21 = 0x991;\n              break;\n            }\n            if (p_Var26 == (_func_int_varargs *)0x0) goto joined_r0x001d22e4;\nLAB_001d2520:\n            if ((iVar25 == -1) && (uVar27 == 0xffffffff)) {\n              if (*(int *)(p_Var26 + 0x60) == 0xf) {\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }\n              if ((int)(puVar28[2] << 0x1c) < 0) {\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }\n              else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }\nLAB_001d22bc:\n              uVar13 = *puVar28;\n            }\n            else {\nLAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }\n              iVar8 = 0;\n              if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }\n              uVar13 = uVar27 + puVar28[5];\n              puVar28[5] = uVar13 + iVar20;\n              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;\n              uVar13 = *puVar28;\n            }\n            if ((uVar13 == 0) || (uVar13 == 0xfffffffe)) {\n              if (0xfffffffc < uVar1 - 1) {\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);\n                goto LAB_001d2910;\n              }\n              *puVar28 = uVar1;\n              uVar1 = uVar1 + 1;\n            }\n          }\n          else {\n            format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90);\n            uVar27 = uVar12;\nLAB_001d24f0:\n            Object::error(this_00,format,uVar27,uVar13);\n            puVar28[5] = 0;\n            puVar28[4] = 0;\n          }\njoined_r0x001d22e4:\n          if (uVar24 == uVar12 + 1) {\n            return uVar1;\n          }\n          uVar12 = uVar12 + 1;\n          puVar28 = (uint *)(this_00[4].name_._M_string_length + uVar12 * 0x18);\n          uVar21 = 0x96c;\n        } while ((puVar28[2] & 1) != 0);\n      }\n      goto LAB_001d283c;\n    }" if (parenthesized_expression "(*(int *)(*piVar6 + 8) != 0)" ( (binary_expression "*(int *)(*piVar6 + 8) != 0" (pointer_expression "*(int *)(*piVar6 + 8)" * (cast_expression "(int *)(*piVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar6 + 8)" ( (binary_expression "*piVar6 + 8" (pointer_expression "*piVar6" * identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n      uStack_8c = (uint)*(byte *)(*(int *)(*piVar6 + 8) + 0x3195);\n      if (uVar24 < 2) {\n        return uVar1;\n      }\n      sVar7 = this_00[4].name_._M_string_length;\n      puVar28 = (uint *)(sVar7 + 0x18);\n      uVar12 = 1;\n      if ((*(uint *)(sVar7 + 0x20) & 1) == 0) {\n        uVar21 = 0x96c;\n      }\n      else {\n        iStack_88 = *(int *)(pcVar30 + 0x2ef87c);\n        uVar31 = (ulonglong)*(uint *)(*(int *)(pcVar30 + 0x2ef0a8) + 0x355c);\n        iStack_90 = *(int *)(pcVar30 + 0x2ef87c) + 0x4f3c;\n        do {\n          uVar13 = puVar28[2] >> 5;\n          if (-1 < (int)(puVar28[2] << 0x1b)) {\n            if ((uVar13 != 0xfff1) &&\n               (iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0)) {\n              format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c);\n              uVar27 = uVar13;\n              uVar13 = uVar12;\n              goto LAB_001d24f0;\n            }\n            goto LAB_001d22bc;\n          }\n          if (uVar13 < this_00->shnum_) {\n            piVar6 = (int *)(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8);\n            p_Var26 = this_00[1]._vptr_Object[uVar13];\n            iVar25 = *piVar6;\n            uVar27 = piVar6[1];\n            iVar8 = (**(code **)(pcVar30 + 0x2ef970))(puVar29 + 0x2f7168,this_00,uVar13);\n            if (iVar8 != 0) {\n              if (p_Var26 != (_func_int_varargs *)0x0) goto LAB_001d28f0;\n              uVar21 = 0x98d;\n              if (iVar25 != -1) break;\n              if (uVar27 != 0xffffffff) goto LAB_001d28f0;\n              (**(code **)(pcVar30 + 0x2f1acc))\n                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13);\n              if (piStack_a0 != (int *)0x0) {\n                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }\n                uStack_84 = uStack_9c;\n                piStack_80 = piStack_a0;\n                p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);\n                piVar6 = piStack_80;\n                uVar27 = uStack_84;\nLAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;\n                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }\nLAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);\n              }\n              uVar21 = 0x991;\n              break;\n            }\n            if (p_Var26 == (_func_int_varargs *)0x0) goto joined_r0x001d22e4;\nLAB_001d2520:\n            if ((iVar25 == -1) && (uVar27 == 0xffffffff)) {\n              if (*(int *)(p_Var26 + 0x60) == 0xf) {\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }\n              if ((int)(puVar28[2] << 0x1c) < 0) {\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }\n              else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }\nLAB_001d22bc:\n              uVar13 = *puVar28;\n            }\n            else {\nLAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }\n              iVar8 = 0;\n              if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }\n              uVar13 = uVar27 + puVar28[5];\n              puVar28[5] = uVar13 + iVar20;\n              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;\n              uVar13 = *puVar28;\n            }\n            if ((uVar13 == 0) || (uVar13 == 0xfffffffe)) {\n              if (0xfffffffc < uVar1 - 1) {\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);\n                goto LAB_001d2910;\n              }\n              *puVar28 = uVar1;\n              uVar1 = uVar1 + 1;\n            }\n          }\n          else {\n            format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90);\n            uVar27 = uVar12;\nLAB_001d24f0:\n            Object::error(this_00,format,uVar27,uVar13);\n            puVar28[5] = 0;\n            puVar28[4] = 0;\n          }\njoined_r0x001d22e4:\n          if (uVar24 == uVar12 + 1) {\n            return uVar1;\n          }\n          uVar12 = uVar12 + 1;\n          puVar28 = (uint *)(this_00[4].name_._M_string_length + uVar12 * 0x18);\n          uVar21 = 0x96c;\n        } while ((puVar28[2] & 1) != 0);\n      }\n      goto LAB_001d283c;\n    }" { (expression_statement "uStack_8c = (uint)*(byte *)(*(int *)(*piVar6 + 8) + 0x3195);" (assignment_expression "uStack_8c = (uint)*(byte *)(*(int *)(*piVar6 + 8) + 0x3195)" identifier = (binary_expression "(uint)*(byte *)(*(int *)(*piVar6 + 8) + 0x3195)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*(int *)(*piVar6 + 8) + 0x3195)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar6 + 8) + 0x3195)" ( (binary_expression "*(int *)(*piVar6 + 8) + 0x3195" (pointer_expression "*(int *)(*piVar6 + 8)" * (cast_expression "(int *)(*piVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar6 + 8)" ( (binary_expression "*piVar6 + 8" (pointer_expression "*piVar6" * identifier) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (uVar24 < 2) {\n        return uVar1;\n      }" if (parenthesized_expression "(uVar24 < 2)" ( (binary_expression "uVar24 < 2" identifier < number_literal) )) (compound_statement "{\n        return uVar1;\n      }" { (return_statement "return uVar1;" return identifier ;) })) (expression_statement "sVar7 = this_00[4].name_._M_string_length;" (assignment_expression "sVar7 = this_00[4].name_._M_string_length" identifier = (field_expression "this_00[4].name_._M_string_length" (field_expression "this_00[4].name_" (subscript_expression "this_00[4]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ;) (expression_statement "puVar28 = (uint *)(sVar7 + 0x18);" (assignment_expression "puVar28 = (uint *)(sVar7 + 0x18)" identifier = (cast_expression "(uint *)(sVar7 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar7 + 0x18)" ( (binary_expression "sVar7 + 0x18" identifier + number_literal) )))) ;) (expression_statement "uVar12 = 1;" (assignment_expression "uVar12 = 1" identifier = number_literal) ;) (if_statement "if ((*(uint *)(sVar7 + 0x20) & 1) == 0) {\n        uVar21 = 0x96c;\n      }\n      else {\n        iStack_88 = *(int *)(pcVar30 + 0x2ef87c);\n        uVar31 = (ulonglong)*(uint *)(*(int *)(pcVar30 + 0x2ef0a8) + 0x355c);\n        iStack_90 = *(int *)(pcVar30 + 0x2ef87c) + 0x4f3c;\n        do {\n          uVar13 = puVar28[2] >> 5;\n          if (-1 < (int)(puVar28[2] << 0x1b)) {\n            if ((uVar13 != 0xfff1) &&\n               (iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0)) {\n              format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c);\n              uVar27 = uVar13;\n              uVar13 = uVar12;\n              goto LAB_001d24f0;\n            }\n            goto LAB_001d22bc;\n          }\n          if (uVar13 < this_00->shnum_) {\n            piVar6 = (int *)(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8);\n            p_Var26 = this_00[1]._vptr_Object[uVar13];\n            iVar25 = *piVar6;\n            uVar27 = piVar6[1];\n            iVar8 = (**(code **)(pcVar30 + 0x2ef970))(puVar29 + 0x2f7168,this_00,uVar13);\n            if (iVar8 != 0) {\n              if (p_Var26 != (_func_int_varargs *)0x0) goto LAB_001d28f0;\n              uVar21 = 0x98d;\n              if (iVar25 != -1) break;\n              if (uVar27 != 0xffffffff) goto LAB_001d28f0;\n              (**(code **)(pcVar30 + 0x2f1acc))\n                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13);\n              if (piStack_a0 != (int *)0x0) {\n                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }\n                uStack_84 = uStack_9c;\n                piStack_80 = piStack_a0;\n                p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);\n                piVar6 = piStack_80;\n                uVar27 = uStack_84;\nLAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;\n                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }\nLAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);\n              }\n              uVar21 = 0x991;\n              break;\n            }\n            if (p_Var26 == (_func_int_varargs *)0x0) goto joined_r0x001d22e4;\nLAB_001d2520:\n            if ((iVar25 == -1) && (uVar27 == 0xffffffff)) {\n              if (*(int *)(p_Var26 + 0x60) == 0xf) {\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }\n              if ((int)(puVar28[2] << 0x1c) < 0) {\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }\n              else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }\nLAB_001d22bc:\n              uVar13 = *puVar28;\n            }\n            else {\nLAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }\n              iVar8 = 0;\n              if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }\n              uVar13 = uVar27 + puVar28[5];\n              puVar28[5] = uVar13 + iVar20;\n              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;\n              uVar13 = *puVar28;\n            }\n            if ((uVar13 == 0) || (uVar13 == 0xfffffffe)) {\n              if (0xfffffffc < uVar1 - 1) {\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);\n                goto LAB_001d2910;\n              }\n              *puVar28 = uVar1;\n              uVar1 = uVar1 + 1;\n            }\n          }\n          else {\n            format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90);\n            uVar27 = uVar12;\nLAB_001d24f0:\n            Object::error(this_00,format,uVar27,uVar13);\n            puVar28[5] = 0;\n            puVar28[4] = 0;\n          }\njoined_r0x001d22e4:\n          if (uVar24 == uVar12 + 1) {\n            return uVar1;\n          }\n          uVar12 = uVar12 + 1;\n          puVar28 = (uint *)(this_00[4].name_._M_string_length + uVar12 * 0x18);\n          uVar21 = 0x96c;\n        } while ((puVar28[2] & 1) != 0);\n      }" if (parenthesized_expression "((*(uint *)(sVar7 + 0x20) & 1) == 0)" ( (binary_expression "(*(uint *)(sVar7 + 0x20) & 1) == 0" (parenthesized_expression "(*(uint *)(sVar7 + 0x20) & 1)" ( (binary_expression "*(uint *)(sVar7 + 0x20) & 1" (pointer_expression "*(uint *)(sVar7 + 0x20)" * (cast_expression "(uint *)(sVar7 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar7 + 0x20)" ( (binary_expression "sVar7 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar21 = 0x96c;\n      }" { (expression_statement "uVar21 = 0x96c;" (assignment_expression "uVar21 = 0x96c" identifier = number_literal) ;) }) (else_clause "else {\n        iStack_88 = *(int *)(pcVar30 + 0x2ef87c);\n        uVar31 = (ulonglong)*(uint *)(*(int *)(pcVar30 + 0x2ef0a8) + 0x355c);\n        iStack_90 = *(int *)(pcVar30 + 0x2ef87c) + 0x4f3c;\n        do {\n          uVar13 = puVar28[2] >> 5;\n          if (-1 < (int)(puVar28[2] << 0x1b)) {\n            if ((uVar13 != 0xfff1) &&\n               (iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0)) {\n              format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c);\n              uVar27 = uVar13;\n              uVar13 = uVar12;\n              goto LAB_001d24f0;\n            }\n            goto LAB_001d22bc;\n          }\n          if (uVar13 < this_00->shnum_) {\n            piVar6 = (int *)(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8);\n            p_Var26 = this_00[1]._vptr_Object[uVar13];\n            iVar25 = *piVar6;\n            uVar27 = piVar6[1];\n            iVar8 = (**(code **)(pcVar30 + 0x2ef970))(puVar29 + 0x2f7168,this_00,uVar13);\n            if (iVar8 != 0) {\n              if (p_Var26 != (_func_int_varargs *)0x0) goto LAB_001d28f0;\n              uVar21 = 0x98d;\n              if (iVar25 != -1) break;\n              if (uVar27 != 0xffffffff) goto LAB_001d28f0;\n              (**(code **)(pcVar30 + 0x2f1acc))\n                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13);\n              if (piStack_a0 != (int *)0x0) {\n                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }\n                uStack_84 = uStack_9c;\n                piStack_80 = piStack_a0;\n                p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);\n                piVar6 = piStack_80;\n                uVar27 = uStack_84;\nLAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;\n                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }\nLAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);\n              }\n              uVar21 = 0x991;\n              break;\n            }\n            if (p_Var26 == (_func_int_varargs *)0x0) goto joined_r0x001d22e4;\nLAB_001d2520:\n            if ((iVar25 == -1) && (uVar27 == 0xffffffff)) {\n              if (*(int *)(p_Var26 + 0x60) == 0xf) {\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }\n              if ((int)(puVar28[2] << 0x1c) < 0) {\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }\n              else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }\nLAB_001d22bc:\n              uVar13 = *puVar28;\n            }\n            else {\nLAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }\n              iVar8 = 0;\n              if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }\n              uVar13 = uVar27 + puVar28[5];\n              puVar28[5] = uVar13 + iVar20;\n              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;\n              uVar13 = *puVar28;\n            }\n            if ((uVar13 == 0) || (uVar13 == 0xfffffffe)) {\n              if (0xfffffffc < uVar1 - 1) {\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);\n                goto LAB_001d2910;\n              }\n              *puVar28 = uVar1;\n              uVar1 = uVar1 + 1;\n            }\n          }\n          else {\n            format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90);\n            uVar27 = uVar12;\nLAB_001d24f0:\n            Object::error(this_00,format,uVar27,uVar13);\n            puVar28[5] = 0;\n            puVar28[4] = 0;\n          }\njoined_r0x001d22e4:\n          if (uVar24 == uVar12 + 1) {\n            return uVar1;\n          }\n          uVar12 = uVar12 + 1;\n          puVar28 = (uint *)(this_00[4].name_._M_string_length + uVar12 * 0x18);\n          uVar21 = 0x96c;\n        } while ((puVar28[2] & 1) != 0);\n      }" else (compound_statement "{\n        iStack_88 = *(int *)(pcVar30 + 0x2ef87c);\n        uVar31 = (ulonglong)*(uint *)(*(int *)(pcVar30 + 0x2ef0a8) + 0x355c);\n        iStack_90 = *(int *)(pcVar30 + 0x2ef87c) + 0x4f3c;\n        do {\n          uVar13 = puVar28[2] >> 5;\n          if (-1 < (int)(puVar28[2] << 0x1b)) {\n            if ((uVar13 != 0xfff1) &&\n               (iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0)) {\n              format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c);\n              uVar27 = uVar13;\n              uVar13 = uVar12;\n              goto LAB_001d24f0;\n            }\n            goto LAB_001d22bc;\n          }\n          if (uVar13 < this_00->shnum_) {\n            piVar6 = (int *)(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8);\n            p_Var26 = this_00[1]._vptr_Object[uVar13];\n            iVar25 = *piVar6;\n            uVar27 = piVar6[1];\n            iVar8 = (**(code **)(pcVar30 + 0x2ef970))(puVar29 + 0x2f7168,this_00,uVar13);\n            if (iVar8 != 0) {\n              if (p_Var26 != (_func_int_varargs *)0x0) goto LAB_001d28f0;\n              uVar21 = 0x98d;\n              if (iVar25 != -1) break;\n              if (uVar27 != 0xffffffff) goto LAB_001d28f0;\n              (**(code **)(pcVar30 + 0x2f1acc))\n                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13);\n              if (piStack_a0 != (int *)0x0) {\n                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }\n                uStack_84 = uStack_9c;\n                piStack_80 = piStack_a0;\n                p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);\n                piVar6 = piStack_80;\n                uVar27 = uStack_84;\nLAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;\n                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }\nLAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);\n              }\n              uVar21 = 0x991;\n              break;\n            }\n            if (p_Var26 == (_func_int_varargs *)0x0) goto joined_r0x001d22e4;\nLAB_001d2520:\n            if ((iVar25 == -1) && (uVar27 == 0xffffffff)) {\n              if (*(int *)(p_Var26 + 0x60) == 0xf) {\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }\n              if ((int)(puVar28[2] << 0x1c) < 0) {\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }\n              else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }\nLAB_001d22bc:\n              uVar13 = *puVar28;\n            }\n            else {\nLAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }\n              iVar8 = 0;\n              if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }\n              uVar13 = uVar27 + puVar28[5];\n              puVar28[5] = uVar13 + iVar20;\n              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;\n              uVar13 = *puVar28;\n            }\n            if ((uVar13 == 0) || (uVar13 == 0xfffffffe)) {\n              if (0xfffffffc < uVar1 - 1) {\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);\n                goto LAB_001d2910;\n              }\n              *puVar28 = uVar1;\n              uVar1 = uVar1 + 1;\n            }\n          }\n          else {\n            format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90);\n            uVar27 = uVar12;\nLAB_001d24f0:\n            Object::error(this_00,format,uVar27,uVar13);\n            puVar28[5] = 0;\n            puVar28[4] = 0;\n          }\njoined_r0x001d22e4:\n          if (uVar24 == uVar12 + 1) {\n            return uVar1;\n          }\n          uVar12 = uVar12 + 1;\n          puVar28 = (uint *)(this_00[4].name_._M_string_length + uVar12 * 0x18);\n          uVar21 = 0x96c;\n        } while ((puVar28[2] & 1) != 0);\n      }" { (expression_statement "iStack_88 = *(int *)(pcVar30 + 0x2ef87c);" (assignment_expression "iStack_88 = *(int *)(pcVar30 + 0x2ef87c)" identifier = (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) ))))) ;) (expression_statement "uVar31 = (ulonglong)*(uint *)(*(int *)(pcVar30 + 0x2ef0a8) + 0x355c);" (assignment_expression "uVar31 = (ulonglong)*(uint *)(*(int *)(pcVar30 + 0x2ef0a8) + 0x355c)" identifier = (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar30 + 0x2ef0a8) + 0x355c)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(*(int *)(pcVar30 + 0x2ef0a8) + 0x355c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0x2ef0a8) + 0x355c)" ( (binary_expression "*(int *)(pcVar30 + 0x2ef0a8) + 0x355c" (pointer_expression "*(int *)(pcVar30 + 0x2ef0a8)" * (cast_expression "(int *)(pcVar30 + 0x2ef0a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef0a8)" ( (binary_expression "pcVar30 + 0x2ef0a8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iStack_90 = *(int *)(pcVar30 + 0x2ef87c) + 0x4f3c;" (assignment_expression "iStack_90 = *(int *)(pcVar30 + 0x2ef87c) + 0x4f3c" identifier = (binary_expression "*(int *)(pcVar30 + 0x2ef87c) + 0x4f3c" (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) )))) + number_literal)) ;) (do_statement "do {\n          uVar13 = puVar28[2] >> 5;\n          if (-1 < (int)(puVar28[2] << 0x1b)) {\n            if ((uVar13 != 0xfff1) &&\n               (iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0)) {\n              format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c);\n              uVar27 = uVar13;\n              uVar13 = uVar12;\n              goto LAB_001d24f0;\n            }\n            goto LAB_001d22bc;\n          }\n          if (uVar13 < this_00->shnum_) {\n            piVar6 = (int *)(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8);\n            p_Var26 = this_00[1]._vptr_Object[uVar13];\n            iVar25 = *piVar6;\n            uVar27 = piVar6[1];\n            iVar8 = (**(code **)(pcVar30 + 0x2ef970))(puVar29 + 0x2f7168,this_00,uVar13);\n            if (iVar8 != 0) {\n              if (p_Var26 != (_func_int_varargs *)0x0) goto LAB_001d28f0;\n              uVar21 = 0x98d;\n              if (iVar25 != -1) break;\n              if (uVar27 != 0xffffffff) goto LAB_001d28f0;\n              (**(code **)(pcVar30 + 0x2f1acc))\n                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13);\n              if (piStack_a0 != (int *)0x0) {\n                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }\n                uStack_84 = uStack_9c;\n                piStack_80 = piStack_a0;\n                p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);\n                piVar6 = piStack_80;\n                uVar27 = uStack_84;\nLAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;\n                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }\nLAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);\n              }\n              uVar21 = 0x991;\n              break;\n            }\n            if (p_Var26 == (_func_int_varargs *)0x0) goto joined_r0x001d22e4;\nLAB_001d2520:\n            if ((iVar25 == -1) && (uVar27 == 0xffffffff)) {\n              if (*(int *)(p_Var26 + 0x60) == 0xf) {\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }\n              if ((int)(puVar28[2] << 0x1c) < 0) {\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }\n              else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }\nLAB_001d22bc:\n              uVar13 = *puVar28;\n            }\n            else {\nLAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }\n              iVar8 = 0;\n              if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }\n              uVar13 = uVar27 + puVar28[5];\n              puVar28[5] = uVar13 + iVar20;\n              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;\n              uVar13 = *puVar28;\n            }\n            if ((uVar13 == 0) || (uVar13 == 0xfffffffe)) {\n              if (0xfffffffc < uVar1 - 1) {\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);\n                goto LAB_001d2910;\n              }\n              *puVar28 = uVar1;\n              uVar1 = uVar1 + 1;\n            }\n          }\n          else {\n            format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90);\n            uVar27 = uVar12;\nLAB_001d24f0:\n            Object::error(this_00,format,uVar27,uVar13);\n            puVar28[5] = 0;\n            puVar28[4] = 0;\n          }\njoined_r0x001d22e4:\n          if (uVar24 == uVar12 + 1) {\n            return uVar1;\n          }\n          uVar12 = uVar12 + 1;\n          puVar28 = (uint *)(this_00[4].name_._M_string_length + uVar12 * 0x18);\n          uVar21 = 0x96c;\n        } while ((puVar28[2] & 1) != 0);" do (compound_statement "{\n          uVar13 = puVar28[2] >> 5;\n          if (-1 < (int)(puVar28[2] << 0x1b)) {\n            if ((uVar13 != 0xfff1) &&\n               (iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0)) {\n              format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c);\n              uVar27 = uVar13;\n              uVar13 = uVar12;\n              goto LAB_001d24f0;\n            }\n            goto LAB_001d22bc;\n          }\n          if (uVar13 < this_00->shnum_) {\n            piVar6 = (int *)(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8);\n            p_Var26 = this_00[1]._vptr_Object[uVar13];\n            iVar25 = *piVar6;\n            uVar27 = piVar6[1];\n            iVar8 = (**(code **)(pcVar30 + 0x2ef970))(puVar29 + 0x2f7168,this_00,uVar13);\n            if (iVar8 != 0) {\n              if (p_Var26 != (_func_int_varargs *)0x0) goto LAB_001d28f0;\n              uVar21 = 0x98d;\n              if (iVar25 != -1) break;\n              if (uVar27 != 0xffffffff) goto LAB_001d28f0;\n              (**(code **)(pcVar30 + 0x2f1acc))\n                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13);\n              if (piStack_a0 != (int *)0x0) {\n                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }\n                uStack_84 = uStack_9c;\n                piStack_80 = piStack_a0;\n                p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);\n                piVar6 = piStack_80;\n                uVar27 = uStack_84;\nLAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;\n                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }\nLAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);\n              }\n              uVar21 = 0x991;\n              break;\n            }\n            if (p_Var26 == (_func_int_varargs *)0x0) goto joined_r0x001d22e4;\nLAB_001d2520:\n            if ((iVar25 == -1) && (uVar27 == 0xffffffff)) {\n              if (*(int *)(p_Var26 + 0x60) == 0xf) {\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }\n              if ((int)(puVar28[2] << 0x1c) < 0) {\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }\n              else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }\nLAB_001d22bc:\n              uVar13 = *puVar28;\n            }\n            else {\nLAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }\n              iVar8 = 0;\n              if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }\n              uVar13 = uVar27 + puVar28[5];\n              puVar28[5] = uVar13 + iVar20;\n              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;\n              uVar13 = *puVar28;\n            }\n            if ((uVar13 == 0) || (uVar13 == 0xfffffffe)) {\n              if (0xfffffffc < uVar1 - 1) {\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);\n                goto LAB_001d2910;\n              }\n              *puVar28 = uVar1;\n              uVar1 = uVar1 + 1;\n            }\n          }\n          else {\n            format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90);\n            uVar27 = uVar12;\nLAB_001d24f0:\n            Object::error(this_00,format,uVar27,uVar13);\n            puVar28[5] = 0;\n            puVar28[4] = 0;\n          }\njoined_r0x001d22e4:\n          if (uVar24 == uVar12 + 1) {\n            return uVar1;\n          }\n          uVar12 = uVar12 + 1;\n          puVar28 = (uint *)(this_00[4].name_._M_string_length + uVar12 * 0x18);\n          uVar21 = 0x96c;\n        }" { (expression_statement "uVar13 = puVar28[2] >> 5;" (assignment_expression "uVar13 = puVar28[2] >> 5" identifier = (binary_expression "puVar28[2] >> 5" (subscript_expression "puVar28[2]" identifier [ number_literal ]) >> number_literal)) ;) (if_statement "if (-1 < (int)(puVar28[2] << 0x1b)) {\n            if ((uVar13 != 0xfff1) &&\n               (iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0)) {\n              format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c);\n              uVar27 = uVar13;\n              uVar13 = uVar12;\n              goto LAB_001d24f0;\n            }\n            goto LAB_001d22bc;\n          }" if (parenthesized_expression "(-1 < (int)(puVar28[2] << 0x1b))" ( (binary_expression "-1 < (int)(puVar28[2] << 0x1b)" number_literal < (cast_expression "(int)(puVar28[2] << 0x1b)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar28[2] << 0x1b)" ( (binary_expression "puVar28[2] << 0x1b" (subscript_expression "puVar28[2]" identifier [ number_literal ]) << number_literal) )))) )) (compound_statement "{\n            if ((uVar13 != 0xfff1) &&\n               (iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0)) {\n              format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c);\n              uVar27 = uVar13;\n              uVar13 = uVar12;\n              goto LAB_001d24f0;\n            }\n            goto LAB_001d22bc;\n          }" { (if_statement "if ((uVar13 != 0xfff1) &&\n               (iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0)) {\n              format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c);\n              uVar27 = uVar13;\n              uVar13 = uVar12;\n              goto LAB_001d24f0;\n            }" if (parenthesized_expression "((uVar13 != 0xfff1) &&\n               (iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0))" ( (binary_expression "(uVar13 != 0xfff1) &&\n               (iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0)" (parenthesized_expression "(uVar13 != 0xfff1)" ( (binary_expression "uVar13 != 0xfff1" identifier != number_literal) )) && (parenthesized_expression "(iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13), iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(pcVar30 + 0x2efaf8))(uVar13)" identifier = (call_expression "(**(code **)(pcVar30 + 0x2efaf8))(uVar13)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2efaf8))" ( (pointer_expression "**(code **)(pcVar30 + 0x2efaf8)" * (pointer_expression "*(code **)(pcVar30 + 0x2efaf8)" * (cast_expression "(code **)(pcVar30 + 0x2efaf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2efaf8)" ( (binary_expression "pcVar30 + 0x2efaf8" identifier + number_literal) ))))) )) (argument_list "(uVar13)" ( identifier )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c);\n              uVar27 = uVar13;\n              uVar13 = uVar12;\n              goto LAB_001d24f0;\n            }" { (expression_statement "format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c);" (assignment_expression "format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c)" identifier = (cast_expression "(char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar30 + 0x2f3a5c))(iStack_88 + 0x4f0c)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2f3a5c))" ( (pointer_expression "**(code **)(pcVar30 + 0x2f3a5c)" * (pointer_expression "*(code **)(pcVar30 + 0x2f3a5c)" * (cast_expression "(code **)(pcVar30 + 0x2f3a5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2f3a5c)" ( (binary_expression "pcVar30 + 0x2f3a5c" identifier + number_literal) ))))) )) (argument_list "(iStack_88 + 0x4f0c)" ( (binary_expression "iStack_88 + 0x4f0c" identifier + number_literal) ))))) ;) (expression_statement "uVar27 = uVar13;" (assignment_expression "uVar27 = uVar13" identifier = identifier) ;) (expression_statement "uVar13 = uVar12;" (assignment_expression "uVar13 = uVar12" identifier = identifier) ;) (goto_statement "goto LAB_001d24f0;" goto statement_identifier ;) })) (goto_statement "goto LAB_001d22bc;" goto statement_identifier ;) })) (if_statement "if (uVar13 < this_00->shnum_) {\n            piVar6 = (int *)(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8);\n            p_Var26 = this_00[1]._vptr_Object[uVar13];\n            iVar25 = *piVar6;\n            uVar27 = piVar6[1];\n            iVar8 = (**(code **)(pcVar30 + 0x2ef970))(puVar29 + 0x2f7168,this_00,uVar13);\n            if (iVar8 != 0) {\n              if (p_Var26 != (_func_int_varargs *)0x0) goto LAB_001d28f0;\n              uVar21 = 0x98d;\n              if (iVar25 != -1) break;\n              if (uVar27 != 0xffffffff) goto LAB_001d28f0;\n              (**(code **)(pcVar30 + 0x2f1acc))\n                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13);\n              if (piStack_a0 != (int *)0x0) {\n                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }\n                uStack_84 = uStack_9c;\n                piStack_80 = piStack_a0;\n                p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);\n                piVar6 = piStack_80;\n                uVar27 = uStack_84;\nLAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;\n                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }\nLAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);\n              }\n              uVar21 = 0x991;\n              break;\n            }\n            if (p_Var26 == (_func_int_varargs *)0x0) goto joined_r0x001d22e4;\nLAB_001d2520:\n            if ((iVar25 == -1) && (uVar27 == 0xffffffff)) {\n              if (*(int *)(p_Var26 + 0x60) == 0xf) {\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }\n              if ((int)(puVar28[2] << 0x1c) < 0) {\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }\n              else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }\nLAB_001d22bc:\n              uVar13 = *puVar28;\n            }\n            else {\nLAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }\n              iVar8 = 0;\n              if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }\n              uVar13 = uVar27 + puVar28[5];\n              puVar28[5] = uVar13 + iVar20;\n              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;\n              uVar13 = *puVar28;\n            }\n            if ((uVar13 == 0) || (uVar13 == 0xfffffffe)) {\n              if (0xfffffffc < uVar1 - 1) {\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);\n                goto LAB_001d2910;\n              }\n              *puVar28 = uVar1;\n              uVar1 = uVar1 + 1;\n            }\n          }\n          else {\n            format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90);\n            uVar27 = uVar12;\nLAB_001d24f0:\n            Object::error(this_00,format,uVar27,uVar13);\n            puVar28[5] = 0;\n            puVar28[4] = 0;\n          }" if (parenthesized_expression "(uVar13 < this_00->shnum_)" ( (binary_expression "uVar13 < this_00->shnum_" identifier < (field_expression "this_00->shnum_" identifier -> field_identifier)) )) (compound_statement "{\n            piVar6 = (int *)(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8);\n            p_Var26 = this_00[1]._vptr_Object[uVar13];\n            iVar25 = *piVar6;\n            uVar27 = piVar6[1];\n            iVar8 = (**(code **)(pcVar30 + 0x2ef970))(puVar29 + 0x2f7168,this_00,uVar13);\n            if (iVar8 != 0) {\n              if (p_Var26 != (_func_int_varargs *)0x0) goto LAB_001d28f0;\n              uVar21 = 0x98d;\n              if (iVar25 != -1) break;\n              if (uVar27 != 0xffffffff) goto LAB_001d28f0;\n              (**(code **)(pcVar30 + 0x2f1acc))\n                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13);\n              if (piStack_a0 != (int *)0x0) {\n                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }\n                uStack_84 = uStack_9c;\n                piStack_80 = piStack_a0;\n                p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);\n                piVar6 = piStack_80;\n                uVar27 = uStack_84;\nLAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;\n                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }\nLAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);\n              }\n              uVar21 = 0x991;\n              break;\n            }\n            if (p_Var26 == (_func_int_varargs *)0x0) goto joined_r0x001d22e4;\nLAB_001d2520:\n            if ((iVar25 == -1) && (uVar27 == 0xffffffff)) {\n              if (*(int *)(p_Var26 + 0x60) == 0xf) {\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }\n              if ((int)(puVar28[2] << 0x1c) < 0) {\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }\n              else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }\nLAB_001d22bc:\n              uVar13 = *puVar28;\n            }\n            else {\nLAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }\n              iVar8 = 0;\n              if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }\n              uVar13 = uVar27 + puVar28[5];\n              puVar28[5] = uVar13 + iVar20;\n              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;\n              uVar13 = *puVar28;\n            }\n            if ((uVar13 == 0) || (uVar13 == 0xfffffffe)) {\n              if (0xfffffffc < uVar1 - 1) {\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);\n                goto LAB_001d2910;\n              }\n              *puVar28 = uVar1;\n              uVar1 = uVar1 + 1;\n            }\n          }" { (expression_statement "piVar6 = (int *)(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8);" (assignment_expression "piVar6 = (int *)(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8)" identifier = (cast_expression "(int *)(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8)" ( (binary_expression "*(int *)((int)&this_00[2].name_.field_2 + 8) + uVar13 * 8" (pointer_expression "*(int *)((int)&this_00[2].name_.field_2 + 8)" * (cast_expression "(int *)((int)&this_00[2].name_.field_2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_00[2].name_.field_2 + 8)" ( (binary_expression "(int)&this_00[2].name_.field_2 + 8" (cast_expression "(int)&this_00[2].name_.field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_00[2].name_.field_2" & (field_expression "this_00[2].name_.field_2" (field_expression "this_00[2].name_" (subscript_expression "this_00[2]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) + (binary_expression "uVar13 * 8" identifier * number_literal)) )))) ;) (expression_statement "p_Var26 = this_00[1]._vptr_Object[uVar13];" (assignment_expression "p_Var26 = this_00[1]._vptr_Object[uVar13]" identifier = (subscript_expression "this_00[1]._vptr_Object[uVar13]" (field_expression "this_00[1]._vptr_Object" (subscript_expression "this_00[1]" identifier [ number_literal ]) . field_identifier) [ identifier ])) ;) (expression_statement "iVar25 = *piVar6;" (assignment_expression "iVar25 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "uVar27 = piVar6[1];" (assignment_expression "uVar27 = piVar6[1]" identifier = (subscript_expression "piVar6[1]" identifier [ number_literal ])) ;) (expression_statement "iVar8 = (**(code **)(pcVar30 + 0x2ef970))(puVar29 + 0x2f7168,this_00,uVar13);" (assignment_expression "iVar8 = (**(code **)(pcVar30 + 0x2ef970))(puVar29 + 0x2f7168,this_00,uVar13)" identifier = (call_expression "(**(code **)(pcVar30 + 0x2ef970))(puVar29 + 0x2f7168,this_00,uVar13)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2ef970))" ( (pointer_expression "**(code **)(pcVar30 + 0x2ef970)" * (pointer_expression "*(code **)(pcVar30 + 0x2ef970)" * (cast_expression "(code **)(pcVar30 + 0x2ef970)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2ef970)" ( (binary_expression "pcVar30 + 0x2ef970" identifier + number_literal) ))))) )) (argument_list "(puVar29 + 0x2f7168,this_00,uVar13)" ( (binary_expression "puVar29 + 0x2f7168" identifier + number_literal) , identifier , identifier )))) ;) (if_statement "if (iVar8 != 0) {\n              if (p_Var26 != (_func_int_varargs *)0x0) goto LAB_001d28f0;\n              uVar21 = 0x98d;\n              if (iVar25 != -1) break;\n              if (uVar27 != 0xffffffff) goto LAB_001d28f0;\n              (**(code **)(pcVar30 + 0x2f1acc))\n                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13);\n              if (piStack_a0 != (int *)0x0) {\n                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }\n                uStack_84 = uStack_9c;\n                piStack_80 = piStack_a0;\n                p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);\n                piVar6 = piStack_80;\n                uVar27 = uStack_84;\nLAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;\n                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }\nLAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);\n              }\n              uVar21 = 0x991;\n              break;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              if (p_Var26 != (_func_int_varargs *)0x0) goto LAB_001d28f0;\n              uVar21 = 0x98d;\n              if (iVar25 != -1) break;\n              if (uVar27 != 0xffffffff) goto LAB_001d28f0;\n              (**(code **)(pcVar30 + 0x2f1acc))\n                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13);\n              if (piStack_a0 != (int *)0x0) {\n                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }\n                uStack_84 = uStack_9c;\n                piStack_80 = piStack_a0;\n                p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);\n                piVar6 = piStack_80;\n                uVar27 = uStack_84;\nLAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;\n                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }\nLAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);\n              }\n              uVar21 = 0x991;\n              break;\n            }" { (if_statement "if (p_Var26 != (_func_int_varargs *)0x0) goto LAB_001d28f0;" if (parenthesized_expression "(p_Var26 != (_func_int_varargs *)0x0)" ( (binary_expression "p_Var26 != (_func_int_varargs *)0x0" identifier != (cast_expression "(_func_int_varargs *)0x0" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001d28f0;" goto statement_identifier ;)) (expression_statement "uVar21 = 0x98d;" (assignment_expression "uVar21 = 0x98d" identifier = number_literal) ;) (if_statement "if (iVar25 != -1) break;" if (parenthesized_expression "(iVar25 != -1)" ( (binary_expression "iVar25 != -1" identifier != number_literal) )) (break_statement "break;" break ;)) (if_statement "if (uVar27 != 0xffffffff) goto LAB_001d28f0;" if (parenthesized_expression "(uVar27 != 0xffffffff)" ( (binary_expression "uVar27 != 0xffffffff" identifier != number_literal) )) (goto_statement "goto LAB_001d28f0;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcVar30 + 0x2f1acc))\n                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13);" (call_expression "(**(code **)(pcVar30 + 0x2f1acc))\n                        (&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2f1acc))" ( (pointer_expression "**(code **)(pcVar30 + 0x2f1acc)" * (pointer_expression "*(code **)(pcVar30 + 0x2f1acc)" * (cast_expression "(code **)(pcVar30 + 0x2f1acc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2f1acc)" ( (binary_expression "pcVar30 + 0x2f1acc" identifier + number_literal) ))))) )) (argument_list "(&piStack_a0,*(undefined4 *)(puVar29 + 0x2f72d0),this_00,uVar13)" ( (pointer_expression "&piStack_a0" & identifier) , (pointer_expression "*(undefined4 *)(puVar29 + 0x2f72d0)" * (cast_expression "(undefined4 *)(puVar29 + 0x2f72d0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x2f72d0)" ( (binary_expression "puVar29 + 0x2f72d0" identifier + number_literal) )))) , identifier , identifier ))) ;) (if_statement "if (piStack_a0 != (int *)0x0) {\n                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }\n                uStack_84 = uStack_9c;\n                piStack_80 = piStack_a0;\n                p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);\n                piVar6 = piStack_80;\n                uVar27 = uStack_84;\nLAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;\n                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }\nLAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);\n              }" if (parenthesized_expression "(piStack_a0 != (int *)0x0)" ( (binary_expression "piStack_a0 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }\n                uStack_84 = uStack_9c;\n                piStack_80 = piStack_a0;\n                p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);\n                piVar6 = piStack_80;\n                uVar27 = uStack_84;\nLAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;\n                if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }\nLAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);\n              }" { (if_statement "if (*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)) {\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }" if (parenthesized_expression "(*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950))" ( (binary_expression "*(code **)(*piStack_a0 + 0x60) == *(code **)(pcVar30 + 0x2ef950)" (pointer_expression "*(code **)(*piStack_a0 + 0x60)" * (cast_expression "(code **)(*piStack_a0 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piStack_a0 + 0x60)" ( (binary_expression "*piStack_a0 + 0x60" (pointer_expression "*piStack_a0" * identifier) + number_literal) )))) == (pointer_expression "*(code **)(pcVar30 + 0x2ef950)" * (cast_expression "(code **)(pcVar30 + 0x2ef950)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2ef950)" ( (binary_expression "pcVar30 + 0x2ef950" identifier + number_literal) ))))) )) (compound_statement "{\n                  if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }\n                  (**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);\nLAB_001d2894:\n                  uVar21 = 0x99d;\n                  break;\n                }" { (if_statement "if (uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)) {\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }" if (parenthesized_expression "(uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2))" ( (binary_expression "uStack_9c < (uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)" identifier < (call_expression "(uint)(piStack_a0[0xf] - piStack_a0[0xe] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piStack_a0[0xf] - piStack_a0[0xe] >> 2)" ( (binary_expression "piStack_a0[0xf] - piStack_a0[0xe] >> 2" (binary_expression "piStack_a0[0xf] - piStack_a0[0xe]" (subscript_expression "piStack_a0[0xf]" identifier [ number_literal ]) - (subscript_expression "piStack_a0[0xe]" identifier [ number_literal ])) >> number_literal) )))) )) (compound_statement "{\n                    p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);\n                    piVar6 = piStack_a0;\n                    uVar27 = uStack_9c;\n                    goto LAB_001d23e4;\n                  }" { (expression_statement "p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4);" (assignment_expression "p_Var26 = *(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4)" identifier = (pointer_expression "*(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4)" * (cast_expression "(_func_int_varargs **)(piStack_a0[0xe] + uStack_9c * 4)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piStack_a0[0xe] + uStack_9c * 4)" ( (binary_expression "piStack_a0[0xe] + uStack_9c * 4" (subscript_expression "piStack_a0[0xe]" identifier [ number_literal ]) + (binary_expression "uStack_9c * 4" identifier * number_literal)) ))))) ;) (expression_statement "piVar6 = piStack_a0;" (assignment_expression "piVar6 = piStack_a0" identifier = identifier) ;) (expression_statement "uVar27 = uStack_9c;" (assignment_expression "uVar27 = uStack_9c" identifier = identifier) ;) (goto_statement "goto LAB_001d23e4;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8);" (call_expression "(**(code **)(pcVar30 + 0x2ef85c))\n                            (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2ef85c))" ( (pointer_expression "**(code **)(pcVar30 + 0x2ef85c)" * (pointer_expression "*(code **)(pcVar30 + 0x2ef85c)" * (cast_expression "(code **)(pcVar30 + 0x2ef85c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2ef85c)" ( (binary_expression "pcVar30 + 0x2ef85c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x5c8,\n                             *(int *)(pcVar30 + 0x2ef87c) + 0x60f8)" ( (binary_expression "*(int *)(pcVar30 + 0x2ef0a8) + 0x4570" (pointer_expression "*(int *)(pcVar30 + 0x2ef0a8)" * (cast_expression "(int *)(pcVar30 + 0x2ef0a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef0a8)" ( (binary_expression "pcVar30 + 0x2ef0a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0x2ef87c) + 0x60f8" (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_001d2894:\n                  uVar21 = 0x99d;" statement_identifier : (expression_statement "uVar21 = 0x99d;" (assignment_expression "uVar21 = 0x99d" identifier = number_literal) ;)) (break_statement "break;" break ;) })) (expression_statement "uStack_84 = uStack_9c;" (assignment_expression "uStack_84 = uStack_9c" identifier = identifier) ;) (expression_statement "piStack_80 = piStack_a0;" (assignment_expression "piStack_80 = piStack_a0" identifier = identifier) ;) (expression_statement "p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c);" (assignment_expression "p_Var26 = (_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c)" identifier = (cast_expression "(_func_int_varargs *)\n                          (**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c)" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*piStack_a0 + 0x60))(piStack_a0,uStack_9c)" (parenthesized_expression "(**(code **)(*piStack_a0 + 0x60))" ( (pointer_expression "**(code **)(*piStack_a0 + 0x60)" * (pointer_expression "*(code **)(*piStack_a0 + 0x60)" * (cast_expression "(code **)(*piStack_a0 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piStack_a0 + 0x60)" ( (binary_expression "*piStack_a0 + 0x60" (pointer_expression "*piStack_a0" * identifier) + number_literal) ))))) )) (argument_list "(piStack_a0,uStack_9c)" ( identifier , identifier ))))) ;) (expression_statement "piVar6 = piStack_80;" (assignment_expression "piVar6 = piStack_80" identifier = identifier) ;) (expression_statement "uVar27 = uStack_84;" (assignment_expression "uVar27 = uStack_84" identifier = identifier) ;) (labeled_statement "LAB_001d23e4:\n                if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;" statement_identifier : (if_statement "if (p_Var26 == (_func_int_varargs *)0x0) goto LAB_001d2870;" if (parenthesized_expression "(p_Var26 == (_func_int_varargs *)0x0)" ( (binary_expression "p_Var26 == (_func_int_varargs *)0x0" identifier == (cast_expression "(_func_int_varargs *)0x0" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001d2870;" goto statement_identifier ;))) (if_statement "if (uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)) {\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }" if (parenthesized_expression "(uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3))" ( (binary_expression "uVar27 < (uint)(piVar6[0x22] - piVar6[0x21] >> 3)" identifier < (call_expression "(uint)(piVar6[0x22] - piVar6[0x21] >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar6[0x22] - piVar6[0x21] >> 3)" ( (binary_expression "piVar6[0x22] - piVar6[0x21] >> 3" (binary_expression "piVar6[0x22] - piVar6[0x21]" (subscript_expression "piVar6[0x22]" identifier [ number_literal ]) - (subscript_expression "piVar6[0x21]" identifier [ number_literal ])) >> number_literal) )))) )) (compound_statement "{\n                  piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);\n                  iVar25 = *piVar9;\n                  uVar27 = piVar9[1];\n                  if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);\n                  if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }\n                  goto LAB_001d2894;\n                }" { (expression_statement "piVar9 = (int *)(piVar6[0x21] + uVar27 * 8);" (assignment_expression "piVar9 = (int *)(piVar6[0x21] + uVar27 * 8)" identifier = (cast_expression "(int *)(piVar6[0x21] + uVar27 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar6[0x21] + uVar27 * 8)" ( (binary_expression "piVar6[0x21] + uVar27 * 8" (subscript_expression "piVar6[0x21]" identifier [ number_literal ]) + (binary_expression "uVar27 * 8" identifier * number_literal)) )))) ;) (expression_statement "iVar25 = *piVar9;" (assignment_expression "iVar25 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "uVar27 = piVar9[1];" (assignment_expression "uVar27 = piVar9[1]" identifier = (subscript_expression "piVar9[1]" identifier [ number_literal ])) ;) (if_statement "if ((iVar25 != -1) || (uVar27 != 0xffffffff)) goto LAB_001d241c;" if (parenthesized_expression "((iVar25 != -1) || (uVar27 != 0xffffffff))" ( (binary_expression "(iVar25 != -1) || (uVar27 != 0xffffffff)" (parenthesized_expression "(iVar25 != -1)" ( (binary_expression "iVar25 != -1" identifier != number_literal) )) || (parenthesized_expression "(uVar27 != 0xffffffff)" ( (binary_expression "uVar27 != 0xffffffff" identifier != number_literal) ))) )) (goto_statement "goto LAB_001d241c;" goto statement_identifier ;)) (expression_statement "iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6);" (assignment_expression "iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6)" identifier = (call_expression "(**(code **)(pcVar30 + 0x2f1adc))(p_Var26,piVar6)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2f1adc))" ( (pointer_expression "**(code **)(pcVar30 + 0x2f1adc)" * (pointer_expression "*(code **)(pcVar30 + 0x2f1adc)" * (cast_expression "(code **)(pcVar30 + 0x2f1adc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2f1adc)" ( (binary_expression "pcVar30 + 0x2f1adc" identifier + number_literal) ))))) )) (argument_list "(p_Var26,piVar6)" ( identifier , identifier )))) ;) (if_statement "if (iVar8 != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);\n                    iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);\n                    goto LAB_001d2520;\n                  }" { (expression_statement "iVar25 = *(int *)(pcVar30 + 0x2ef87c);" (assignment_expression "iVar25 = *(int *)(pcVar30 + 0x2ef87c)" identifier = (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;" if (parenthesized_expression "(-1 < *(int *)(iVar8 + 0x20))" ( (binary_expression "-1 < *(int *)(iVar8 + 0x20)" number_literal < (pointer_expression "*(int *)(iVar8 + 0x20)" * (cast_expression "(int *)(iVar8 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x20)" ( (binary_expression "iVar8 + 0x20" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001d285c;" goto statement_identifier ;)) (if_statement "if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;" if (parenthesized_expression "(-1 < *(int *)(p_Var26 + 0x20))" ( (binary_expression "-1 < *(int *)(p_Var26 + 0x20)" number_literal < (pointer_expression "*(int *)(p_Var26 + 0x20)" * (cast_expression "(int *)(p_Var26 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 0x20)" ( (binary_expression "p_Var26 + 0x20" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001d285c;" goto statement_identifier ;)) (expression_statement "uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc);" (assignment_expression "uVar27 = *(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc)" identifier = (binary_expression "*(uint *)(iVar8 + 0xc) - *(int *)(p_Var26 + 0xc)" (pointer_expression "*(uint *)(iVar8 + 0xc)" * (cast_expression "(uint *)(iVar8 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) )))) - (pointer_expression "*(int *)(p_Var26 + 0xc)" * (cast_expression "(int *)(p_Var26 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 0xc)" ( (binary_expression "p_Var26 + 0xc" identifier + number_literal) )))))) ;) (expression_statement "iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27);" (assignment_expression "iVar25 = (*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27)" identifier = (binary_expression "(*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)) -\n                             (uint)(*(uint *)(iVar8 + 0xc) < uVar27)" (parenthesized_expression "(*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8))" ( (binary_expression "*(int *)(iVar8 + 8) - *(int *)(p_Var26 + 8)" (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) )))) - (pointer_expression "*(int *)(p_Var26 + 8)" * (cast_expression "(int *)(p_Var26 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 8)" ( (binary_expression "p_Var26 + 8" identifier + number_literal) ))))) )) - (call_expression "(uint)(*(uint *)(iVar8 + 0xc) < uVar27)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(iVar8 + 0xc) < uVar27)" ( (binary_expression "*(uint *)(iVar8 + 0xc) < uVar27" (pointer_expression "*(uint *)(iVar8 + 0xc)" * (cast_expression "(uint *)(iVar8 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) )))) < identifier) ))))) ;) (goto_statement "goto LAB_001d2520;" goto statement_identifier ;) })) (goto_statement "goto LAB_001d2894;" goto statement_identifier ;) })) (labeled_statement "LAB_001d2910:\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);" statement_identifier : (expression_statement "(**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0);" (call_expression "(**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2ef85c))" ( (pointer_expression "**(code **)(pcVar30 + 0x2ef85c)" * (pointer_expression "*(code **)(pcVar30 + 0x2ef85c)" * (cast_expression "(code **)(pcVar30 + 0x2ef85c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2ef85c)" ( (binary_expression "pcVar30 + 0x2ef85c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x7f7,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x59c0)" ( (binary_expression "*(int *)(pcVar30 + 0x2ef0a8) + 0x4570" (pointer_expression "*(int *)(pcVar30 + 0x2ef0a8)" * (cast_expression "(int *)(pcVar30 + 0x2ef0a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef0a8)" ( (binary_expression "pcVar30 + 0x2ef0a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0x2ef87c) + 0x59c0" (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) )))) + number_literal) ))) ;)) })) (expression_statement "uVar21 = 0x991;" (assignment_expression "uVar21 = 0x991" identifier = number_literal) ;) (break_statement "break;" break ;) })) (if_statement "if (p_Var26 == (_func_int_varargs *)0x0) goto joined_r0x001d22e4;" if (parenthesized_expression "(p_Var26 == (_func_int_varargs *)0x0)" ( (binary_expression "p_Var26 == (_func_int_varargs *)0x0" identifier == (cast_expression "(_func_int_varargs *)0x0" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto joined_r0x001d22e4;" goto statement_identifier ;)) (labeled_statement "LAB_001d2520:\n            if ((iVar25 == -1) && (uVar27 == 0xffffffff)) {\n              if (*(int *)(p_Var26 + 0x60) == 0xf) {\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }\n              if ((int)(puVar28[2] << 0x1c) < 0) {\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }\n              else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }\nLAB_001d22bc:\n              uVar13 = *puVar28;\n            }\n            else {\nLAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }\n              iVar8 = 0;\n              if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }\n              uVar13 = uVar27 + puVar28[5];\n              puVar28[5] = uVar13 + iVar20;\n              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;\n              uVar13 = *puVar28;\n            }" statement_identifier : (if_statement "if ((iVar25 == -1) && (uVar27 == 0xffffffff)) {\n              if (*(int *)(p_Var26 + 0x60) == 0xf) {\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }\n              if ((int)(puVar28[2] << 0x1c) < 0) {\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }\n              else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }\nLAB_001d22bc:\n              uVar13 = *puVar28;\n            }\n            else {\nLAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }\n              iVar8 = 0;\n              if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }\n              uVar13 = uVar27 + puVar28[5];\n              puVar28[5] = uVar13 + iVar20;\n              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;\n              uVar13 = *puVar28;\n            }" if (parenthesized_expression "((iVar25 == -1) && (uVar27 == 0xffffffff))" ( (binary_expression "(iVar25 == -1) && (uVar27 == 0xffffffff)" (parenthesized_expression "(iVar25 == -1)" ( (binary_expression "iVar25 == -1" identifier == number_literal) )) && (parenthesized_expression "(uVar27 == 0xffffffff)" ( (binary_expression "uVar27 == 0xffffffff" identifier == number_literal) ))) )) (compound_statement "{\n              if (*(int *)(p_Var26 + 0x60) == 0xf) {\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }\n              if ((int)(puVar28[2] << 0x1c) < 0) {\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }\n              else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }\nLAB_001d22bc:\n              uVar13 = *puVar28;\n            }" { (if_statement "if (*(int *)(p_Var26 + 0x60) == 0xf) {\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }" if (parenthesized_expression "(*(int *)(p_Var26 + 0x60) == 0xf)" ( (binary_expression "*(int *)(p_Var26 + 0x60) == 0xf" (pointer_expression "*(int *)(p_Var26 + 0x60)" * (cast_expression "(int *)(p_Var26 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 0x60)" ( (binary_expression "p_Var26 + 0x60" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;\n                uVar21 = 0x9b5;\n                break;\n              }" { (if_statement "if (this_00[5].name_.field_2._M_local_buf[4] != '\0') goto joined_r0x001d22e4;" if (parenthesized_expression "(this_00[5].name_.field_2._M_local_buf[4] != '\0')" ( (binary_expression "this_00[5].name_.field_2._M_local_buf[4] != '\0'" (subscript_expression "this_00[5].name_.field_2._M_local_buf[4]" (field_expression "this_00[5].name_.field_2._M_local_buf" (field_expression "this_00[5].name_.field_2" (field_expression "this_00[5].name_" (subscript_expression "this_00[5]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto joined_r0x001d22e4;" goto statement_identifier ;)) (expression_statement "uVar21 = 0x9b5;" (assignment_expression "uVar21 = 0x9b5" identifier = number_literal) ;) (break_statement "break;" break ;) })) (if_statement "if ((int)(puVar28[2] << 0x1c) < 0) {\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }\n              else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }" if (parenthesized_expression "((int)(puVar28[2] << 0x1c) < 0)" ( (binary_expression "(int)(puVar28[2] << 0x1c) < 0" (cast_expression "(int)(puVar28[2] << 0x1c)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar28[2] << 0x1c)" ( (binary_expression "puVar28[2] << 0x1c" (subscript_expression "puVar28[2]" identifier [ number_literal ]) << number_literal) ))) < number_literal) )) (compound_statement "{\n                iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);\n                if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }\n              }" { (expression_statement "iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98);" (assignment_expression "iVar8 = (**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98)" identifier = (call_expression "(**(code **)(pcVar30 + 0x2f1ad0))(p_Var26,this_00,uVar13,&uStack_98)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2f1ad0))" ( (pointer_expression "**(code **)(pcVar30 + 0x2f1ad0)" * (pointer_expression "*(code **)(pcVar30 + 0x2f1ad0)" * (cast_expression "(code **)(pcVar30 + 0x2f1ad0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2f1ad0)" ( (binary_expression "pcVar30 + 0x2f1ad0" identifier + number_literal) ))))) )) (argument_list "(p_Var26,this_00,uVar13,&uStack_98)" ( identifier , identifier , identifier , (pointer_expression "&uStack_98" & identifier) )))) ;) (if_statement "if (iVar8 == 0) {\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }\n                else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                  iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);\n                  if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }\n                }" { (expression_statement "iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13);" (assignment_expression "iVar8 = (**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13)" identifier = (call_expression "(**(code **)(pcVar30 + 0x2f1adc))(p_Var26,this_00,uVar13)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2f1adc))" ( (pointer_expression "**(code **)(pcVar30 + 0x2f1adc)" * (pointer_expression "*(code **)(pcVar30 + 0x2f1adc)" * (cast_expression "(code **)(pcVar30 + 0x2f1adc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2f1adc)" ( (binary_expression "pcVar30 + 0x2f1adc" identifier + number_literal) ))))) )) (argument_list "(p_Var26,this_00,uVar13)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }\n                  else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = *(uint *)(p_Var26 + 8);\n                    puVar28[5] = *(uint *)(p_Var26 + 0xc);\n                    puVar28[4] = uVar13;\n                  }" { (expression_statement "iVar25 = *(int *)(pcVar30 + 0x2ef87c);" (assignment_expression "iVar25 = *(int *)(pcVar30 + 0x2ef87c)" identifier = (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;" if (parenthesized_expression "(-1 < *(int *)(p_Var26 + 0x20))" ( (binary_expression "-1 < *(int *)(p_Var26 + 0x20)" number_literal < (pointer_expression "*(int *)(p_Var26 + 0x20)" * (cast_expression "(int *)(p_Var26 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 0x20)" ( (binary_expression "p_Var26 + 0x20" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001d285c;" goto statement_identifier ;)) (expression_statement "uVar13 = *(uint *)(p_Var26 + 8);" (assignment_expression "uVar13 = *(uint *)(p_Var26 + 8)" identifier = (pointer_expression "*(uint *)(p_Var26 + 8)" * (cast_expression "(uint *)(p_Var26 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 8)" ( (binary_expression "p_Var26 + 8" identifier + number_literal) ))))) ;) (expression_statement "puVar28[5] = *(uint *)(p_Var26 + 0xc);" (assignment_expression "puVar28[5] = *(uint *)(p_Var26 + 0xc)" (subscript_expression "puVar28[5]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(p_Var26 + 0xc)" * (cast_expression "(uint *)(p_Var26 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 0xc)" ( (binary_expression "p_Var26 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "puVar28[4] = uVar13;" (assignment_expression "puVar28[4] = uVar13" (subscript_expression "puVar28[4]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }" else (compound_statement "{\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;\n                    uVar14 = *(uint *)(iVar8 + 8);\n                    uVar27 = *(uint *)(iVar8 + 0xc);\n                    uVar13 = uVar27;\n                    if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }\n                    puVar28[4] = uVar14;\n                    puVar28[5] = uVar13;\n                  }" { (expression_statement "iVar25 = *(int *)(pcVar30 + 0x2ef87c);" (assignment_expression "iVar25 = *(int *)(pcVar30 + 0x2ef87c)" identifier = (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar8 + 0x20)) goto LAB_001d285c;" if (parenthesized_expression "(-1 < *(int *)(iVar8 + 0x20))" ( (binary_expression "-1 < *(int *)(iVar8 + 0x20)" number_literal < (pointer_expression "*(int *)(iVar8 + 0x20)" * (cast_expression "(int *)(iVar8 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x20)" ( (binary_expression "iVar8 + 0x20" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001d285c;" goto statement_identifier ;)) (expression_statement "uVar14 = *(uint *)(iVar8 + 8);" (assignment_expression "uVar14 = *(uint *)(iVar8 + 8)" identifier = (pointer_expression "*(uint *)(iVar8 + 8)" * (cast_expression "(uint *)(iVar8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar27 = *(uint *)(iVar8 + 0xc);" (assignment_expression "uVar27 = *(uint *)(iVar8 + 0xc)" identifier = (pointer_expression "*(uint *)(iVar8 + 0xc)" * (cast_expression "(uint *)(iVar8 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = uVar27;" (assignment_expression "uVar13 = uVar27" identifier = identifier) ;) (if_statement "if (uStack_8c != 0) {\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }" if (parenthesized_expression "(uStack_8c != 0)" ( (binary_expression "uStack_8c != 0" identifier != number_literal) )) (compound_statement "{\n                      if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                      uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);\n                      uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);\n                    }" { (if_statement "if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;" if (parenthesized_expression "(-1 < *(int *)(p_Var26 + 0x20))" ( (binary_expression "-1 < *(int *)(p_Var26 + 0x20)" number_literal < (pointer_expression "*(int *)(p_Var26 + 0x20)" * (cast_expression "(int *)(p_Var26 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 0x20)" ( (binary_expression "p_Var26 + 0x20" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001d285c;" goto statement_identifier ;)) (expression_statement "uVar13 = uVar27 - *(int *)(p_Var26 + 0xc);" (assignment_expression "uVar13 = uVar27 - *(int *)(p_Var26 + 0xc)" identifier = (binary_expression "uVar27 - *(int *)(p_Var26 + 0xc)" identifier - (pointer_expression "*(int *)(p_Var26 + 0xc)" * (cast_expression "(int *)(p_Var26 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 0xc)" ( (binary_expression "p_Var26 + 0xc" identifier + number_literal) )))))) ;) (expression_statement "uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13);" (assignment_expression "uVar14 = (uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13)" identifier = (binary_expression "(uVar14 - *(int *)(p_Var26 + 8)) - (uint)(uVar27 < uVar13)" (parenthesized_expression "(uVar14 - *(int *)(p_Var26 + 8))" ( (binary_expression "uVar14 - *(int *)(p_Var26 + 8)" identifier - (pointer_expression "*(int *)(p_Var26 + 8)" * (cast_expression "(int *)(p_Var26 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 8)" ( (binary_expression "p_Var26 + 8" identifier + number_literal) ))))) )) - (call_expression "(uint)(uVar27 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar27 < uVar13)" ( (binary_expression "uVar27 < uVar13" identifier < identifier) ))))) ;) })) (expression_statement "puVar28[4] = uVar14;" (assignment_expression "puVar28[4] = uVar14" (subscript_expression "puVar28[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar28[5] = uVar13;" (assignment_expression "puVar28[5] = uVar13" (subscript_expression "puVar28[5]" identifier [ number_literal ]) = identifier) ;) }))) }) (else_clause "else {\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }" else (compound_statement "{\n                  uVar13 = uStack_94;\n                  uVar27 = uStack_98;\n                  if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }\n                  uStack_7c = puVar28[5];\n                  piStack_80 = (int *)puVar28[4];\n                  puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);\n                  uVar14 = puVar28[2];\n                  puVar10[8] = (uint)uVar31;\n                  puVar10[1] = uStack_7c;\n                  *puVar10 = (uint)piStack_80;\n                  puVar10[2] = uVar27;\n                  puVar10[3] = uVar13;\n                  puVar10[7] = 0;\n                  puVar10[10] = 0;\n                  puVar10[4] = (uint)(puVar10 + 10);\n                  puVar10[5] = 1;\n                  puVar10[6] = 0;\n                  puVar10[9] = 0;\n                  if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }\n                  puVar28[4] = (uint)puVar10;\n                  puVar28[2] = uVar14 & 0xfffffffe;\n                }" { (expression_statement "uVar13 = uStack_94;" (assignment_expression "uVar13 = uStack_94" identifier = identifier) ;) (expression_statement "uVar27 = uStack_98;" (assignment_expression "uVar27 = uStack_98" identifier = identifier) ;) (if_statement "if (uStack_8c != 0) {\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }" if (parenthesized_expression "(uStack_8c != 0)" ( (binary_expression "uStack_8c != 0" identifier != number_literal) )) (compound_statement "{\n                    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                    if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                    uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);\n                    uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);\n                  }" { (expression_statement "iVar25 = *(int *)(pcVar30 + 0x2ef87c);" (assignment_expression "iVar25 = *(int *)(pcVar30 + 0x2ef87c)" identifier = (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;" if (parenthesized_expression "(-1 < *(int *)(p_Var26 + 0x20))" ( (binary_expression "-1 < *(int *)(p_Var26 + 0x20)" number_literal < (pointer_expression "*(int *)(p_Var26 + 0x20)" * (cast_expression "(int *)(p_Var26 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 0x20)" ( (binary_expression "p_Var26 + 0x20" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001d285c;" goto statement_identifier ;)) (expression_statement "uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc);" (assignment_expression "uVar13 = uStack_94 - *(int *)(p_Var26 + 0xc)" identifier = (binary_expression "uStack_94 - *(int *)(p_Var26 + 0xc)" identifier - (pointer_expression "*(int *)(p_Var26 + 0xc)" * (cast_expression "(int *)(p_Var26 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 0xc)" ( (binary_expression "p_Var26 + 0xc" identifier + number_literal) )))))) ;) (expression_statement "uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13);" (assignment_expression "uVar27 = (uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13)" identifier = (binary_expression "(uStack_98 - *(int *)(p_Var26 + 8)) - (uint)(uStack_94 < uVar13)" (parenthesized_expression "(uStack_98 - *(int *)(p_Var26 + 8))" ( (binary_expression "uStack_98 - *(int *)(p_Var26 + 8)" identifier - (pointer_expression "*(int *)(p_Var26 + 8)" * (cast_expression "(int *)(p_Var26 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 8)" ( (binary_expression "p_Var26 + 8" identifier + number_literal) ))))) )) - (call_expression "(uint)(uStack_94 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_94 < uVar13)" ( (binary_expression "uStack_94 < uVar13" identifier < identifier) ))))) ;) })) (expression_statement "uStack_7c = puVar28[5];" (assignment_expression "uStack_7c = puVar28[5]" identifier = (subscript_expression "puVar28[5]" identifier [ number_literal ])) ;) (expression_statement "piStack_80 = (int *)puVar28[4];" (assignment_expression "piStack_80 = (int *)puVar28[4]" identifier = (cast_expression "(int *)puVar28[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar28[4]" identifier [ number_literal ]))) ;) (expression_statement "puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30);" (assignment_expression "puVar10 = (uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30)" identifier = (cast_expression "(uint *)(**(code **)(pcVar30 + 0x2ef1d4))(0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar30 + 0x2ef1d4))(0x30)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2ef1d4))" ( (pointer_expression "**(code **)(pcVar30 + 0x2ef1d4)" * (pointer_expression "*(code **)(pcVar30 + 0x2ef1d4)" * (cast_expression "(code **)(pcVar30 + 0x2ef1d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2ef1d4)" ( (binary_expression "pcVar30 + 0x2ef1d4" identifier + number_literal) ))))) )) (argument_list "(0x30)" ( number_literal ))))) ;) (expression_statement "uVar14 = puVar28[2];" (assignment_expression "uVar14 = puVar28[2]" identifier = (subscript_expression "puVar28[2]" identifier [ number_literal ])) ;) (expression_statement "puVar10[8] = (uint)uVar31;" (assignment_expression "puVar10[8] = (uint)uVar31" (subscript_expression "puVar10[8]" identifier [ number_literal ]) = (cast_expression "(uint)uVar31" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar10[1] = uStack_7c;" (assignment_expression "puVar10[1] = uStack_7c" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar10 = (uint)piStack_80;" (assignment_expression "*puVar10 = (uint)piStack_80" (pointer_expression "*puVar10" * identifier) = (cast_expression "(uint)piStack_80" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar10[2] = uVar27;" (assignment_expression "puVar10[2] = uVar27" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar10[3] = uVar13;" (assignment_expression "puVar10[3] = uVar13" (subscript_expression "puVar10[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar10[7] = 0;" (assignment_expression "puVar10[7] = 0" (subscript_expression "puVar10[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[10] = 0;" (assignment_expression "puVar10[10] = 0" (subscript_expression "puVar10[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[4] = (uint)(puVar10 + 10);" (assignment_expression "puVar10[4] = (uint)(puVar10 + 10)" (subscript_expression "puVar10[4]" identifier [ number_literal ]) = (call_expression "(uint)(puVar10 + 10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar10 + 10)" ( (binary_expression "puVar10 + 10" identifier + number_literal) )))) ;) (expression_statement "puVar10[5] = 1;" (assignment_expression "puVar10[5] = 1" (subscript_expression "puVar10[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[6] = 0;" (assignment_expression "puVar10[6] = 0" (subscript_expression "puVar10[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[9] = 0;" (assignment_expression "puVar10[9] = 0" (subscript_expression "puVar10[9]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (-1 < (int)(uVar14 << 0x1c)) {\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }" if (parenthesized_expression "(-1 < (int)(uVar14 << 0x1c))" ( (binary_expression "-1 < (int)(uVar14 << 0x1c)" number_literal < (cast_expression "(int)(uVar14 << 0x1c)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar14 << 0x1c)" ( (binary_expression "uVar14 << 0x1c" identifier << number_literal) )))) )) (compound_statement "{\n                    (**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);\n                    goto LAB_001d28b8;\n                  }" { (expression_statement "(**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628);" (call_expression "(**(code **)(pcVar30 + 0x2ef85c))\n                              (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2ef85c))" ( (pointer_expression "**(code **)(pcVar30 + 0x2ef85c)" * (pointer_expression "*(code **)(pcVar30 + 0x2ef85c)" * (cast_expression "(code **)(pcVar30 + 0x2ef85c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2ef85c)" ( (binary_expression "pcVar30 + 0x2ef85c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x6bb,\n                               *(int *)(pcVar30 + 0x2ef87c) + 0x5628)" ( (binary_expression "*(int *)(pcVar30 + 0x2ef0a8) + 0x4570" (pointer_expression "*(int *)(pcVar30 + 0x2ef0a8)" * (cast_expression "(int *)(pcVar30 + 0x2ef0a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef0a8)" ( (binary_expression "pcVar30 + 0x2ef0a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0x2ef87c) + 0x5628" (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_001d28b8;" goto statement_identifier ;) })) (expression_statement "puVar28[4] = (uint)puVar10;" (assignment_expression "puVar28[4] = (uint)puVar10" (subscript_expression "puVar28[4]" identifier [ number_literal ]) = (cast_expression "(uint)puVar10" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar28[2] = uVar14 & 0xfffffffe;" (assignment_expression "puVar28[2] = uVar14 & 0xfffffffe" (subscript_expression "puVar28[2]" identifier [ number_literal ]) = (binary_expression "uVar14 & 0xfffffffe" identifier & number_literal)) ;) }))) }) (else_clause "else {\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }" else (compound_statement "{\n                uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);\n                if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }\n                *(undefined8 *)(puVar28 + 4) = uVar32;\n              }" { (expression_statement "uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13);" (assignment_expression "uVar32 = (**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13)" identifier = (call_expression "(**(code **)(pcVar30 + 0x2f1ad8))(p_Var26,this_00,uVar13)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2f1ad8))" ( (pointer_expression "**(code **)(pcVar30 + 0x2f1ad8)" * (pointer_expression "*(code **)(pcVar30 + 0x2f1ad8)" * (cast_expression "(code **)(pcVar30 + 0x2f1ad8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2f1ad8)" ( (binary_expression "pcVar30 + 0x2f1ad8" identifier + number_literal) ))))) )) (argument_list "(p_Var26,this_00,uVar13)" ( identifier , identifier , identifier )))) ;) (if_statement "if (uStack_8c != 0) {\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }" if (parenthesized_expression "(uStack_8c != 0)" ( (binary_expression "uStack_8c != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar25 = *(int *)(pcVar30 + 0x2ef87c);\n                  if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;\n                  uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);\n                  uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);\n                }" { (expression_statement "iVar25 = *(int *)(pcVar30 + 0x2ef87c);" (assignment_expression "iVar25 = *(int *)(pcVar30 + 0x2ef87c)" identifier = (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d285c;" if (parenthesized_expression "(-1 < *(int *)(p_Var26 + 0x20))" ( (binary_expression "-1 < *(int *)(p_Var26 + 0x20)" number_literal < (pointer_expression "*(int *)(p_Var26 + 0x20)" * (cast_expression "(int *)(p_Var26 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 0x20)" ( (binary_expression "p_Var26 + 0x20" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001d285c;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc);" (assignment_expression "uVar13 = (uint)uVar32 - *(int *)(p_Var26 + 0xc)" identifier = (binary_expression "(uint)uVar32 - *(int *)(p_Var26 + 0xc)" (cast_expression "(uint)uVar32" ( (type_descriptor "uint" type_identifier) ) identifier) - (pointer_expression "*(int *)(p_Var26 + 0xc)" * (cast_expression "(int *)(p_Var26 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 0xc)" ( (binary_expression "p_Var26 + 0xc" identifier + number_literal) )))))) ;) (expression_statement "uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13);" (assignment_expression "uVar32 = CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13)" identifier = (call_expression "CONCAT44(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13)" identifier (argument_list "(((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13),uVar13)" ( (binary_expression "((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)) -\n                                    (uint)((uint)uVar32 < uVar13)" (parenthesized_expression "((int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8))" ( (binary_expression "(int)((ulonglong)uVar32 >> 0x20) - *(int *)(p_Var26 + 8)" (cast_expression "(int)((ulonglong)uVar32 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar32 >> 0x20)" ( (binary_expression "(ulonglong)uVar32 >> 0x20" (cast_expression "(ulonglong)uVar32" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) - (pointer_expression "*(int *)(p_Var26 + 8)" * (cast_expression "(int *)(p_Var26 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 8)" ( (binary_expression "p_Var26 + 8" identifier + number_literal) ))))) )) - (call_expression "(uint)((uint)uVar32 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)uVar32 < uVar13)" ( (binary_expression "(uint)uVar32 < uVar13" (cast_expression "(uint)uVar32" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) )))) , identifier )))) ;) })) (expression_statement "*(undefined8 *)(puVar28 + 4) = uVar32;" (assignment_expression "*(undefined8 *)(puVar28 + 4) = uVar32" (pointer_expression "*(undefined8 *)(puVar28 + 4)" * (cast_expression "(undefined8 *)(puVar28 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 4)" ( (binary_expression "puVar28 + 4" identifier + number_literal) )))) = identifier) ;) }))) (labeled_statement "LAB_001d22bc:\n              uVar13 = *puVar28;" statement_identifier : (expression_statement "uVar13 = *puVar28;" (assignment_expression "uVar13 = *puVar28" identifier = (pointer_expression "*puVar28" * identifier)) ;)) }) (else_clause "else {\nLAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }\n              iVar8 = 0;\n              if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }\n              uVar13 = uVar27 + puVar28[5];\n              puVar28[5] = uVar13 + iVar20;\n              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;\n              uVar13 = *puVar28;\n            }" else (compound_statement "{\nLAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }\n              iVar8 = 0;\n              if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }\n              uVar13 = uVar27 + puVar28[5];\n              puVar28[5] = uVar13 + iVar20;\n              puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;\n              uVar13 = *puVar28;\n            }" { (labeled_statement "LAB_001d241c:\n              if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }" statement_identifier : (if_statement "if (((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))) {\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }" if (parenthesized_expression "(((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0))))" ( (binary_expression "((int)(puVar28[2] << 0x1d) < 0) ||\n                 (((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))" (parenthesized_expression "((int)(puVar28[2] << 0x1d) < 0)" ( (binary_expression "(int)(puVar28[2] << 0x1d) < 0" (cast_expression "(int)(puVar28[2] << 0x1d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar28[2] << 0x1d)" ( (binary_expression "puVar28[2] << 0x1d" (subscript_expression "puVar28[2]" identifier [ number_literal ]) << number_literal) ))) < number_literal) )) || (parenthesized_expression "(((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)))" ( (parenthesized_expression "((int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0))" ( (binary_expression "(int)(puVar28[2] << 0x1c) < 0 && ((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)" (binary_expression "(int)(puVar28[2] << 0x1c) < 0" (cast_expression "(int)(puVar28[2] << 0x1c)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar28[2] << 0x1c)" ( (binary_expression "puVar28[2] << 0x1c" (subscript_expression "puVar28[2]" identifier [ number_literal ]) << number_literal) ))) < number_literal) && (parenthesized_expression "((*(uint *)(p_Var26 + 0x5c) & 0x400) != 0)" ( (binary_expression "(*(uint *)(p_Var26 + 0x5c) & 0x400) != 0" (parenthesized_expression "(*(uint *)(p_Var26 + 0x5c) & 0x400)" ( (binary_expression "*(uint *)(p_Var26 + 0x5c) & 0x400" (pointer_expression "*(uint *)(p_Var26 + 0x5c)" * (cast_expression "(uint *)(p_Var26 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 0x5c)" ( (binary_expression "p_Var26 + 0x5c" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n                if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }\n                *(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);\n                goto LAB_001d22bc;\n              }" { (if_statement "if (*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)) {\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }\n                else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }" if (parenthesized_expression "(*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4))" ( (binary_expression "*(code **)(*(int *)p_Var26 + 0x48) == *(code **)(pcVar30 + 0x2f1ad4)" (pointer_expression "*(code **)(*(int *)p_Var26 + 0x48)" * (cast_expression "(code **)(*(int *)p_Var26 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)p_Var26 + 0x48)" ( (binary_expression "*(int *)p_Var26 + 0x48" (pointer_expression "*(int *)p_Var26" * (cast_expression "(int *)p_Var26" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (pointer_expression "*(code **)(pcVar30 + 0x2f1ad4)" * (cast_expression "(code **)(pcVar30 + 0x2f1ad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2f1ad4)" ( (binary_expression "pcVar30 + 0x2f1ad4" identifier + number_literal) ))))) )) (compound_statement "{\n                  lVar33 = *(longlong *)(p_Var26 + 0xa0);\n                }" { (expression_statement "lVar33 = *(longlong *)(p_Var26 + 0xa0);" (assignment_expression "lVar33 = *(longlong *)(p_Var26 + 0xa0)" identifier = (pointer_expression "*(longlong *)(p_Var26 + 0xa0)" * (cast_expression "(longlong *)(p_Var26 + 0xa0)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 0xa0)" ( (binary_expression "p_Var26 + 0xa0" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }" else (compound_statement "{\n                  lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);\n                }" { (expression_statement "lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26);" (assignment_expression "lVar33 = (**(code **)(*(int *)p_Var26 + 0x48))(p_Var26)" identifier = (call_expression "(**(code **)(*(int *)p_Var26 + 0x48))(p_Var26)" (parenthesized_expression "(**(code **)(*(int *)p_Var26 + 0x48))" ( (pointer_expression "**(code **)(*(int *)p_Var26 + 0x48)" * (pointer_expression "*(code **)(*(int *)p_Var26 + 0x48)" * (cast_expression "(code **)(*(int *)p_Var26 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)p_Var26 + 0x48)" ( (binary_expression "*(int *)p_Var26 + 0x48" (pointer_expression "*(int *)p_Var26" * (cast_expression "(int *)p_Var26" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(p_Var26)" ( identifier )))) ;) }))) (expression_statement "*(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5]);" (assignment_expression "*(longlong *)(puVar28 + 4) =\n                     lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5])" (pointer_expression "*(longlong *)(puVar28 + 4)" * (cast_expression "(longlong *)(puVar28 + 4)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 4)" ( (binary_expression "puVar28 + 4" identifier + number_literal) )))) = (binary_expression "lVar33 + CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5])" identifier + (call_expression "CONCAT44((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5])" identifier (argument_list "((uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4],\n                                       uVar27 + puVar28[5])" ( (binary_expression "(uint)(uVar27 + puVar28[5] < uVar27) + iVar25 + puVar28[4]" (binary_expression "(uint)(uVar27 + puVar28[5] < uVar27) + iVar25" (call_expression "(uint)(uVar27 + puVar28[5] < uVar27)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar27 + puVar28[5] < uVar27)" ( (binary_expression "uVar27 + puVar28[5] < uVar27" (binary_expression "uVar27 + puVar28[5]" identifier + (subscript_expression "puVar28[5]" identifier [ number_literal ])) < identifier) ))) + identifier) + (subscript_expression "puVar28[4]" identifier [ number_literal ])) , (binary_expression "uVar27 + puVar28[5]" identifier + (subscript_expression "puVar28[5]" identifier [ number_literal ])) ))))) ;) (goto_statement "goto LAB_001d22bc;" goto statement_identifier ;) }))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (if_statement "if (uStack_8c == 0) {\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }\n              else {\n                iVar20 = 0;\n              }" if (parenthesized_expression "(uStack_8c == 0)" ( (binary_expression "uStack_8c == 0" identifier == number_literal) )) (compound_statement "{\n                if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;\n                iVar8 = *(int *)(p_Var26 + 8);\n                iVar20 = *(int *)(p_Var26 + 0xc);\n              }" { (if_statement "if (-1 < *(int *)(p_Var26 + 0x20)) goto LAB_001d2854;" if (parenthesized_expression "(-1 < *(int *)(p_Var26 + 0x20))" ( (binary_expression "-1 < *(int *)(p_Var26 + 0x20)" number_literal < (pointer_expression "*(int *)(p_Var26 + 0x20)" * (cast_expression "(int *)(p_Var26 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 0x20)" ( (binary_expression "p_Var26 + 0x20" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001d2854;" goto statement_identifier ;)) (expression_statement "iVar8 = *(int *)(p_Var26 + 8);" (assignment_expression "iVar8 = *(int *)(p_Var26 + 8)" identifier = (pointer_expression "*(int *)(p_Var26 + 8)" * (cast_expression "(int *)(p_Var26 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 8)" ( (binary_expression "p_Var26 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(p_Var26 + 0xc);" (assignment_expression "iVar20 = *(int *)(p_Var26 + 0xc)" identifier = (pointer_expression "*(int *)(p_Var26 + 0xc)" * (cast_expression "(int *)(p_Var26 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var26 + 0xc)" ( (binary_expression "p_Var26 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                iVar20 = 0;\n              }" else (compound_statement "{\n                iVar20 = 0;\n              }" { (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) }))) (expression_statement "uVar13 = uVar27 + puVar28[5];" (assignment_expression "uVar13 = uVar27 + puVar28[5]" identifier = (binary_expression "uVar27 + puVar28[5]" identifier + (subscript_expression "puVar28[5]" identifier [ number_literal ]))) ;) (expression_statement "puVar28[5] = uVar13 + iVar20;" (assignment_expression "puVar28[5] = uVar13 + iVar20" (subscript_expression "puVar28[5]" identifier [ number_literal ]) = (binary_expression "uVar13 + iVar20" identifier + identifier)) ;) (expression_statement "puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8;" (assignment_expression "puVar28[4] = (uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8" (subscript_expression "puVar28[4]" identifier [ number_literal ]) = (binary_expression "(uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4] + iVar8" (binary_expression "(uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25 + puVar28[4]" (binary_expression "(uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27) + iVar25" (binary_expression "(uint)(uVar13 + iVar20 < uVar13) +\n                           (uint)(uVar13 < uVar27)" (call_expression "(uint)(uVar13 + iVar20 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 + iVar20 < uVar13)" ( (binary_expression "uVar13 + iVar20 < uVar13" (binary_expression "uVar13 + iVar20" identifier + identifier) < identifier) ))) + (call_expression "(uint)(uVar13 < uVar27)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < uVar27)" ( (binary_expression "uVar13 < uVar27" identifier < identifier) )))) + identifier) + (subscript_expression "puVar28[4]" identifier [ number_literal ])) + identifier)) ;) (expression_statement "uVar13 = *puVar28;" (assignment_expression "uVar13 = *puVar28" identifier = (pointer_expression "*puVar28" * identifier)) ;) })))) (if_statement "if ((uVar13 == 0) || (uVar13 == 0xfffffffe)) {\n              if (0xfffffffc < uVar1 - 1) {\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);\n                goto LAB_001d2910;\n              }\n              *puVar28 = uVar1;\n              uVar1 = uVar1 + 1;\n            }" if (parenthesized_expression "((uVar13 == 0) || (uVar13 == 0xfffffffe))" ( (binary_expression "(uVar13 == 0) || (uVar13 == 0xfffffffe)" (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar13 == 0xfffffffe)" ( (binary_expression "uVar13 == 0xfffffffe" identifier == number_literal) ))) )) (compound_statement "{\n              if (0xfffffffc < uVar1 - 1) {\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);\n                goto LAB_001d2910;\n              }\n              *puVar28 = uVar1;\n              uVar1 = uVar1 + 1;\n            }" { (if_statement "if (0xfffffffc < uVar1 - 1) {\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);\n                goto LAB_001d2910;\n              }" if (parenthesized_expression "(0xfffffffc < uVar1 - 1)" ( (binary_expression "0xfffffffc < uVar1 - 1" number_literal < (binary_expression "uVar1 - 1" identifier - number_literal)) )) (compound_statement "{\n                (**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);\n                goto LAB_001d2910;\n              }" { (expression_statement "(**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720);" (call_expression "(**(code **)(pcVar30 + 0x2ef85c))\n                          (*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2ef85c))" ( (pointer_expression "**(code **)(pcVar30 + 0x2ef85c)" * (pointer_expression "*(code **)(pcVar30 + 0x2ef85c)" * (cast_expression "(code **)(pcVar30 + 0x2ef85c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2ef85c)" ( (binary_expression "pcVar30 + 0x2ef85c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x2ef0a8) + 0x4570,0x70d,\n                           *(int *)(pcVar30 + 0x2ef87c) + 0x5720)" ( (binary_expression "*(int *)(pcVar30 + 0x2ef0a8) + 0x4570" (pointer_expression "*(int *)(pcVar30 + 0x2ef0a8)" * (cast_expression "(int *)(pcVar30 + 0x2ef0a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef0a8)" ( (binary_expression "pcVar30 + 0x2ef0a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0x2ef87c) + 0x5720" (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_001d2910;" goto statement_identifier ;) })) (expression_statement "*puVar28 = uVar1;" (assignment_expression "*puVar28 = uVar1" (pointer_expression "*puVar28" * identifier) = identifier) ;) (expression_statement "uVar1 = uVar1 + 1;" (assignment_expression "uVar1 = uVar1 + 1" identifier = (binary_expression "uVar1 + 1" identifier + number_literal)) ;) })) }) (else_clause "else {\n            format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90);\n            uVar27 = uVar12;\nLAB_001d24f0:\n            Object::error(this_00,format,uVar27,uVar13);\n            puVar28[5] = 0;\n            puVar28[4] = 0;\n          }" else (compound_statement "{\n            format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90);\n            uVar27 = uVar12;\nLAB_001d24f0:\n            Object::error(this_00,format,uVar27,uVar13);\n            puVar28[5] = 0;\n            puVar28[4] = 0;\n          }" { (expression_statement "format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90);" (assignment_expression "format = (char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90)" identifier = (cast_expression "(char *)(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar30 + 0x2f3a5c))(iStack_90)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2f3a5c))" ( (pointer_expression "**(code **)(pcVar30 + 0x2f3a5c)" * (pointer_expression "*(code **)(pcVar30 + 0x2f3a5c)" * (cast_expression "(code **)(pcVar30 + 0x2f3a5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2f3a5c)" ( (binary_expression "pcVar30 + 0x2f3a5c" identifier + number_literal) ))))) )) (argument_list "(iStack_90)" ( identifier ))))) ;) (expression_statement "uVar27 = uVar12;" (assignment_expression "uVar27 = uVar12" identifier = identifier) ;) (labeled_statement "LAB_001d24f0:\n            Object::error(this_00,format,uVar27,uVar13);" statement_identifier : (labeled_statement "Object::error(this_00,format,uVar27,uVar13);" statement_identifier : (ERROR ":" :) (expression_statement "error(this_00,format,uVar27,uVar13);" (call_expression "error(this_00,format,uVar27,uVar13)" identifier (argument_list "(this_00,format,uVar27,uVar13)" ( identifier , identifier , identifier , identifier ))) ;))) (expression_statement "puVar28[5] = 0;" (assignment_expression "puVar28[5] = 0" (subscript_expression "puVar28[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar28[4] = 0;" (assignment_expression "puVar28[4] = 0" (subscript_expression "puVar28[4]" identifier [ number_literal ]) = number_literal) ;) }))) (labeled_statement "joined_r0x001d22e4:\n          if (uVar24 == uVar12 + 1) {\n            return uVar1;\n          }" statement_identifier : (if_statement "if (uVar24 == uVar12 + 1) {\n            return uVar1;\n          }" if (parenthesized_expression "(uVar24 == uVar12 + 1)" ( (binary_expression "uVar24 == uVar12 + 1" identifier == (binary_expression "uVar12 + 1" identifier + number_literal)) )) (compound_statement "{\n            return uVar1;\n          }" { (return_statement "return uVar1;" return identifier ;) }))) (expression_statement "uVar12 = uVar12 + 1;" (assignment_expression "uVar12 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) (expression_statement "puVar28 = (uint *)(this_00[4].name_._M_string_length + uVar12 * 0x18);" (assignment_expression "puVar28 = (uint *)(this_00[4].name_._M_string_length + uVar12 * 0x18)" identifier = (cast_expression "(uint *)(this_00[4].name_._M_string_length + uVar12 * 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00[4].name_._M_string_length + uVar12 * 0x18)" ( (binary_expression "this_00[4].name_._M_string_length + uVar12 * 0x18" (field_expression "this_00[4].name_._M_string_length" (field_expression "this_00[4].name_" (subscript_expression "this_00[4]" identifier [ number_literal ]) . field_identifier) . field_identifier) + (binary_expression "uVar12 * 0x18" identifier * number_literal)) )))) ;) (expression_statement "uVar21 = 0x96c;" (assignment_expression "uVar21 = 0x96c" identifier = number_literal) ;) }) while (parenthesized_expression "((puVar28[2] & 1) != 0)" ( (binary_expression "(puVar28[2] & 1) != 0" (parenthesized_expression "(puVar28[2] & 1)" ( (binary_expression "puVar28[2] & 1" (subscript_expression "puVar28[2]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) ;) }))) (goto_statement "goto LAB_001d283c;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001d28b8:\n    (**(code **)(pcVar30 + 0x2ef85c))\n              (*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,0xa1a,*(int *)(pcVar30 + 0x2ef87c) + 0x5738);\n  }" else (compound_statement "{\nLAB_001d28b8:\n    (**(code **)(pcVar30 + 0x2ef85c))\n              (*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,0xa1a,*(int *)(pcVar30 + 0x2ef87c) + 0x5738);\n  }" { (labeled_statement "LAB_001d28b8:\n    (**(code **)(pcVar30 + 0x2ef85c))\n              (*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,0xa1a,*(int *)(pcVar30 + 0x2ef87c) + 0x5738);" statement_identifier : (expression_statement "(**(code **)(pcVar30 + 0x2ef85c))\n              (*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,0xa1a,*(int *)(pcVar30 + 0x2ef87c) + 0x5738);" (call_expression "(**(code **)(pcVar30 + 0x2ef85c))\n              (*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,0xa1a,*(int *)(pcVar30 + 0x2ef87c) + 0x5738)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2ef85c))" ( (pointer_expression "**(code **)(pcVar30 + 0x2ef85c)" * (pointer_expression "*(code **)(pcVar30 + 0x2ef85c)" * (cast_expression "(code **)(pcVar30 + 0x2ef85c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2ef85c)" ( (binary_expression "pcVar30 + 0x2ef85c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,0xa1a,*(int *)(pcVar30 + 0x2ef87c) + 0x5738)" ( (binary_expression "*(int *)(pcVar30 + 0x2ef87c) + 0x4d70" (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0x2ef87c) + 0x5738" (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) )))) + number_literal) ))) ;)) }))) (expression_statement "(**(code **)(pcVar30 + 0x2ef85c))\n            (*(int *)(pcVar30 + 0x2ef0a8) + -0x9b8,0x5c,*(int *)(pcVar30 + 0x2ef87c) + 0x61ac);" (call_expression "(**(code **)(pcVar30 + 0x2ef85c))\n            (*(int *)(pcVar30 + 0x2ef0a8) + -0x9b8,0x5c,*(int *)(pcVar30 + 0x2ef87c) + 0x61ac)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2ef85c))" ( (pointer_expression "**(code **)(pcVar30 + 0x2ef85c)" * (pointer_expression "*(code **)(pcVar30 + 0x2ef85c)" * (cast_expression "(code **)(pcVar30 + 0x2ef85c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2ef85c)" ( (binary_expression "pcVar30 + 0x2ef85c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x2ef0a8) + -0x9b8,0x5c,*(int *)(pcVar30 + 0x2ef87c) + 0x61ac)" ( (binary_expression "*(int *)(pcVar30 + 0x2ef0a8) + -0x9b8" (pointer_expression "*(int *)(pcVar30 + 0x2ef0a8)" * (cast_expression "(int *)(pcVar30 + 0x2ef0a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef0a8)" ( (binary_expression "pcVar30 + 0x2ef0a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0x2ef87c) + 0x61ac" (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_001d28f0:\n  uVar21 = 0x98d;" statement_identifier : (expression_statement "uVar21 = 0x98d;" (assignment_expression "uVar21 = 0x98d" identifier = number_literal) ;)) (labeled_statement "LAB_001d283c:\n  do {\n    (**(code **)(pcVar30 + 0x2ef85c))\n              (*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,uVar21,*(int *)(pcVar30 + 0x2ef87c) + 0x5640);\nLAB_001d2854:\n    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\nLAB_001d285c:\n    (**(code **)(pcVar30 + 0x2ef85c))(*(int *)(pcVar30 + 0x2ef0a8) + 0x3574,0xc5,iVar25 + 0x6058);\nLAB_001d2870:\n    uVar21 = 0x995;\n  } while( true );" statement_identifier : (do_statement "do {\n    (**(code **)(pcVar30 + 0x2ef85c))\n              (*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,uVar21,*(int *)(pcVar30 + 0x2ef87c) + 0x5640);\nLAB_001d2854:\n    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\nLAB_001d285c:\n    (**(code **)(pcVar30 + 0x2ef85c))(*(int *)(pcVar30 + 0x2ef0a8) + 0x3574,0xc5,iVar25 + 0x6058);\nLAB_001d2870:\n    uVar21 = 0x995;\n  } while( true );" do (compound_statement "{\n    (**(code **)(pcVar30 + 0x2ef85c))\n              (*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,uVar21,*(int *)(pcVar30 + 0x2ef87c) + 0x5640);\nLAB_001d2854:\n    iVar25 = *(int *)(pcVar30 + 0x2ef87c);\nLAB_001d285c:\n    (**(code **)(pcVar30 + 0x2ef85c))(*(int *)(pcVar30 + 0x2ef0a8) + 0x3574,0xc5,iVar25 + 0x6058);\nLAB_001d2870:\n    uVar21 = 0x995;\n  }" { (expression_statement "(**(code **)(pcVar30 + 0x2ef85c))\n              (*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,uVar21,*(int *)(pcVar30 + 0x2ef87c) + 0x5640);" (call_expression "(**(code **)(pcVar30 + 0x2ef85c))\n              (*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,uVar21,*(int *)(pcVar30 + 0x2ef87c) + 0x5640)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2ef85c))" ( (pointer_expression "**(code **)(pcVar30 + 0x2ef85c)" * (pointer_expression "*(code **)(pcVar30 + 0x2ef85c)" * (cast_expression "(code **)(pcVar30 + 0x2ef85c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2ef85c)" ( (binary_expression "pcVar30 + 0x2ef85c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x2ef87c) + 0x4d70,uVar21,*(int *)(pcVar30 + 0x2ef87c) + 0x5640)" ( (binary_expression "*(int *)(pcVar30 + 0x2ef87c) + 0x4d70" (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(pcVar30 + 0x2ef87c) + 0x5640" (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_001d2854:\n    iVar25 = *(int *)(pcVar30 + 0x2ef87c);" statement_identifier : (expression_statement "iVar25 = *(int *)(pcVar30 + 0x2ef87c);" (assignment_expression "iVar25 = *(int *)(pcVar30 + 0x2ef87c)" identifier = (pointer_expression "*(int *)(pcVar30 + 0x2ef87c)" * (cast_expression "(int *)(pcVar30 + 0x2ef87c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef87c)" ( (binary_expression "pcVar30 + 0x2ef87c" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_001d285c:\n    (**(code **)(pcVar30 + 0x2ef85c))(*(int *)(pcVar30 + 0x2ef0a8) + 0x3574,0xc5,iVar25 + 0x6058);" statement_identifier : (expression_statement "(**(code **)(pcVar30 + 0x2ef85c))(*(int *)(pcVar30 + 0x2ef0a8) + 0x3574,0xc5,iVar25 + 0x6058);" (call_expression "(**(code **)(pcVar30 + 0x2ef85c))(*(int *)(pcVar30 + 0x2ef0a8) + 0x3574,0xc5,iVar25 + 0x6058)" (parenthesized_expression "(**(code **)(pcVar30 + 0x2ef85c))" ( (pointer_expression "**(code **)(pcVar30 + 0x2ef85c)" * (pointer_expression "*(code **)(pcVar30 + 0x2ef85c)" * (cast_expression "(code **)(pcVar30 + 0x2ef85c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x2ef85c)" ( (binary_expression "pcVar30 + 0x2ef85c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x2ef0a8) + 0x3574,0xc5,iVar25 + 0x6058)" ( (binary_expression "*(int *)(pcVar30 + 0x2ef0a8) + 0x3574" (pointer_expression "*(int *)(pcVar30 + 0x2ef0a8)" * (cast_expression "(int *)(pcVar30 + 0x2ef0a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x2ef0a8)" ( (binary_expression "pcVar30 + 0x2ef0a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar25 + 0x6058" identifier + number_literal) ))) ;)) (labeled_statement "LAB_001d2870:\n    uVar21 = 0x995;" statement_identifier : (expression_statement "uVar21 = 0x995;" (assignment_expression "uVar21 = 0x995" identifier = number_literal) ;)) }) while (parenthesized_expression "( true )" ( true )) ;)) (ERROR "}" }))
(translation_unit "undefined4 FUN_001d202c(int param_1,uint param_2)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  uint uVar3;\n  int *piVar4;\n  int *piVar5;\n  int *piVar6;\n  \n  uVar1 = *(uint *)(param_1 + 0xf8);\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  piVar5 = *(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4);\n  if (piVar5 != (int *)0x0) {\n    uVar3 = ((int *)*piVar5)[1];\n    piVar6 = (int *)*piVar5;\n    do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);\n  }\n  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4);\n  return uVar2;\n}\n\n" (function_definition "undefined4 FUN_001d202c(int param_1,uint param_2)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  uint uVar3;\n  int *piVar4;\n  int *piVar5;\n  int *piVar6;\n  \n  uVar1 = *(uint *)(param_1 + 0xf8);\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  piVar5 = *(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4);\n  if (piVar5 != (int *)0x0) {\n    uVar3 = ((int *)*piVar5)[1];\n    piVar6 = (int *)*piVar5;\n    do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);\n  }\n  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4);\n  return uVar2;\n}" type_identifier (function_declarator "FUN_001d202c(int param_1,uint param_2)" identifier (parameter_list "(int param_1,uint param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "uint param_2" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  undefined4 uVar2;\n  uint uVar3;\n  int *piVar4;\n  int *piVar5;\n  int *piVar6;\n  \n  uVar1 = *(uint *)(param_1 + 0xf8);\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  piVar5 = *(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4);\n  if (piVar5 != (int *)0x0) {\n    uVar3 = ((int *)*piVar5)[1];\n    piVar6 = (int *)*piVar5;\n    do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);\n  }\n  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4);\n  return uVar2;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (expression_statement "uVar1 = *(uint *)(param_1 + 0xf8);" (assignment_expression "uVar1 = *(uint *)(param_1 + 0xf8)" identifier = (pointer_expression "*(uint *)(param_1 + 0xf8)" * (cast_expression "(uint *)(param_1 + 0xf8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) ))))) ;) (if_statement "if (uVar1 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 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 "piVar5 = *(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4);" (assignment_expression "piVar5 = *(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4)" identifier = (pointer_expression "*(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4)" * (cast_expression "(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4)" ( (binary_expression "*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4" (pointer_expression "*(int *)(param_1 + 0xf4)" * (cast_expression "(int *)(param_1 + 0xf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf4)" ( (binary_expression "param_1 + 0xf4" identifier + number_literal) )))) + (binary_expression "(param_2 % uVar1) * 4" (parenthesized_expression "(param_2 % uVar1)" ( (binary_expression "param_2 % uVar1" identifier % identifier) )) * number_literal)) ))))) ;) (if_statement "if (piVar5 != (int *)0x0) {\n    uVar3 = ((int *)*piVar5)[1];\n    piVar6 = (int *)*piVar5;\n    do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);\n  }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar3 = ((int *)*piVar5)[1];\n    piVar6 = (int *)*piVar5;\n    do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);\n  }" { (expression_statement "uVar3 = ((int *)*piVar5)[1];" (assignment_expression "uVar3 = ((int *)*piVar5)[1]" identifier = (subscript_expression "((int *)*piVar5)[1]" (parenthesized_expression "((int *)*piVar5)" ( (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier)) )) [ number_literal ])) ;) (expression_statement "piVar6 = (int *)*piVar5;" (assignment_expression "piVar6 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) (do_statement "do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);" do (compound_statement "{\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    }" { (expression_statement "piVar4 = piVar6;" (assignment_expression "piVar4 = piVar6" identifier = identifier) ;) (if_statement "if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }" if (parenthesized_expression "(uVar3 == param_2)" ( (binary_expression "uVar3 == param_2" identifier == identifier) )) (compound_statement "{\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }" { (if_statement "if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }" if (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) )) (compound_statement "{\n          return *(undefined4 *)(*piVar5 + 8);\n        }" { (return_statement "return *(undefined4 *)(*piVar5 + 8);" return (pointer_expression "*(undefined4 *)(*piVar5 + 8)" * (cast_expression "(undefined4 *)(*piVar5 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar5 + 8)" ( (binary_expression "*piVar5 + 8" (pointer_expression "*piVar5" * identifier) + number_literal) )))) ;) })) (break_statement "break;" break ;) })) (expression_statement "piVar6 = (int *)*piVar4;" (assignment_expression "piVar6 = (int *)*piVar4" identifier = (cast_expression "(int *)*piVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar4" * identifier))) ;) (if_statement "if (piVar6 == (int *)0x0) break;" if (parenthesized_expression "(piVar6 == (int *)0x0)" ( (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar3 = piVar6[1];" (assignment_expression "uVar3 = piVar6[1]" identifier = (subscript_expression "piVar6[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar1 == 0) {\n        trap(7);\n      }" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 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 "piVar5 = piVar4;" (assignment_expression "piVar5 = piVar4" identifier = identifier) ;) }) while (parenthesized_expression "(param_2 % uVar1 == uVar3 % uVar1)" ( (binary_expression "param_2 % uVar1 == uVar3 % uVar1" (binary_expression "param_2 % uVar1" identifier % identifier) == (binary_expression "uVar3 % uVar1" identifier % identifier)) )) ;) })) (expression_statement "uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4);" (assignment_expression "uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4)" ( (binary_expression "PTR_s__s_004c1a50 + 0x4d70" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x5ea4" identifier + number_literal) )))) ;) (return_statement "return uVar2;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (parenthesized_expression ( (binary_expression IDENT % 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 = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) ;) })) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * 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 = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT % IDENT) == (binary_expression IDENT % IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;) (return_statement return IDENT ;) })))
(function_definition "undefined4 FUN_001d202c(int param_1,uint param_2)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  uint uVar3;\n  int *piVar4;\n  int *piVar5;\n  int *piVar6;\n  \n  uVar1 = *(uint *)(param_1 + 0xf8);\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  piVar5 = *(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4);\n  if (piVar5 != (int *)0x0) {\n    uVar3 = ((int *)*piVar5)[1];\n    piVar6 = (int *)*piVar5;\n    do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);\n  }\n  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4);\n  return uVar2;\n}" (type_identifier "undefined4") (function_declarator "FUN_001d202c(int param_1,uint param_2)" (identifier "FUN_001d202c") (parameter_list "(int param_1,uint param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) () ")"))) (compound_statement "{\n  uint uVar1;\n  undefined4 uVar2;\n  uint uVar3;\n  int *piVar4;\n  int *piVar5;\n  int *piVar6;\n  \n  uVar1 = *(uint *)(param_1 + 0xf8);\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  piVar5 = *(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4);\n  if (piVar5 != (int *)0x0) {\n    uVar3 = ((int *)*piVar5)[1];\n    piVar6 = (int *)*piVar5;\n    do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);\n  }\n  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4);\n  return uVar2;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (expression_statement "uVar1 = *(uint *)(param_1 + 0xf8);" (assignment_expression "uVar1 = *(uint *)(param_1 + 0xf8)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(param_1 + 0xf8)" (* "*") (cast_expression "(uint *)(param_1 + 0xf8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf8)" (( "(") (binary_expression "param_1 + 0xf8" (identifier "param_1") (+ "+") (number_literal "0xf8")) () ")"))))) (; ";")) (if_statement "if (uVar1 == 0) {\n    trap(7);\n  }" (if "if") (parenthesized_expression "(uVar1 == 0)" (( "(") (binary_expression "uVar1 == 0" (identifier "uVar1") (== "==") (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 "piVar5 = *(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4);" (assignment_expression "piVar5 = *(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4)" (* "*") (cast_expression "(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4" (pointer_expression "*(int *)(param_1 + 0xf4)" (* "*") (cast_expression "(int *)(param_1 + 0xf4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf4)" (( "(") (binary_expression "param_1 + 0xf4" (identifier "param_1") (+ "+") (number_literal "0xf4")) () ")")))) (+ "+") (binary_expression "(param_2 % uVar1) * 4" (parenthesized_expression "(param_2 % uVar1)" (( "(") (binary_expression "param_2 % uVar1" (identifier "param_2") (% "%") (identifier "uVar1")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (piVar5 != (int *)0x0) {\n    uVar3 = ((int *)*piVar5)[1];\n    piVar6 = (int *)*piVar5;\n    do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);\n  }" (if "if") (parenthesized_expression "(piVar5 != (int *)0x0)" (( "(") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar3 = ((int *)*piVar5)[1];\n    piVar6 = (int *)*piVar5;\n    do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);\n  }" ({ "{") (expression_statement "uVar3 = ((int *)*piVar5)[1];" (assignment_expression "uVar3 = ((int *)*piVar5)[1]" (identifier "uVar3") (= "=") (subscript_expression "((int *)*piVar5)[1]" (parenthesized_expression "((int *)*piVar5)" (( "(") (cast_expression "(int *)*piVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar6 = (int *)*piVar5;" (assignment_expression "piVar6 = (int *)*piVar5" (identifier "piVar6") (= "=") (cast_expression "(int *)*piVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")))) (; ";")) (do_statement "do {\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    } while (param_2 % uVar1 == uVar3 % uVar1);" (do "do") (compound_statement "{\n      piVar4 = piVar6;\n      if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }\n      piVar6 = (int *)*piVar4;\n      if (piVar6 == (int *)0x0) break;\n      uVar3 = piVar6[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar5 = piVar4;\n    }" ({ "{") (expression_statement "piVar4 = piVar6;" (assignment_expression "piVar4 = piVar6" (identifier "piVar4") (= "=") (identifier "piVar6")) (; ";")) (if_statement "if (uVar3 == param_2) {\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }" (if "if") (parenthesized_expression "(uVar3 == param_2)" (( "(") (binary_expression "uVar3 == param_2" (identifier "uVar3") (== "==") (identifier "param_2")) () ")")) (compound_statement "{\n        if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }\n        break;\n      }" ({ "{") (if_statement "if (*piVar5 != 0) {\n          return *(undefined4 *)(*piVar5 + 8);\n        }" (if "if") (parenthesized_expression "(*piVar5 != 0)" (( "(") (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          return *(undefined4 *)(*piVar5 + 8);\n        }" ({ "{") (return_statement "return *(undefined4 *)(*piVar5 + 8);" (return "return") (pointer_expression "*(undefined4 *)(*piVar5 + 8)" (* "*") (cast_expression "(undefined4 *)(*piVar5 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar5 + 8)" (( "(") (binary_expression "*piVar5 + 8" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (+ "+") (number_literal "8")) () ")")))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "piVar6 = (int *)*piVar4;" (assignment_expression "piVar6 = (int *)*piVar4" (identifier "piVar6") (= "=") (cast_expression "(int *)*piVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar4" (* "*") (identifier "piVar4")))) (; ";")) (if_statement "if (piVar6 == (int *)0x0) break;" (if "if") (parenthesized_expression "(piVar6 == (int *)0x0)" (( "(") (binary_expression "piVar6 == (int *)0x0" (identifier "piVar6") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar3 = piVar6[1];" (assignment_expression "uVar3 = piVar6[1]" (identifier "uVar3") (= "=") (subscript_expression "piVar6[1]" (identifier "piVar6") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (uVar1 == 0) {\n        trap(7);\n      }" (if "if") (parenthesized_expression "(uVar1 == 0)" (( "(") (binary_expression "uVar1 == 0" (identifier "uVar1") (== "==") (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 "piVar5 = piVar4;" (assignment_expression "piVar5 = piVar4" (identifier "piVar5") (= "=") (identifier "piVar4")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_2 % uVar1 == uVar3 % uVar1)" (( "(") (binary_expression "param_2 % uVar1 == uVar3 % uVar1" (binary_expression "param_2 % uVar1" (identifier "param_2") (% "%") (identifier "uVar1")) (== "==") (binary_expression "uVar3 % uVar1" (identifier "uVar3") (% "%") (identifier "uVar1"))) () ")")) (; ";")) (} "}"))) (expression_statement "uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4);" (assignment_expression "uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4)" (identifier "uVar2") (= "=") (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4)" (( "(") (binary_expression "PTR_s__s_004c1a50 + 0x4d70" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x4d70")) (, ",") (number_literal "0x8a7") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x5ea4" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x5ea4")) () ")")))) (; ";")) (return_statement "return uVar2;" (return "return") (identifier "uVar2") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (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))))))) (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: (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: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (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: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_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: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (return_statement (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)))))))) (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (identifier)))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier)))))

undefined4 MASKED(int param_1,uint param_2)

{
  uint uVar1;
  undefined4 uVar2;
  uint uVar3;
  int *piVar4;
  int *piVar5;
  int *piVar6;
  
  uVar1 = *(uint *)(param_1 + 0xf8);
  if (uVar1 == 0) {
    trap(7);
  }
  piVar5 = *(int **)(*(int *)(param_1 + 0xf4) + (param_2 % uVar1) * 4);
  if (piVar5 != (int *)0x0) {
    uVar3 = ((int *)*piVar5)[1];
    piVar6 = (int *)*piVar5;
    do {
      piVar4 = piVar6;
      if (uVar3 == param_2) {
        if (*piVar5 != 0) {
          return *(undefined4 *)(*piVar5 + 8);
        }
        break;
      }
      piVar6 = (int *)*piVar4;
      if (piVar6 == (int *)0x0) break;
      uVar3 = piVar6[1];
      if (uVar1 == 0) {
        trap(7);
      }
      piVar5 = piVar4;
    } while (param_2 % uVar1 == uVar3 % uVar1);
  }
  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)
                    (PTR_s__s_004c1a50 + 0x4d70,0x8a7,PTR_s__s_004c1a50 + 0x5ea4);
  return uVar2;
}

