
/* WARNING: Removing unreachable block (ram,0x00286140) */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* WARNING: Enum "STT": Some values do not have unique names */
/* DWARF original prototype: uint64_t value(Min_expression * this, Expression_eval_info * eei) */

uint64_t __thiscall gold::Min_expression::value(Min_expression *this,Expression_eval_info *eei)

{
  ulonglong uVar1;
  ulonglong uVar2;
  uint64_t *puVar3;
  undefined4 uVar4;
  int *piVar5;
  undefined4 *puVar6;
  int *piVar7;
  undefined4 *puVar8;
  undefined4 *puVar9;
  undefined4 *puVar10;
  uint extraout_v1;
  uint extraout_v1_00;
  undefined4 *puVar11;
  int iVar12;
  uint uVar13;
  uint uVar14;
  undefined4 *puVar15;
  char *pcVar16;
  uint uVar17;
  uint uVar18;
  undefined4 *puVar19;
  int *piVar20;
  undefined4 *puVar21;
  uint uVar22;
  uint uVar23;
  undefined4 *puVar24;
  code *pcVar25;
  uint64_t *result_alignment_pointer;
  uint *puVar26;
  int iVar27;
  undefined *puVar28;
  code *pcVar29;
  uint *puVar30;
  uint uVar31;
  uint uVar32;
  uint64_t uVar33;
  uint64_t uVar34;
  undefined8 uVar35;
  undefined4 uVar36;
  char acStack_c8 [4];
  uint uStack_c4;
  uint uStack_c0;
  uint uStack_bc;
  code *pcStack_b8;
  Expression_eval_info *pEStack_b0;
  uint uStack_ac;
  uint64_t uStack_a8;
  uint64_t *puStack_a0;
  uint64_t *puStack_9c;
  Min_expression *pMStack_98;
  uint64_t right_alignment;
  uint64_t left_alignment;
  Output_section *right_section;
  Output_section *left_section;
  uint local_28;
  
  result_alignment_pointer = &right_alignment;
  uVar33 = Expression::eval_maybe_dot
                     ((this->super_Binary_expression).left_,eei->symtab,eei->layout,
                      eei->check_assertions,eei->is_dot_available,eei->dot_value,eei->dot_section,
                      &left_section,&left_alignment,(STT *)0x0,(STV *)0x0,(uchar *)0x0,false,
                      eei->is_valid_pointer);
  uVar22 = (uint)(uVar33 >> 0x20);
  uVar34 = Expression::eval_maybe_dot
                     ((this->super_Binary_expression).right_,eei->symtab,eei->layout,
                      eei->check_assertions,eei->is_dot_available,eei->dot_value,eei->dot_section,
                      &right_section,result_alignment_pointer,(STT *)0x0,(STV *)0x0,(uchar *)0x0,
                      false,eei->is_valid_pointer);
  uVar23 = (uint)(uVar34 >> 0x20);
  local_28 = (uint)uVar34;
  if (left_section == right_section) {
    if (eei->result_section_pointer != (Output_section **)0x0) {
      *eei->result_section_pointer = left_section;
    }
LAB_00286094:
    puVar3 = eei->result_alignment_pointer;
  }
  else {
    if ((left_section != (Output_section *)0x0) || (right_section != (Output_section *)0x0)) {
      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {
        puVar15 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);
        puVar28 = PTR_do_gold_unreachable_004323c4;
        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0x5c,PTR_s__0043226c + 0x2730);
        pcStack_b8 = *(code **)(puVar28 + 0x1af82c);
        puVar26 = (uint *)puVar15[1];
        uVar22 = extraout_v1;
        pEStack_b0 = eei;
        uStack_ac = uVar23;
        uStack_a8 = uVar33;
        puStack_a0 = &left_alignment;
        puStack_9c = result_alignment_pointer;
        pMStack_98 = this;
LAB_002862a4:
        do {
          puVar30 = (uint *)*puVar15;
LAB_002862a8:
          do {
            if (puVar26 == puVar30) {
              *(undefined1 *)(puVar15 + 3) = 1;
              return CONCAT44(1,uVar22);
            }
            uStack_c0 = puVar26[-2];
            pcVar25 = *(code **)(puVar28 + 0x1acdb0);
            uStack_bc = puVar26[-1];
            puVar15[1] = puVar26 + -2;
            uVar23 = uStack_c0 ^ uStack_bc;
            if (puVar15[0xb] == 0) {
              trap(7);
            }
            uVar31 = uVar23 % (uint)puVar15[0xb];
            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);
            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);
            uVar22 = (uint)uVar35;
          } while ((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0));
          piVar5 = (int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10);
          puVar6 = puVar15 + 0xe;
          pcVar16 = acStack_c8;
          puVar19 = (undefined4 *)puVar15[0xb];
          *piVar5 = 0;
          pcVar29 = *(code **)(puVar28 + 0x1ac8e0);
          uVar4 = puVar15[0xf];
          piVar5[1] = uStack_c0;
          piVar5[2] = uStack_bc;
          uVar36 = 1;
          (*pcVar29)();
          uVar22 = uStack_c4;
          if (acStack_c8[0] == '\0') {
            puVar6 = (undefined4 *)puVar15[10];
            piVar5[3] = uVar23;
            piVar20 = puVar6 + uVar31;
            piVar7 = (int *)*piVar20;
            if (piVar7 == (int *)0x0) goto LAB_00286470;
LAB_002864c8:
            *piVar5 = *piVar7;
            *(int **)*piVar20 = piVar5;
          }
          else {
            if (uStack_c4 == 1) {
              puVar6 = puVar15 + 0x10;
              puVar15[0x10] = 0;
            }
            else {
              iVar27 = uStack_c4 << 2;
              if (0x3fffffff < uStack_c4) {
                (**(code **)(puVar28 + 0x1ac1b4))();
                (**(code **)(puVar28 + 0x1ac7cc))();
                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);
                puVar15[0xf] = uVar4;
                (*pcVar25)();
                pcStack_b8 = (code *)pcVar16;
                (**(code **)(puVar28 + 0x1ac7d4))();
                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);
                (**(code **)(puVar28 + 0x1ac03c))();
                (**(code **)(puVar28 + 0x1ac7d0))();
                pcStack_b8 = (code *)piVar5;
                (**(code **)(puVar28 + 0x1ac7d4))();
                pcVar29 = *(code **)(puVar28 + 0x1ac008);
                pcVar25 = pcStack_b8;
                (*pcVar29)();
                puVar8 = *(undefined4 **)pcVar25;
                puVar15 = *(undefined4 **)((int)pcVar25 + 4);
                uVar23 = (int)puVar15 - (int)puVar8 >> 3;
                if (uVar23 == 0) {
                  uVar22 = 1;
LAB_00286884:
                  iVar27 = uVar22 << 3;
                }
                else {
                  uVar22 = uVar23 << 1;
                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {
                    puVar24 = (undefined4 *)0x8;
                    if (uVar22 == 0) {
                      iVar27 = 0;
                      puVar9 = (undefined4 *)0x0;
                      goto LAB_00286780;
                    }
                    goto LAB_00286884;
                  }
                  iVar27 = -8;
                }
                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);
                iVar27 = (int)puVar9 + iVar27;
                puVar24 = puVar9 + 2;
LAB_00286780:
                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));
                uVar4 = puVar19[1];
                *puVar10 = *puVar19;
                puVar10[1] = uVar4;
                puVar19 = puVar8;
                puVar21 = puVar9;
                if (puVar8 != puVar6) {
                  do {
                    puVar24 = puVar19 + 2;
                    uVar4 = puVar19[1];
                    *puVar21 = *puVar19;
                    puVar21[1] = uVar4;
                    puVar19 = puVar24;
                    puVar21 = puVar21 + 2;
                  } while (puVar6 != puVar24);
                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;
                }
                puVar19 = puVar6;
                puVar21 = puVar24;
                if (puVar15 != puVar6) {
                  do {
                    puVar11 = puVar19 + 2;
                    *puVar21 = *puVar19;
                    puVar21[1] = puVar19[1];
                    puVar19 = puVar11;
                    puVar21 = puVar21 + 2;
                  } while (puVar15 != puVar11);
                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;
                  puVar6 = (undefined4 *)(iVar12 * 8);
                  puVar24 = puVar24 + iVar12 * 2;
                }
                uVar33 = CONCAT44(puVar10,puVar6);
                if (puVar8 != (undefined4 *)0x0) {
                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);
                }
                *(undefined4 **)pcVar25 = puVar9;
                *(undefined4 **)((int)pcVar25 + 4) = puVar24;
                *(int *)((int)pcVar25 + 8) = iVar27;
                return uVar33;
              }
              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);
              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);
            }
            piVar7 = (int *)puVar15[0xc];
            puVar15[0xc] = 0;
            if (piVar7 != (int *)0x0) {
              uVar31 = 0;
              do {
                while( true ) {
                  if (uVar22 == 0) {
                    trap(7);
                  }
                  uVar32 = (uint)piVar7[3] % uVar22;
                  puVar19 = puVar6 + uVar32;
                  piVar20 = (int *)*piVar7;
                  if ((int *)*puVar19 == (int *)0x0) break;
                  *piVar7 = *(int *)*puVar19;
                  *(int **)*puVar19 = piVar7;
                  uVar32 = uVar31;
LAB_002863d0:
                  piVar7 = piVar20;
                  uVar31 = uVar32;
                  if (piVar20 == (int *)0x0) goto LAB_0028642c;
                }
                *piVar7 = puVar15[0xc];
                puVar15[0xc] = piVar7;
                *puVar19 = puVar15 + 0xc;
                if (*piVar7 == 0) goto LAB_002863d0;
                puVar6[uVar31] = piVar7;
                piVar7 = piVar20;
                uVar31 = uVar32;
              } while (piVar20 != (int *)0x0);
            }
LAB_0028642c:
            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {
              (**(code **)(puVar28 + 0x1ac03c))();
            }
            if (uVar22 == 0) {
              trap(7);
            }
            puVar15[0xb] = uVar22;
            puVar15[10] = puVar6;
            piVar5[3] = uVar23;
            piVar20 = puVar6 + uVar23 % uVar22;
            piVar7 = (int *)*piVar20;
            if (piVar7 != (int *)0x0) goto LAB_002864c8;
LAB_00286470:
            iVar27 = puVar15[0xc];
            puVar15[0xc] = piVar5;
            *piVar5 = iVar27;
            if (iVar27 != 0) {
              if (puVar15[0xb] == 0) {
                trap(7);
              }
              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;
            }
            *piVar20 = (int)(puVar15 + 0xc);
          }
          puVar6 = (undefined4 *)puVar15[6];
          puVar26 = (uint *)puVar15[1];
          uVar22 = puVar15[0xd] + 1;
          puVar15[0xd] = uVar22;
          puVar19 = puVar15 + 5;
          if (puVar6 == (undefined4 *)0x0) goto LAB_002862a4;
          do {
            uVar22 = puVar6[4];
            if ((uVar22 < uStack_c0) ||
               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))
               )) {
              puVar8 = (undefined4 *)puVar6[3];
            }
            else {
              puVar8 = (undefined4 *)puVar6[2];
              puVar19 = puVar6;
            }
            puVar6 = puVar8;
          } while (puVar8 != (undefined4 *)0x0);
          if (puVar15 + 5 == puVar19) goto LAB_002862a4;
          uVar22 = (uint)(uStack_c0 < (uint)puVar19[4]);
          if ((uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))))
          goto LAB_002862a4;
          piVar5 = (int *)puVar19[8];
          if (piVar5 == (int *)0x0) {
            puVar30 = (uint *)*puVar15;
            goto LAB_002862a8;
          }
          do {
            if (puVar15[0xb] == 0) {
              trap(7);
            }
            uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],
                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);
            piVar7 = (int *)((ulonglong)uVar35 >> 0x20);
            uVar22 = (uint)uVar35;
            if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {
              if (puVar26 == (uint *)puVar15[2]) {
                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);
                puVar26 = (uint *)puVar15[1];
                uVar22 = extraout_v1_00;
              }
              else {
                uVar22 = piVar5[1];
                uVar23 = piVar5[2];
                *puVar26 = uVar22;
                puVar26[1] = uVar23;
                puVar15[1] = puVar26 + 2;
                puVar26 = puVar26 + 2;
              }
            }
            piVar5 = (int *)*piVar5;
          } while (piVar5 != (int *)0x0);
        } while( true );
      }
      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {
        uVar4 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x26c4);
        (*(code *)PTR_gold_warning_0043245c)(uVar4);
      }
      goto LAB_00286094;
    }
    puVar3 = eei->result_alignment_pointer;
  }
  uVar2 = CONCAT44(uVar23,local_28);
  if (puVar3 != (uint64_t *)0x0) {
    uVar13 = *(uint *)puVar3;
    uVar17 = (uint)*puVar3;
    uVar31 = left_alignment._0_4_;
    uVar32 = left_alignment._4_4_;
    uVar14 = uVar13;
    uVar18 = uVar17;
    if ((uVar22 < uVar23) ||
       (((uVar23 == uVar22 && ((uint)uVar33 < local_28)) ||
        (uVar31 = right_alignment._0_4_, uVar32 = right_alignment._4_4_, uVar2 < uVar33)))) {
      uVar14 = uVar31;
      uVar18 = uVar32;
      if (((uVar31 <= uVar13) && (uVar14 = uVar13, uVar18 = uVar17, uVar31 == uVar13)) &&
         (uVar17 < uVar32)) {
        uVar14 = uVar31;
        uVar18 = uVar32;
      }
    }
    else {
      if ((right_alignment._0_4_ <= left_alignment._0_4_) &&
         ((right_alignment._0_4_ != left_alignment._0_4_ ||
          (right_alignment._4_4_ <= left_alignment._4_4_)))) {
        right_alignment._0_4_ = left_alignment._0_4_;
        right_alignment._4_4_ = left_alignment._4_4_;
        result_alignment_pointer = &left_alignment;
      }
      if ((uVar13 < right_alignment._0_4_) ||
         ((right_alignment._0_4_ == uVar13 && (uVar17 < right_alignment._4_4_)))) {
        uVar34 = *result_alignment_pointer;
        *(uint *)puVar3 = *(uint *)result_alignment_pointer;
        *(uint *)((int)puVar3 + 4) = (uint)uVar34;
        goto LAB_002860cc;
      }
    }
    *(uint *)puVar3 = uVar14;
    *(uint *)((int)puVar3 + 4) = uVar18;
  }
LAB_002860cc:
  uVar1 = uVar33;
  if (((uVar22 < uVar23) || (uVar1 = uVar2, uVar23 != uVar22)) ||
     (uVar1 = uVar33, (uint)uVar33 < local_28)) {
    uVar2 = uVar1;
  }
  return uVar2;
}



/* WARNING: Removing unreachable block (ram,0x00286140) */

undefined4 * FUN_00285f50(int param_1,undefined4 *param_2)

{
  uint *puVar1;
  undefined4 uVar2;
  int *piVar3;
  undefined4 *puVar4;
  undefined4 *puVar5;
  undefined4 *puVar6;
  undefined4 *puVar7;
  undefined4 *puVar8;
  uint uVar9;
  uint uVar10;
  undefined4 *puVar11;
  char *pcVar12;
  uint uVar13;
  uint uVar14;
  undefined4 *puVar15;
  undefined4 *puVar16;
  undefined4 *puVar17;
  code *pcVar18;
  uint *puVar19;
  int *piVar20;
  int iVar21;
  undefined *puVar22;
  code *pcVar23;
  int *piVar24;
  uint uVar25;
  uint uVar26;
  ulonglong uVar27;
  undefined8 uVar28;
  undefined4 uVar29;
  char acStack_c8 [4];
  uint uStack_c4;
  uint uStack_c0;
  uint uStack_bc;
  code *pcStack_b8;
  undefined4 *puStack_b0;
  undefined4 *puStack_ac;
  ulonglong uStack_a8;
  uint *puStack_a0;
  uint *puStack_9c;
  int iStack_98;
  undefined4 in_stack_ffffff8c;
  uint local_40;
  uint local_3c;
  uint local_38;
  uint local_34;
  int local_30;
  int local_2c;
  uint local_28;
  
  puVar19 = &local_40;
  uVar27 = gold::Expression::eval_maybe_dot
                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),
                      *(bool *)(param_2 + 2),
                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),
                      (Output_section *)param_2[4],(Output_section **)param_2[5],
                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,
                      (bool *)0x0);
  puVar11 = (undefined4 *)(uVar27 >> 0x20);
  uVar28 = gold::Expression::eval_maybe_dot
                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),
                      *(bool *)(param_2 + 2),
                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),
                      (Output_section *)param_2[4],(Output_section **)param_2[5],
                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,
                      (bool *)0x0);
  puVar4 = (undefined4 *)((ulonglong)uVar28 >> 0x20);
  local_28 = (uint)uVar28;
  if (local_2c == local_30) {
    if ((int *)param_2[7] != (int *)0x0) {
      *(int *)param_2[7] = local_2c;
    }
LAB_00286094:
    puVar1 = (uint *)param_2[8];
  }
  else {
    if ((local_2c != 0) || (local_30 != 0)) {
      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {
        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);
        puVar22 = PTR_do_gold_unreachable_004323c4;
        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);
        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);
        piVar20 = (int *)puVar11[1];
        puStack_b0 = param_2;
        puStack_ac = puVar4;
        puStack_a0 = &local_38;
        puStack_9c = puVar19;
        iStack_98 = param_1;
LAB_002862a4:
        do {
          piVar24 = (int *)*puVar11;
LAB_002862a8:
          do {
            if (piVar20 == piVar24) {
              *(undefined1 *)(puVar11 + 3) = 1;
              return (undefined4 *)0x1;
            }
            uStack_c0 = piVar20[-2];
            pcVar18 = *(code **)(puVar22 + 0x1acdb0);
            uStack_bc = piVar20[-1];
            puVar11[1] = piVar20 + -2;
            uVar14 = uStack_c0 ^ uStack_bc;
            if (puVar11[0xb] == 0) {
              trap(7);
            }
            uVar25 = uVar14 % (uint)puVar11[0xb];
            uStack_a8 = uVar27;
            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);
          } while ((piVar3 != (int *)0x0) &&
                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));
          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);
          puVar4 = puVar11 + 0xe;
          pcVar12 = acStack_c8;
          puVar15 = (undefined4 *)puVar11[0xb];
          *piVar20 = 0;
          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);
          uVar2 = puVar11[0xf];
          piVar20[1] = uStack_c0;
          piVar20[2] = uStack_bc;
          uVar29 = 1;
          (*pcVar23)();
          uVar10 = uStack_c4;
          if (acStack_c8[0] == '\0') {
            puVar4 = (undefined4 *)puVar11[10];
            piVar20[3] = uVar14;
            piVar3 = puVar4 + uVar25;
            piVar24 = (int *)*piVar3;
            uVar27 = uStack_a8;
            if (piVar24 == (int *)0x0) goto LAB_00286470;
LAB_002864c8:
            *piVar20 = *piVar24;
            *(int **)*piVar3 = piVar20;
          }
          else {
            if (uStack_c4 == 1) {
              puVar4 = puVar11 + 0x10;
              puVar11[0x10] = 0;
            }
            else {
              iVar21 = uStack_c4 << 2;
              if (0x3fffffff < uStack_c4) {
                (**(code **)(puVar22 + 0x1ac1b4))();
                (**(code **)(puVar22 + 0x1ac7cc))();
                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);
                puVar11[0xf] = uVar2;
                (*pcVar18)();
                pcStack_b8 = (code *)pcVar12;
                (**(code **)(puVar22 + 0x1ac7d4))();
                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);
                (**(code **)(puVar22 + 0x1ac03c))();
                (**(code **)(puVar22 + 0x1ac7d0))();
                pcStack_b8 = (code *)piVar20;
                (**(code **)(puVar22 + 0x1ac7d4))();
                pcVar23 = *(code **)(puVar22 + 0x1ac008);
                pcVar18 = pcStack_b8;
                (*pcVar23)();
                puVar5 = *(undefined4 **)pcVar18;
                puVar11 = *(undefined4 **)((int)pcVar18 + 4);
                uVar14 = (int)puVar11 - (int)puVar5 >> 3;
                if (uVar14 == 0) {
                  uVar25 = 1;
LAB_00286884:
                  iVar21 = uVar25 << 3;
                }
                else {
                  uVar25 = uVar14 << 1;
                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {
                    puVar17 = (undefined4 *)0x8;
                    if (uVar25 == 0) {
                      iVar21 = 0;
                      puVar6 = (undefined4 *)0x0;
                      goto LAB_00286780;
                    }
                    goto LAB_00286884;
                  }
                  iVar21 = -8;
                }
                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);
                iVar21 = (int)puVar6 + iVar21;
                puVar17 = puVar6 + 2;
LAB_00286780:
                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));
                uVar2 = puVar15[1];
                *puVar7 = *puVar15;
                puVar7[1] = uVar2;
                puVar15 = puVar5;
                puVar16 = puVar6;
                if (puVar5 != puVar4) {
                  do {
                    puVar17 = puVar15 + 2;
                    uVar2 = puVar15[1];
                    *puVar16 = *puVar15;
                    puVar16[1] = uVar2;
                    puVar15 = puVar17;
                    puVar16 = puVar16 + 2;
                  } while (puVar4 != puVar17);
                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;
                }
                puVar15 = puVar4;
                puVar16 = puVar17;
                if (puVar11 != puVar4) {
                  do {
                    puVar8 = puVar15 + 2;
                    *puVar16 = *puVar15;
                    puVar16[1] = puVar15[1];
                    puVar15 = puVar8;
                    puVar16 = puVar16 + 2;
                  } while (puVar11 != puVar8);
                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;
                }
                if (puVar5 != (undefined4 *)0x0) {
                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);
                }
                *(undefined4 **)pcVar18 = puVar6;
                *(undefined4 **)((int)pcVar18 + 4) = puVar17;
                *(int *)((int)pcVar18 + 8) = iVar21;
                return puVar7;
              }
              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);
              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);
            }
            piVar24 = (int *)puVar11[0xc];
            puVar11[0xc] = 0;
            if (piVar24 != (int *)0x0) {
              uVar25 = 0;
              do {
                while( true ) {
                  if (uVar10 == 0) {
                    trap(7);
                  }
                  uVar26 = (uint)piVar24[3] % uVar10;
                  puVar15 = puVar4 + uVar26;
                  piVar3 = (int *)*piVar24;
                  if ((int *)*puVar15 == (int *)0x0) break;
                  *piVar24 = *(int *)*puVar15;
                  *(int **)*puVar15 = piVar24;
                  uVar26 = uVar25;
LAB_002863d0:
                  piVar24 = piVar3;
                  uVar25 = uVar26;
                  if (piVar3 == (int *)0x0) goto LAB_0028642c;
                }
                *piVar24 = puVar11[0xc];
                puVar11[0xc] = piVar24;
                *puVar15 = puVar11 + 0xc;
                if (*piVar24 == 0) goto LAB_002863d0;
                puVar4[uVar25] = piVar24;
                piVar24 = piVar3;
                uVar25 = uVar26;
              } while (piVar3 != (int *)0x0);
            }
LAB_0028642c:
            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {
              (**(code **)(puVar22 + 0x1ac03c))();
            }
            if (uVar10 == 0) {
              trap(7);
            }
            puVar11[0xb] = uVar10;
            puVar11[10] = puVar4;
            piVar20[3] = uVar14;
            piVar3 = puVar4 + uVar14 % uVar10;
            piVar24 = (int *)*piVar3;
            uVar27 = uStack_a8;
            if (piVar24 != (int *)0x0) goto LAB_002864c8;
LAB_00286470:
            iVar21 = puVar11[0xc];
            puVar11[0xc] = piVar20;
            *piVar20 = iVar21;
            if (iVar21 != 0) {
              if (puVar11[0xb] == 0) {
                trap(7);
              }
              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;
            }
            *piVar3 = (int)(puVar11 + 0xc);
            uVar27 = uStack_a8;
          }
          puVar4 = (undefined4 *)puVar11[6];
          piVar20 = (int *)puVar11[1];
          puVar11[0xd] = puVar11[0xd] + 1;
          puVar15 = puVar11 + 5;
          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;
          do {
            if (((uint)puVar4[4] < uStack_c0) ||
               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {
              puVar5 = (undefined4 *)puVar4[3];
            }
            else {
              puVar5 = (undefined4 *)puVar4[2];
              puVar15 = puVar4;
            }
            puVar4 = puVar5;
          } while (puVar5 != (undefined4 *)0x0);
          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||
             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;
          piVar24 = (int *)puVar15[8];
          if (piVar24 == (int *)0x0) {
            piVar24 = (int *)*puVar11;
            goto LAB_002862a8;
          }
          do {
            if (puVar11[0xb] == 0) {
              trap(7);
            }
            uStack_a8 = uVar27;
            piVar3 = (int *)(*pcVar18)(puVar11 + 10,
                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],
                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);
            uVar27 = uStack_a8;
            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {
              if (piVar20 == (int *)puVar11[2]) {
                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);
                piVar20 = (int *)puVar11[1];
                uVar27 = uStack_a8;
              }
              else {
                iVar21 = piVar24[2];
                *piVar20 = piVar24[1];
                piVar20[1] = iVar21;
                puVar11[1] = piVar20 + 2;
                piVar20 = piVar20 + 2;
              }
            }
            piVar24 = (int *)*piVar24;
          } while (piVar24 != (int *)0x0);
        } while( true );
      }
      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {
        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);
        (*(code *)PTR_gold_warning_0043245c)(uVar2);
      }
      goto LAB_00286094;
    }
    puVar1 = (uint *)param_2[8];
  }
  if (puVar1 != (uint *)0x0) {
    uVar9 = *puVar1;
    uVar13 = puVar1[1];
    uVar14 = local_38;
    uVar25 = local_34;
    uVar10 = uVar9;
    uVar26 = uVar13;
    if ((puVar11 < puVar4) ||
       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||
        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {
      uVar10 = uVar14;
      uVar26 = uVar25;
      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&
         (uVar13 < uVar25)) {
        uVar10 = uVar14;
        uVar26 = uVar25;
      }
    }
    else {
      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {
        local_40 = local_38;
        local_3c = local_34;
        puVar19 = &local_38;
      }
      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {
        uVar14 = puVar19[1];
        *puVar1 = *puVar19;
        puVar1[1] = uVar14;
        goto LAB_002860cc;
      }
    }
    *puVar1 = uVar10;
    puVar1[1] = uVar26;
  }
LAB_002860cc:
  puVar15 = puVar11;
  if (((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||
     (puVar15 = puVar11, (uint)uVar27 < local_28)) {
    puVar4 = puVar15;
  }
  return puVar4;
}


lui gp,0x1b
addiu gp,gp,0x4280
addu gp,gp,t9
addiu sp,sp,-0x88
addiu v0,sp,0x5c
sw s4,0x78(sp)
addiu s4,sp,0x50
sw zero,0x38(sp)
sw zero,0x34(sp)
sw zero,0x30(sp)
sw s4,0x28(sp)
sw v0,0x24(sp)
sw zero,0x2c(sp)
sw s1,0x6c(sp)
sw s6,0x80(sp)
or s6,a0,zero
sw s0,0x68(sp)
or s0,a1,zero
sw gp,0x40(sp)
sw ra,0x84(sp)
sw s5,0x7c(sp)
addiu s5,sp,0x48
sw s3,0x74(sp)
sw s2,0x70(sp)
lw t2,0x30(a1)
lw t1,0x14(a1)
lw t0,0x10(a1)
lw v1,0x18(a1)
lbu v0,0x9(a1)
lw s1,-0x6c50(gp)
lbu a3,0x8(a1)
lw a2,0x4(a1)
lw a0,0x4(a0)
or t9,s1,zero
lw a1,0x0(a1)
sw t2,0x3c(sp)
sw t1,0x1c(sp)
sw t0,0x18(sp)
sw v1,0x20(sp)
bal 0x0027ddd8
_sw v0,0x10(sp)
or t9,s1,zero
lw t3,0x30(s0)
or s2,v0,zero
lw t2,0x18(s0)
or s3,v1,zero
lw t1,0x14(s0)
addiu v1,sp,0x58
lw t0,0x10(s0)
lbu v0,0x9(s0)
lw a0,0x8(s6)
lbu a3,0x8(s0)
lw a2,0x4(s0)
lw a1,0x0(s0)
sw t3,0x3c(sp)
sw zero,0x38(sp)
sw zero,0x34(sp)
sw zero,0x30(sp)
sw zero,0x2c(sp)
sw s5,0x28(sp)
sw v1,0x24(sp)
sw t2,0x20(sp)
sw t1,0x1c(sp)
sw t0,0x18(sp)
bal 0x0027ddd8
_sw v0,0x10(sp)
or s1,v0,zero
lw a0,0x5c(sp)
lw v0,0x58(sp)
beq a0,v0,0x002861fc
_lw gp,0x40(sp)
beq a0,zero,0x002861c4
_nop
lw v0,-0x75f0(gp)
lw v0,0x0(v0)
lw v0,0x8(v0)
beq v0,zero,0x00286230
_lw a2,-0x7f64(gp)
lbu v0,0x3195(v0)
bne v0,zero,0x0028619c
_lw a0,-0x7f64(gp)
lw v0,0x20(s0)
beq v0,zero,0x002860cc
_sltu a1,s2,s1
lw a0,0x0(v0)
beq a1,zero,0x00286120
_lw a2,0x4(v0)
lw a3,0x50(sp)
sltu t0,a0,a3
beq t0,zero,0x002861e0
_lw t1,0x54(sp)
or a0,a3,zero
or a2,t1,zero
sw a0,0x0(v0)
sw a2,0x4(v0)
beq a1,zero,0x00286104
_or v0,s1,zero
or v0,s2,zero
or v1,s3,zero
lw ra,0x84(sp)
lw s6,0x80(sp)
lw s5,0x7c(sp)
lw s4,0x78(sp)
lw s3,0x74(sp)
lw s2,0x70(sp)
lw s1,0x6c(sp)
lw s0,0x68(sp)
jr ra
_addiu sp,sp,0x88
bne s1,s2,0x002860e0
_lw ra,0x84(sp)
sltu a0,s3,v1
beq a0,zero,0x002860e4
_lw s6,0x80(sp)
b 0x002860d8
_or v0,s2,zero
beq s1,s2,0x00286210
_sltu a3,s3,v1
sltu t0,s1,s2
lw a3,0x48(sp)
bne t0,zero,0x002861d4
_lw t1,0x4c(sp)
bne s2,s1,0x00286150
_lw t0,0x50(sp)
sltu t0,v1,s3
bne t0,zero,0x002861d8
_sltu t0,a0,a3
lw t0,0x50(sp)
sltu t2,t0,a3
bne t2,zero,0x00286228
_lw t3,0x54(sp)
beq a3,t0,0x00286220
_sltu t2,t3,t1
or a3,t0,zero
or t1,t3,zero
sltu t0,a0,a3
bne t0,zero,0x00286188
_nop
bne a3,a0,0x002860c4
_sltu t1,a2,t1
beq t1,zero,0x002860c4
_nop
lw a0,0x0(s4)
lw a2,0x4(s4)
sw a0,0x0(v0)
b 0x002860cc
_sw a2,0x4(v0)
lw t9,-0x39b8(gp)
sw v1,0x60(sp)
jalr t9
_addiu a0,a0,0x26c4
lw gp,0x40(sp)
lw t9,-0x7d74(gp)
jalr t9
_or a0,v0,zero
b 0x00286094
_lw v1,0x60(sp)
bne v0,zero,0x00286074
_nop
b 0x00286098
_lw v0,0x20(s0)
sltu t0,a0,a3
bne t0,zero,0x002860bc
_nop
bne a3,a0,0x002860c4
_sltu t0,a2,t1
beq t0,zero,0x002860c4
_nop
or a0,a3,zero
b 0x002860c4
_or a2,t1,zero
lw v0,0x1c(s0)
beq v0,zero,0x00286094
_nop
b 0x00286094
_sw a0,0x0(v0)
beq a3,zero,0x0028612c
_sltu t0,s1,s2
b 0x002860b0
_lw a3,0x50(sp)
beq t2,zero,0x00286164
_nop
b 0x0028616c
_or s4,s5,zero
li a1,0x5c
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x2730
jalr t9
_addiu a0,a0,-0x5cec
nop
nop
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00286140) */\n\nundefined4 * FUN_00285f50(int param_1,undefined4 *param_2)\n\n{\n  uint *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  uint uVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  char *pcVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  code *pcVar18;\n  uint *puVar19;\n  int *piVar20;\n  int iVar21;\n  undefined *puVar22;\n  code *pcVar23;\n  int *piVar24;\n  uint uVar25;\n  uint uVar26;\n  ulonglong uVar27;\n  undefined8 uVar28;\n  undefined4 uVar29;\n  char acStack_c8 [4];\n  uint uStack_c4;\n  uint uStack_c0;\n  uint uStack_bc;\n  code *pcStack_b8;\n  undefined4 *puStack_b0;\n  undefined4 *puStack_ac;\n  ulonglong uStack_a8;\n  uint *puStack_a0;\n  uint *puStack_9c;\n  int iStack_98;\n  undefined4 in_stack_ffffff8c;\n  uint local_40;\n  uint local_3c;\n  uint local_38;\n  uint local_34;\n  int local_30;\n  int local_2c;\n  uint local_28;\n  \n  puVar19 = &local_40;\n  uVar27 = gold::Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0);\n  puVar11 = (undefined4 *)(uVar27 >> 0x20);\n  uVar28 = gold::Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0);\n  puVar4 = (undefined4 *)((ulonglong)uVar28 >> 0x20);\n  local_28 = (uint)uVar28;\n  if (local_2c == local_30) {\n    if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }\nLAB_00286094:\n    puVar1 = (uint *)param_2[8];\n  }\n  else {\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }\n  if (puVar1 != (uint *)0x0) {\n    uVar9 = *puVar1;\n    uVar13 = puVar1[1];\n    uVar14 = local_38;\n    uVar25 = local_34;\n    uVar10 = uVar9;\n    uVar26 = uVar13;\n    if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }\n    *puVar1 = uVar10;\n    puVar1[1] = uVar26;\n  }\nLAB_002860cc:\n  puVar15 = puVar11;\n  if (((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28)) {\n    puVar4 = puVar15;\n  }\n  return puVar4;\n}\n\n" comment (function_definition "undefined4 * FUN_00285f50(int param_1,undefined4 *param_2)\n\n{\n  uint *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  uint uVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  char *pcVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  code *pcVar18;\n  uint *puVar19;\n  int *piVar20;\n  int iVar21;\n  undefined *puVar22;\n  code *pcVar23;\n  int *piVar24;\n  uint uVar25;\n  uint uVar26;\n  ulonglong uVar27;\n  undefined8 uVar28;\n  undefined4 uVar29;\n  char acStack_c8 [4];\n  uint uStack_c4;\n  uint uStack_c0;\n  uint uStack_bc;\n  code *pcStack_b8;\n  undefined4 *puStack_b0;\n  undefined4 *puStack_ac;\n  ulonglong uStack_a8;\n  uint *puStack_a0;\n  uint *puStack_9c;\n  int iStack_98;\n  undefined4 in_stack_ffffff8c;\n  uint local_40;\n  uint local_3c;\n  uint local_38;\n  uint local_34;\n  int local_30;\n  int local_2c;\n  uint local_28;\n  \n  puVar19 = &local_40;\n  uVar27 = gold::Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0);\n  puVar11 = (undefined4 *)(uVar27 >> 0x20);\n  uVar28 = gold::Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0);\n  puVar4 = (undefined4 *)((ulonglong)uVar28 >> 0x20);\n  local_28 = (uint)uVar28;\n  if (local_2c == local_30) {\n    if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }\nLAB_00286094:\n    puVar1 = (uint *)param_2[8];\n  }\n  else {\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }\n  if (puVar1 != (uint *)0x0) {\n    uVar9 = *puVar1;\n    uVar13 = puVar1[1];\n    uVar14 = local_38;\n    uVar25 = local_34;\n    uVar10 = uVar9;\n    uVar26 = uVar13;\n    if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }\n    *puVar1 = uVar10;\n    puVar1[1] = uVar26;\n  }\nLAB_002860cc:\n  puVar15 = puVar11;\n  if (((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28)) {\n    puVar4 = puVar15;\n  }\n  return puVar4;\n}" type_identifier (pointer_declarator "* FUN_00285f50(int param_1,undefined4 *param_2)" * (function_declarator "FUN_00285f50(int param_1,undefined4 *param_2)" identifier (parameter_list "(int param_1,undefined4 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  uint *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  uint uVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  char *pcVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  code *pcVar18;\n  uint *puVar19;\n  int *piVar20;\n  int iVar21;\n  undefined *puVar22;\n  code *pcVar23;\n  int *piVar24;\n  uint uVar25;\n  uint uVar26;\n  ulonglong uVar27;\n  undefined8 uVar28;\n  undefined4 uVar29;\n  char acStack_c8 [4];\n  uint uStack_c4;\n  uint uStack_c0;\n  uint uStack_bc;\n  code *pcStack_b8;\n  undefined4 *puStack_b0;\n  undefined4 *puStack_ac;\n  ulonglong uStack_a8;\n  uint *puStack_a0;\n  uint *puStack_9c;\n  int iStack_98;\n  undefined4 in_stack_ffffff8c;\n  uint local_40;\n  uint local_3c;\n  uint local_38;\n  uint local_34;\n  int local_30;\n  int local_2c;\n  uint local_28;\n  \n  puVar19 = &local_40;\n  uVar27 = gold::Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0);\n  puVar11 = (undefined4 *)(uVar27 >> 0x20);\n  uVar28 = gold::Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0);\n  puVar4 = (undefined4 *)((ulonglong)uVar28 >> 0x20);\n  local_28 = (uint)uVar28;\n  if (local_2c == local_30) {\n    if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }\nLAB_00286094:\n    puVar1 = (uint *)param_2[8];\n  }\n  else {\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }\n  if (puVar1 != (uint *)0x0) {\n    uVar9 = *puVar1;\n    uVar13 = puVar1[1];\n    uVar14 = local_38;\n    uVar25 = local_34;\n    uVar10 = uVar9;\n    uVar26 = uVar13;\n    if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }\n    *puVar1 = uVar10;\n    puVar1[1] = uVar26;\n  }\nLAB_002860cc:\n  puVar15 = puVar11;\n  if (((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28)) {\n    puVar4 = puVar15;\n  }\n  return puVar4;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (declaration "uint *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "ulonglong uVar27;" type_identifier identifier ;) (declaration "undefined8 uVar28;" type_identifier identifier ;) (declaration "undefined4 uVar29;" type_identifier identifier ;) (declaration "char acStack_c8 [4];" primitive_type (array_declarator "acStack_c8 [4]" identifier [ number_literal ]) ;) (declaration "uint uStack_c4;" type_identifier identifier ;) (declaration "uint uStack_c0;" type_identifier identifier ;) (declaration "uint uStack_bc;" type_identifier identifier ;) (declaration "code *pcStack_b8;" type_identifier (pointer_declarator "*pcStack_b8" * identifier) ;) (declaration "undefined4 *puStack_b0;" type_identifier (pointer_declarator "*puStack_b0" * identifier) ;) (declaration "undefined4 *puStack_ac;" type_identifier (pointer_declarator "*puStack_ac" * identifier) ;) (declaration "ulonglong uStack_a8;" type_identifier identifier ;) (declaration "uint *puStack_a0;" type_identifier (pointer_declarator "*puStack_a0" * identifier) ;) (declaration "uint *puStack_9c;" type_identifier (pointer_declarator "*puStack_9c" * identifier) ;) (declaration "int iStack_98;" primitive_type identifier ;) (declaration "undefined4 in_stack_ffffff8c;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (expression_statement "puVar19 = &local_40;" (assignment_expression "puVar19 = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (ERROR "uVar27 = gold::" (assignment_expression "uVar27 = gold" identifier = identifier) : :) (labeled_statement "Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0);" statement_identifier : (ERROR ":" :) (expression_statement "eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0);" (call_expression "eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0)" identifier (argument_list "(*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0)" ( (pointer_expression "*(Symbol_table **)(param_1 + 4)" * (cast_expression "(Symbol_table **)(param_1 + 4)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , (cast_expression "(Layout *)*param_2" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) , (call_expression "SUB41(param_2[1],0)" identifier (argument_list "(param_2[1],0)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , number_literal ))) , (pointer_expression "*(bool *)(param_2 + 2)" * (cast_expression "(bool *)(param_2 + 2)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 2)" ( (binary_expression "param_2 + 2" identifier + number_literal) )))) , (cast_expression "(ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" ( (type_descriptor "ulonglong" type_identifier) ) (call_expression "CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" identifier (argument_list "(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" ( (pointer_expression "*(undefined1 *)((int)param_2 + 9)" * (cast_expression "(undefined1 *)((int)param_2 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 9)" ( (binary_expression "(int)param_2 + 9" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier )))) , (cast_expression "(Output_section *)param_2[4]" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[4]" identifier [ number_literal ])) , (cast_expression "(Output_section **)param_2[5]" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_2[5]" identifier [ number_literal ])) , (cast_expression "(ulonglong *)param_2[6]" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[6]" identifier [ number_literal ])) , (cast_expression "(STT *)&local_2c" ( (type_descriptor "STT *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_2c" & identifier)) , (cast_expression "(STV *)&local_38" ( (type_descriptor "STV *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_38" & identifier)) , (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , false , (cast_expression "(bool *)0x0" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) (expression_statement "puVar11 = (undefined4 *)(uVar27 >> 0x20);" (assignment_expression "puVar11 = (undefined4 *)(uVar27 >> 0x20)" identifier = (cast_expression "(undefined4 *)(uVar27 >> 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar27 >> 0x20)" ( (binary_expression "uVar27 >> 0x20" identifier >> number_literal) )))) ;) (ERROR "uVar28 = gold::" (assignment_expression "uVar28 = gold" identifier = identifier) : :) (labeled_statement "Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0);" statement_identifier : (ERROR ":" :) (expression_statement "eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0);" (call_expression "eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0)" identifier (argument_list "(*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0)" ( (pointer_expression "*(Symbol_table **)(param_1 + 8)" * (cast_expression "(Symbol_table **)(param_1 + 8)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (cast_expression "(Layout *)*param_2" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) , (call_expression "SUB41(param_2[1],0)" identifier (argument_list "(param_2[1],0)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , number_literal ))) , (pointer_expression "*(bool *)(param_2 + 2)" * (cast_expression "(bool *)(param_2 + 2)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 2)" ( (binary_expression "param_2 + 2" identifier + number_literal) )))) , (cast_expression "(ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" ( (type_descriptor "ulonglong" type_identifier) ) (call_expression "CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" identifier (argument_list "(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" ( (pointer_expression "*(undefined1 *)((int)param_2 + 9)" * (cast_expression "(undefined1 *)((int)param_2 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 9)" ( (binary_expression "(int)param_2 + 9" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier )))) , (cast_expression "(Output_section *)param_2[4]" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[4]" identifier [ number_literal ])) , (cast_expression "(Output_section **)param_2[5]" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_2[5]" identifier [ number_literal ])) , (cast_expression "(ulonglong *)param_2[6]" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[6]" identifier [ number_literal ])) , (cast_expression "(STT *)&local_30" ( (type_descriptor "STT *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_30" & identifier)) , (cast_expression "(STV *)puVar19" ( (type_descriptor "STV *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , false , (cast_expression "(bool *)0x0" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) (expression_statement "puVar4 = (undefined4 *)((ulonglong)uVar28 >> 0x20);" (assignment_expression "puVar4 = (undefined4 *)((ulonglong)uVar28 >> 0x20)" identifier = (cast_expression "(undefined4 *)((ulonglong)uVar28 >> 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" ( (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_28 = (uint)uVar28;" (assignment_expression "local_28 = (uint)uVar28" identifier = (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (local_2c == local_30) {\n    if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }\nLAB_00286094:\n    puVar1 = (uint *)param_2[8];\n  }\n  else {\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }" if (parenthesized_expression "(local_2c == local_30)" ( (binary_expression "local_2c == local_30" identifier == identifier) )) (compound_statement "{\n    if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }\nLAB_00286094:\n    puVar1 = (uint *)param_2[8];\n  }" { (if_statement "if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }" if (parenthesized_expression "((int *)param_2[7] != (int *)0x0)" ( (binary_expression "(int *)param_2[7] != (int *)0x0" (cast_expression "(int *)param_2[7]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[7]" identifier [ number_literal ])) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(int *)param_2[7] = local_2c;\n    }" { (expression_statement "*(int *)param_2[7] = local_2c;" (assignment_expression "*(int *)param_2[7] = local_2c" (pointer_expression "*(int *)param_2[7]" * (cast_expression "(int *)param_2[7]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[7]" identifier [ number_literal ]))) = identifier) ;) })) (labeled_statement "LAB_00286094:\n    puVar1 = (uint *)param_2[8];" statement_identifier : (expression_statement "puVar1 = (uint *)param_2[8];" (assignment_expression "puVar1 = (uint *)param_2[8]" identifier = (cast_expression "(uint *)param_2[8]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[8]" identifier [ number_literal ]))) ;)) }) (else_clause "else {\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }" else (compound_statement "{\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }" { (if_statement "if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }" if (parenthesized_expression "((local_2c != 0) || (local_30 != 0))" ( (binary_expression "(local_2c != 0) || (local_30 != 0)" (parenthesized_expression "(local_2c != 0)" ( (binary_expression "local_2c != 0" identifier != number_literal) )) || (parenthesized_expression "(local_30 != 0)" ( (binary_expression "local_30 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }" { (if_statement "if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == number_literal) )) (compound_statement "{\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }" { (expression_statement "puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);" (assignment_expression "puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec)" identifier = (cast_expression "(undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_alize_xindex_004323b4 + -0x5cec)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal) )))) ;) (expression_statement "puVar22 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar22 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar11,0x5c,PTR_DAT_0043226c + 0x2730)" ( identifier , number_literal , (binary_expression "PTR_DAT_0043226c + 0x2730" identifier + number_literal) ))) ;) (expression_statement "pcStack_b8 = *(code **)(puVar22 + 0x1af82c);" (assignment_expression "pcStack_b8 = *(code **)(puVar22 + 0x1af82c)" identifier = (pointer_expression "*(code **)(puVar22 + 0x1af82c)" * (cast_expression "(code **)(puVar22 + 0x1af82c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1af82c)" ( (binary_expression "puVar22 + 0x1af82c" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)puVar11[1];" (assignment_expression "piVar20 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "puStack_b0 = param_2;" (assignment_expression "puStack_b0 = param_2" identifier = identifier) ;) (expression_statement "puStack_ac = puVar4;" (assignment_expression "puStack_ac = puVar4" identifier = identifier) ;) (expression_statement "puStack_a0 = &local_38;" (assignment_expression "puStack_a0 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "puStack_9c = puVar19;" (assignment_expression "puStack_9c = puVar19" identifier = identifier) ;) (expression_statement "iStack_98 = param_1;" (assignment_expression "iStack_98 = param_1" identifier = identifier) ;) (labeled_statement "LAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );" statement_identifier : (do_statement "do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );" do (compound_statement "{\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        }" { (expression_statement "piVar24 = (int *)*puVar11;" (assignment_expression "piVar24 = (int *)*puVar11" identifier = (cast_expression "(int *)*puVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (labeled_statement "LAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));" statement_identifier : (do_statement "do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));" do (compound_statement "{\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          }" { (if_statement "if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }" if (parenthesized_expression "(piVar20 == piVar24)" ( (binary_expression "piVar20 == piVar24" identifier == identifier) )) (compound_statement "{\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }" { (expression_statement "*(undefined1 *)(puVar11 + 3) = 1;" (assignment_expression "*(undefined1 *)(puVar11 + 3) = 1" (pointer_expression "*(undefined1 *)(puVar11 + 3)" * (cast_expression "(undefined1 *)(puVar11 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 3)" ( (binary_expression "puVar11 + 3" identifier + number_literal) )))) = number_literal) ;) (return_statement "return (undefined4 *)0x1;" return (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "uStack_c0 = piVar20[-2];" (assignment_expression "uStack_c0 = piVar20[-2]" identifier = (subscript_expression "piVar20[-2]" identifier [ number_literal ])) ;) (expression_statement "pcVar18 = *(code **)(puVar22 + 0x1acdb0);" (assignment_expression "pcVar18 = *(code **)(puVar22 + 0x1acdb0)" identifier = (pointer_expression "*(code **)(puVar22 + 0x1acdb0)" * (cast_expression "(code **)(puVar22 + 0x1acdb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1acdb0)" ( (binary_expression "puVar22 + 0x1acdb0" identifier + number_literal) ))))) ;) (expression_statement "uStack_bc = piVar20[-1];" (assignment_expression "uStack_bc = piVar20[-1]" identifier = (subscript_expression "piVar20[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar11[1] = piVar20 + -2;" (assignment_expression "puVar11[1] = piVar20 + -2" (subscript_expression "puVar11[1]" identifier [ number_literal ]) = (binary_expression "piVar20 + -2" identifier + number_literal)) ;) (expression_statement "uVar14 = uStack_c0 ^ uStack_bc;" (assignment_expression "uVar14 = uStack_c0 ^ uStack_bc" identifier = (binary_expression "uStack_c0 ^ uStack_bc" identifier ^ identifier)) ;) (if_statement "if (puVar11[0xb] == 0) {\n              trap(7);\n            }" if (parenthesized_expression "(puVar11[0xb] == 0)" ( (binary_expression "puVar11[0xb] == 0" (subscript_expression "puVar11[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              trap(7);\n            }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar25 = uVar14 % (uint)puVar11[0xb];" (assignment_expression "uVar25 = uVar14 % (uint)puVar11[0xb]" identifier = (binary_expression "uVar14 % (uint)puVar11[0xb]" identifier % (cast_expression "(uint)puVar11[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar11[0xb]" identifier [ number_literal ])))) ;) (expression_statement "uStack_a8 = uVar27;" (assignment_expression "uStack_a8 = uVar27" identifier = identifier) ;) (expression_statement "piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);" (assignment_expression "piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14)" identifier = (cast_expression "(int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(puVar11 + 10,uVar25,&uStack_c0,uVar14)" ( (binary_expression "puVar11 + 10" identifier + number_literal) , identifier , (pointer_expression "&uStack_c0" & identifier) , identifier ))))) ;) }) while (parenthesized_expression "((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0))" ( (binary_expression "(piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0)" (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0)" ( (comma_expression "piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0" (assignment_expression "piVar20 = piVar20 + -2" identifier = (binary_expression "piVar20 + -2" identifier + number_literal)) , (comma_expression "uVar27 = uStack_a8, *piVar3 != 0" (assignment_expression "uVar27 = uStack_a8" identifier = identifier) , (binary_expression "*piVar3 != 0" (pointer_expression "*piVar3" * identifier) != number_literal))) ))) )) ;)) (expression_statement "piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);" (assignment_expression "piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10)" identifier = (cast_expression "(int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar22 + 0x1ac0ec))(0x10)" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac0ec))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac0ec)" * (pointer_expression "*(code **)(puVar22 + 0x1ac0ec)" * (cast_expression "(code **)(puVar22 + 0x1ac0ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac0ec)" ( (binary_expression "puVar22 + 0x1ac0ec" identifier + number_literal) ))))) )) (argument_list "(0x10)" ( number_literal ))))) ;) (expression_statement "puVar4 = puVar11 + 0xe;" (assignment_expression "puVar4 = puVar11 + 0xe" identifier = (binary_expression "puVar11 + 0xe" identifier + number_literal)) ;) (expression_statement "pcVar12 = acStack_c8;" (assignment_expression "pcVar12 = acStack_c8" identifier = identifier) ;) (expression_statement "puVar15 = (undefined4 *)puVar11[0xb];" (assignment_expression "puVar15 = (undefined4 *)puVar11[0xb]" identifier = (cast_expression "(undefined4 *)puVar11[0xb]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[0xb]" identifier [ number_literal ]))) ;) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (expression_statement "pcVar23 = *(code **)(puVar22 + 0x1ac8e0);" (assignment_expression "pcVar23 = *(code **)(puVar22 + 0x1ac8e0)" identifier = (pointer_expression "*(code **)(puVar22 + 0x1ac8e0)" * (cast_expression "(code **)(puVar22 + 0x1ac8e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac8e0)" ( (binary_expression "puVar22 + 0x1ac8e0" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = puVar11[0xf];" (assignment_expression "uVar2 = puVar11[0xf]" identifier = (subscript_expression "puVar11[0xf]" identifier [ number_literal ])) ;) (expression_statement "piVar20[1] = uStack_c0;" (assignment_expression "piVar20[1] = uStack_c0" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar20[2] = uStack_bc;" (assignment_expression "piVar20[2] = uStack_bc" (subscript_expression "piVar20[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar29 = 1;" (assignment_expression "uVar29 = 1" identifier = number_literal) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uVar10 = uStack_c4;" (assignment_expression "uVar10 = uStack_c4" identifier = identifier) ;) (if_statement "if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }" if (parenthesized_expression "(acStack_c8[0] == '\0')" ( (binary_expression "acStack_c8[0] == '\0'" (subscript_expression "acStack_c8[0]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }" { (expression_statement "puVar4 = (undefined4 *)puVar11[10];" (assignment_expression "puVar4 = (undefined4 *)puVar11[10]" identifier = (cast_expression "(undefined4 *)puVar11[10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[10]" identifier [ number_literal ]))) ;) (expression_statement "piVar20[3] = uVar14;" (assignment_expression "piVar20[3] = uVar14" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar3 = puVar4 + uVar25;" (assignment_expression "piVar3 = puVar4 + uVar25" identifier = (binary_expression "puVar4 + uVar25" identifier + identifier)) ;) (expression_statement "piVar24 = (int *)*piVar3;" (assignment_expression "piVar24 = (int *)*piVar3" identifier = (cast_expression "(int *)*piVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar3" * identifier))) ;) (expression_statement "uVar27 = uStack_a8;" (assignment_expression "uVar27 = uStack_a8" identifier = identifier) ;) (if_statement "if (piVar24 == (int *)0x0) goto LAB_00286470;" if (parenthesized_expression "(piVar24 == (int *)0x0)" ( (binary_expression "piVar24 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00286470;" goto statement_identifier ;)) (labeled_statement "LAB_002864c8:\n            *piVar20 = *piVar24;" statement_identifier : (expression_statement "*piVar20 = *piVar24;" (assignment_expression "*piVar20 = *piVar24" (pointer_expression "*piVar20" * identifier) = (pointer_expression "*piVar24" * identifier)) ;)) (expression_statement "*(int **)*piVar3 = piVar20;" (assignment_expression "*(int **)*piVar3 = piVar20" (pointer_expression "*(int **)*piVar3" * (cast_expression "(int **)*piVar3" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*piVar3" * identifier))) = identifier) ;) }) (else_clause "else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }" else (compound_statement "{\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }" { (if_statement "if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }" if (parenthesized_expression "(uStack_c4 == 1)" ( (binary_expression "uStack_c4 == 1" identifier == number_literal) )) (compound_statement "{\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }" { (expression_statement "puVar4 = puVar11 + 0x10;" (assignment_expression "puVar4 = puVar11 + 0x10" identifier = (binary_expression "puVar11 + 0x10" identifier + number_literal)) ;) (expression_statement "puVar11[0x10] = 0;" (assignment_expression "puVar11[0x10] = 0" (subscript_expression "puVar11[0x10]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }" else (compound_statement "{\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }" { (expression_statement "iVar21 = uStack_c4 << 2;" (assignment_expression "iVar21 = uStack_c4 << 2" identifier = (binary_expression "uStack_c4 << 2" identifier << number_literal)) ;) (if_statement "if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }" if (parenthesized_expression "(0x3fffffff < uStack_c4)" ( (binary_expression "0x3fffffff < uStack_c4" number_literal < identifier) )) (compound_statement "{\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }" { (expression_statement "(**(code **)(puVar22 + 0x1ac1b4))();" (call_expression "(**(code **)(puVar22 + 0x1ac1b4))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac1b4))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac1b4)" * (pointer_expression "*(code **)(puVar22 + 0x1ac1b4)" * (cast_expression "(code **)(puVar22 + 0x1ac1b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac1b4)" ( (binary_expression "puVar22 + 0x1ac1b4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(puVar22 + 0x1ac7cc))();" (call_expression "(**(code **)(puVar22 + 0x1ac7cc))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac7cc))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac7cc)" * (pointer_expression "*(code **)(puVar22 + 0x1ac7cc)" * (cast_expression "(code **)(puVar22 + 0x1ac7cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac7cc)" ( (binary_expression "puVar22 + 0x1ac7cc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar18 = *(code **)(puVar22 + 0x1ac7d0);" (assignment_expression "pcVar18 = *(code **)(puVar22 + 0x1ac7d0)" identifier = (pointer_expression "*(code **)(puVar22 + 0x1ac7d0)" * (cast_expression "(code **)(puVar22 + 0x1ac7d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac7d0)" ( (binary_expression "puVar22 + 0x1ac7d0" identifier + number_literal) ))))) ;) (expression_statement "puVar11[0xf] = uVar2;" (assignment_expression "puVar11[0xf] = uVar2" (subscript_expression "puVar11[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcVar18)();" (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_b8 = (code *)pcVar12;" (assignment_expression "pcStack_b8 = (code *)pcVar12" identifier = (cast_expression "(code *)pcVar12" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(**(code **)(puVar22 + 0x1ac7d4))();" (call_expression "(**(code **)(puVar22 + 0x1ac7d4))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac7d4))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac7d4)" * (pointer_expression "*(code **)(puVar22 + 0x1ac7d4)" * (cast_expression "(code **)(puVar22 + 0x1ac7d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac7d4)" ( (binary_expression "puVar22 + 0x1ac7d4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);" (call_expression "(**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8)" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac7cc))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac7cc)" * (pointer_expression "*(code **)(puVar22 + 0x1ac7cc)" * (cast_expression "(code **)(puVar22 + 0x1ac7cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac7cc)" ( (binary_expression "puVar22 + 0x1ac7cc" identifier + number_literal) ))))) )) (argument_list "(pcStack_b8)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar22 + 0x1ac03c))();" (call_expression "(**(code **)(puVar22 + 0x1ac03c))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac03c))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac03c)" * (pointer_expression "*(code **)(puVar22 + 0x1ac03c)" * (cast_expression "(code **)(puVar22 + 0x1ac03c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac03c)" ( (binary_expression "puVar22 + 0x1ac03c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(puVar22 + 0x1ac7d0))();" (call_expression "(**(code **)(puVar22 + 0x1ac7d0))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac7d0))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac7d0)" * (pointer_expression "*(code **)(puVar22 + 0x1ac7d0)" * (cast_expression "(code **)(puVar22 + 0x1ac7d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac7d0)" ( (binary_expression "puVar22 + 0x1ac7d0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_b8 = (code *)piVar20;" (assignment_expression "pcStack_b8 = (code *)piVar20" identifier = (cast_expression "(code *)piVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(**(code **)(puVar22 + 0x1ac7d4))();" (call_expression "(**(code **)(puVar22 + 0x1ac7d4))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac7d4))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac7d4)" * (pointer_expression "*(code **)(puVar22 + 0x1ac7d4)" * (cast_expression "(code **)(puVar22 + 0x1ac7d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac7d4)" ( (binary_expression "puVar22 + 0x1ac7d4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar23 = *(code **)(puVar22 + 0x1ac008);" (assignment_expression "pcVar23 = *(code **)(puVar22 + 0x1ac008)" identifier = (pointer_expression "*(code **)(puVar22 + 0x1ac008)" * (cast_expression "(code **)(puVar22 + 0x1ac008)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac008)" ( (binary_expression "puVar22 + 0x1ac008" identifier + number_literal) ))))) ;) (expression_statement "pcVar18 = pcStack_b8;" (assignment_expression "pcVar18 = pcStack_b8" identifier = identifier) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar5 = *(undefined4 **)pcVar18;" (assignment_expression "puVar5 = *(undefined4 **)pcVar18" identifier = (pointer_expression "*(undefined4 **)pcVar18" * (cast_expression "(undefined4 **)pcVar18" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar11 = *(undefined4 **)((int)pcVar18 + 4);" (assignment_expression "puVar11 = *(undefined4 **)((int)pcVar18 + 4)" identifier = (pointer_expression "*(undefined4 **)((int)pcVar18 + 4)" * (cast_expression "(undefined4 **)((int)pcVar18 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pcVar18 + 4)" ( (binary_expression "(int)pcVar18 + 4" (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar14 = (int)puVar11 - (int)puVar5 >> 3;" (assignment_expression "uVar14 = (int)puVar11 - (int)puVar5 >> 3" identifier = (binary_expression "(int)puVar11 - (int)puVar5 >> 3" (binary_expression "(int)puVar11 - (int)puVar5" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (if_statement "if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }" { (expression_statement "uVar25 = 1;" (assignment_expression "uVar25 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00286884:\n                  iVar21 = uVar25 << 3;" statement_identifier : (expression_statement "iVar21 = uVar25 << 3;" (assignment_expression "iVar21 = uVar25 << 3" identifier = (binary_expression "uVar25 << 3" identifier << number_literal)) ;)) }) (else_clause "else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }" else (compound_statement "{\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }" { (expression_statement "uVar25 = uVar14 << 1;" (assignment_expression "uVar25 = uVar14 << 1" identifier = (binary_expression "uVar14 << 1" identifier << number_literal)) ;) (if_statement "if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }" if (parenthesized_expression "((uVar14 <= uVar25) && (uVar25 < 0x20000000))" ( (binary_expression "(uVar14 <= uVar25) && (uVar25 < 0x20000000)" (parenthesized_expression "(uVar14 <= uVar25)" ( (binary_expression "uVar14 <= uVar25" identifier <= identifier) )) && (parenthesized_expression "(uVar25 < 0x20000000)" ( (binary_expression "uVar25 < 0x20000000" identifier < number_literal) ))) )) (compound_statement "{\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }" { (expression_statement "puVar17 = (undefined4 *)0x8;" (assignment_expression "puVar17 = (undefined4 *)0x8" identifier = (cast_expression "(undefined4 *)0x8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }" if (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) (compound_statement "{\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }" { (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "puVar6 = (undefined4 *)0x0;" (assignment_expression "puVar6 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00286780;" goto statement_identifier ;) })) (goto_statement "goto LAB_00286884;" goto statement_identifier ;) })) (expression_statement "iVar21 = -8;" (assignment_expression "iVar21 = -8" identifier = number_literal) ;) }))) (expression_statement "puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);" (assignment_expression "puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + 0x1abc4c))(iVar21)" (parenthesized_expression "(**(code **)(pcVar23 + 0x1abc4c))" ( (pointer_expression "**(code **)(pcVar23 + 0x1abc4c)" * (pointer_expression "*(code **)(pcVar23 + 0x1abc4c)" * (cast_expression "(code **)(pcVar23 + 0x1abc4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1abc4c)" ( (binary_expression "pcVar23 + 0x1abc4c" identifier + number_literal) ))))) )) (argument_list "(iVar21)" ( identifier ))))) ;) (expression_statement "iVar21 = (int)puVar6 + iVar21;" (assignment_expression "iVar21 = (int)puVar6 + iVar21" identifier = (binary_expression "(int)puVar6 + iVar21" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "puVar17 = puVar6 + 2;" (assignment_expression "puVar17 = puVar6 + 2" identifier = (binary_expression "puVar6 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));" statement_identifier : (expression_statement "puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));" (assignment_expression "puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5))" identifier = (cast_expression "(undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + ((int)puVar4 - (int)puVar5))" ( (binary_expression "(int)puVar6 + ((int)puVar4 - (int)puVar5)" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)puVar4 - (int)puVar5)" ( (binary_expression "(int)puVar4 - (int)puVar5" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;)) (expression_statement "uVar2 = puVar15[1];" (assignment_expression "uVar2 = puVar15[1]" identifier = (subscript_expression "puVar15[1]" identifier [ number_literal ])) ;) (expression_statement "*puVar7 = *puVar15;" (assignment_expression "*puVar7 = *puVar15" (pointer_expression "*puVar7" * identifier) = (pointer_expression "*puVar15" * identifier)) ;) (expression_statement "puVar7[1] = uVar2;" (assignment_expression "puVar7[1] = uVar2" (subscript_expression "puVar7[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar15 = puVar5;" (assignment_expression "puVar15 = puVar5" identifier = identifier) ;) (expression_statement "puVar16 = puVar6;" (assignment_expression "puVar16 = puVar6" identifier = identifier) ;) (if_statement "if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }" if (parenthesized_expression "(puVar5 != puVar4)" ( (binary_expression "puVar5 != puVar4" identifier != identifier) )) (compound_statement "{\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }" { (do_statement "do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);" do (compound_statement "{\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  }" { (expression_statement "puVar17 = puVar15 + 2;" (assignment_expression "puVar17 = puVar15 + 2" identifier = (binary_expression "puVar15 + 2" identifier + number_literal)) ;) (expression_statement "uVar2 = puVar15[1];" (assignment_expression "uVar2 = puVar15[1]" identifier = (subscript_expression "puVar15[1]" identifier [ number_literal ])) ;) (expression_statement "*puVar16 = *puVar15;" (assignment_expression "*puVar16 = *puVar15" (pointer_expression "*puVar16" * identifier) = (pointer_expression "*puVar15" * identifier)) ;) (expression_statement "puVar16[1] = uVar2;" (assignment_expression "puVar16[1] = uVar2" (subscript_expression "puVar16[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar15 = puVar17;" (assignment_expression "puVar15 = puVar17" identifier = identifier) ;) (expression_statement "puVar16 = puVar16 + 2;" (assignment_expression "puVar16 = puVar16 + 2" identifier = (binary_expression "puVar16 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar4 != puVar17)" ( (binary_expression "puVar4 != puVar17" identifier != identifier) )) ;) (expression_statement "puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;" (assignment_expression "puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2" identifier = (binary_expression "puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2" identifier + (binary_expression "(((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2" (parenthesized_expression "(((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2)" ( (binary_expression "((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2" (parenthesized_expression "((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3)" ( (binary_expression "(uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3" (call_expression "(uint)((int)puVar4 + (-8 - (int)puVar5))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar4 + (-8 - (int)puVar5))" ( (binary_expression "(int)puVar4 + (-8 - (int)puVar5)" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-8 - (int)puVar5)" ( (binary_expression "-8 - (int)puVar5" number_literal - (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) >> number_literal) )) + number_literal) )) * number_literal))) ;) })) (expression_statement "puVar15 = puVar4;" (assignment_expression "puVar15 = puVar4" identifier = identifier) ;) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" identifier = identifier) ;) (if_statement "if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }" if (parenthesized_expression "(puVar11 != puVar4)" ( (binary_expression "puVar11 != puVar4" identifier != identifier) )) (compound_statement "{\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }" { (do_statement "do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);" do (compound_statement "{\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  }" { (expression_statement "puVar8 = puVar15 + 2;" (assignment_expression "puVar8 = puVar15 + 2" identifier = (binary_expression "puVar15 + 2" identifier + number_literal)) ;) (expression_statement "*puVar16 = *puVar15;" (assignment_expression "*puVar16 = *puVar15" (pointer_expression "*puVar16" * identifier) = (pointer_expression "*puVar15" * identifier)) ;) (expression_statement "puVar16[1] = puVar15[1];" (assignment_expression "puVar16[1] = puVar15[1]" (subscript_expression "puVar16[1]" identifier [ number_literal ]) = (subscript_expression "puVar15[1]" identifier [ number_literal ])) ;) (expression_statement "puVar15 = puVar8;" (assignment_expression "puVar15 = puVar8" identifier = identifier) ;) (expression_statement "puVar16 = puVar16 + 2;" (assignment_expression "puVar16 = puVar16 + 2" identifier = (binary_expression "puVar16 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar11 != puVar8)" ( (binary_expression "puVar11 != puVar8" identifier != identifier) )) ;) (expression_statement "puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;" (assignment_expression "puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2" identifier = (binary_expression "puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2" identifier + (binary_expression "(((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2" (parenthesized_expression "(((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1)" ( (binary_expression "((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1" (parenthesized_expression "((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3)" ( (binary_expression "(uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3" (call_expression "(uint)((int)puVar11 + (-8 - (int)puVar4))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar11 + (-8 - (int)puVar4))" ( (binary_expression "(int)puVar11 + (-8 - (int)puVar4)" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-8 - (int)puVar4)" ( (binary_expression "-8 - (int)puVar4" number_literal - (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) >> number_literal) )) + number_literal) )) * number_literal))) ;) })) (if_statement "if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }" if (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" ( (binary_expression "puVar5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }" { (expression_statement "puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);" (assignment_expression "puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + 0x1abb9c))(puVar5)" (parenthesized_expression "(**(code **)(pcVar23 + 0x1abb9c))" ( (pointer_expression "**(code **)(pcVar23 + 0x1abb9c)" * (pointer_expression "*(code **)(pcVar23 + 0x1abb9c)" * (cast_expression "(code **)(pcVar23 + 0x1abb9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1abb9c)" ( (binary_expression "pcVar23 + 0x1abb9c" identifier + number_literal) ))))) )) (argument_list "(puVar5)" ( identifier ))))) ;) })) (expression_statement "*(undefined4 **)pcVar18 = puVar6;" (assignment_expression "*(undefined4 **)pcVar18 = puVar6" (pointer_expression "*(undefined4 **)pcVar18" * (cast_expression "(undefined4 **)pcVar18" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 **)((int)pcVar18 + 4) = puVar17;" (assignment_expression "*(undefined4 **)((int)pcVar18 + 4) = puVar17" (pointer_expression "*(undefined4 **)((int)pcVar18 + 4)" * (cast_expression "(undefined4 **)((int)pcVar18 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pcVar18 + 4)" ( (binary_expression "(int)pcVar18 + 4" (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)pcVar18 + 8) = iVar21;" (assignment_expression "*(int *)((int)pcVar18 + 8) = iVar21" (pointer_expression "*(int *)((int)pcVar18 + 8)" * (cast_expression "(int *)((int)pcVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pcVar18 + 8)" ( (binary_expression "(int)pcVar18 + 8" (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (return_statement "return puVar7;" return identifier ;) })) (expression_statement "puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);" (assignment_expression "puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar22 + 0x1ac0ec))(iVar21)" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac0ec))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac0ec)" * (pointer_expression "*(code **)(puVar22 + 0x1ac0ec)" * (cast_expression "(code **)(puVar22 + 0x1ac0ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac0ec)" ( (binary_expression "puVar22 + 0x1ac0ec" identifier + number_literal) ))))) )) (argument_list "(iVar21)" ( identifier ))))) ;) (expression_statement "(**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);" (call_expression "(**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21)" (parenthesized_expression "(**(code **)(puVar22 + 0x1b0600))" ( (pointer_expression "**(code **)(puVar22 + 0x1b0600)" * (pointer_expression "*(code **)(puVar22 + 0x1b0600)" * (cast_expression "(code **)(puVar22 + 0x1b0600)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1b0600)" ( (binary_expression "puVar22 + 0x1b0600" identifier + number_literal) ))))) )) (argument_list "(puVar4,0,iVar21)" ( identifier , number_literal , identifier ))) ;) }))) (expression_statement "piVar24 = (int *)puVar11[0xc];" (assignment_expression "piVar24 = (int *)puVar11[0xc]" identifier = (cast_expression "(int *)puVar11[0xc]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[0xc]" identifier [ number_literal ]))) ;) (expression_statement "puVar11[0xc] = 0;" (assignment_expression "puVar11[0xc] = 0" (subscript_expression "puVar11[0xc]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }" if (parenthesized_expression "(piVar24 != (int *)0x0)" ( (binary_expression "piVar24 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }" { (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (do_statement "do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);" do (compound_statement "{\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              }" { (while_statement "while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }" { (if_statement "if (uVar10 == 0) {\n                    trap(7);\n                  }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                    trap(7);\n                  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar26 = (uint)piVar24[3] % uVar10;" (assignment_expression "uVar26 = (uint)piVar24[3] % uVar10" identifier = (binary_expression "(uint)piVar24[3] % uVar10" (cast_expression "(uint)piVar24[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar24[3]" identifier [ number_literal ])) % identifier)) ;) (expression_statement "puVar15 = puVar4 + uVar26;" (assignment_expression "puVar15 = puVar4 + uVar26" identifier = (binary_expression "puVar4 + uVar26" identifier + identifier)) ;) (expression_statement "piVar3 = (int *)*piVar24;" (assignment_expression "piVar3 = (int *)*piVar24" identifier = (cast_expression "(int *)*piVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar24" * identifier))) ;) (if_statement "if ((int *)*puVar15 == (int *)0x0) break;" if (parenthesized_expression "((int *)*puVar15 == (int *)0x0)" ( (binary_expression "(int *)*puVar15 == (int *)0x0" (cast_expression "(int *)*puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier)) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "*piVar24 = *(int *)*puVar15;" (assignment_expression "*piVar24 = *(int *)*puVar15" (pointer_expression "*piVar24" * identifier) = (pointer_expression "*(int *)*puVar15" * (cast_expression "(int *)*puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier)))) ;) (expression_statement "*(int **)*puVar15 = piVar24;" (assignment_expression "*(int **)*puVar15 = piVar24" (pointer_expression "*(int **)*puVar15" * (cast_expression "(int **)*puVar15" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar15" * identifier))) = identifier) ;) (expression_statement "uVar26 = uVar25;" (assignment_expression "uVar26 = uVar25" identifier = identifier) ;) (labeled_statement "LAB_002863d0:\n                  piVar24 = piVar3;" statement_identifier : (expression_statement "piVar24 = piVar3;" (assignment_expression "piVar24 = piVar3" identifier = identifier) ;)) (expression_statement "uVar25 = uVar26;" (assignment_expression "uVar25 = uVar26" identifier = identifier) ;) (if_statement "if (piVar3 == (int *)0x0) goto LAB_0028642c;" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0028642c;" goto statement_identifier ;)) })) (expression_statement "*piVar24 = puVar11[0xc];" (assignment_expression "*piVar24 = puVar11[0xc]" (pointer_expression "*piVar24" * identifier) = (subscript_expression "puVar11[0xc]" identifier [ number_literal ])) ;) (expression_statement "puVar11[0xc] = piVar24;" (assignment_expression "puVar11[0xc] = piVar24" (subscript_expression "puVar11[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar15 = puVar11 + 0xc;" (assignment_expression "*puVar15 = puVar11 + 0xc" (pointer_expression "*puVar15" * identifier) = (binary_expression "puVar11 + 0xc" identifier + number_literal)) ;) (if_statement "if (*piVar24 == 0) goto LAB_002863d0;" if (parenthesized_expression "(*piVar24 == 0)" ( (binary_expression "*piVar24 == 0" (pointer_expression "*piVar24" * identifier) == number_literal) )) (goto_statement "goto LAB_002863d0;" goto statement_identifier ;)) (expression_statement "puVar4[uVar25] = piVar24;" (assignment_expression "puVar4[uVar25] = piVar24" (subscript_expression "puVar4[uVar25]" identifier [ identifier ]) = identifier) ;) (expression_statement "piVar24 = piVar3;" (assignment_expression "piVar24 = piVar3" identifier = identifier) ;) (expression_statement "uVar25 = uVar26;" (assignment_expression "uVar25 = uVar26" identifier = identifier) ;) }) while (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (labeled_statement "LAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }" statement_identifier : (if_statement "if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }" if (parenthesized_expression "((undefined4 *)puVar11[10] != puVar11 + 0x10)" ( (binary_expression "(undefined4 *)puVar11[10] != puVar11 + 0x10" (cast_expression "(undefined4 *)puVar11[10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[10]" identifier [ number_literal ])) != (binary_expression "puVar11 + 0x10" identifier + number_literal)) )) (compound_statement "{\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }" { (expression_statement "(**(code **)(puVar22 + 0x1ac03c))();" (call_expression "(**(code **)(puVar22 + 0x1ac03c))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac03c))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac03c)" * (pointer_expression "*(code **)(puVar22 + 0x1ac03c)" * (cast_expression "(code **)(puVar22 + 0x1ac03c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac03c)" ( (binary_expression "puVar22 + 0x1ac03c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }))) (if_statement "if (uVar10 == 0) {\n              trap(7);\n            }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 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 "puVar11[0xb] = uVar10;" (assignment_expression "puVar11[0xb] = uVar10" (subscript_expression "puVar11[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[10] = puVar4;" (assignment_expression "puVar11[10] = puVar4" (subscript_expression "puVar11[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar20[3] = uVar14;" (assignment_expression "piVar20[3] = uVar14" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar3 = puVar4 + uVar14 % uVar10;" (assignment_expression "piVar3 = puVar4 + uVar14 % uVar10" identifier = (binary_expression "puVar4 + uVar14 % uVar10" identifier + (binary_expression "uVar14 % uVar10" identifier % identifier))) ;) (expression_statement "piVar24 = (int *)*piVar3;" (assignment_expression "piVar24 = (int *)*piVar3" identifier = (cast_expression "(int *)*piVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar3" * identifier))) ;) (expression_statement "uVar27 = uStack_a8;" (assignment_expression "uVar27 = uStack_a8" identifier = identifier) ;) (if_statement "if (piVar24 != (int *)0x0) goto LAB_002864c8;" if (parenthesized_expression "(piVar24 != (int *)0x0)" ( (binary_expression "piVar24 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002864c8;" goto statement_identifier ;)) (labeled_statement "LAB_00286470:\n            iVar21 = puVar11[0xc];" statement_identifier : (expression_statement "iVar21 = puVar11[0xc];" (assignment_expression "iVar21 = puVar11[0xc]" identifier = (subscript_expression "puVar11[0xc]" identifier [ number_literal ])) ;)) (expression_statement "puVar11[0xc] = piVar20;" (assignment_expression "puVar11[0xc] = piVar20" (subscript_expression "puVar11[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar20 = iVar21;" (assignment_expression "*piVar20 = iVar21" (pointer_expression "*piVar20" * identifier) = identifier) ;) (if_statement "if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (compound_statement "{\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }" { (if_statement "if (puVar11[0xb] == 0) {\n                trap(7);\n              }" if (parenthesized_expression "(puVar11[0xb] == 0)" ( (binary_expression "puVar11[0xb] == 0" (subscript_expression "puVar11[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                trap(7);\n              }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;" (assignment_expression "puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20" (subscript_expression "puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]]" identifier [ (binary_expression "*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]" (pointer_expression "*(uint *)(iVar21 + 0xc)" * (cast_expression "(uint *)(iVar21 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0xc)" ( (binary_expression "iVar21 + 0xc" identifier + number_literal) )))) % (cast_expression "(uint)puVar11[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar11[0xb]" identifier [ number_literal ]))) ]) = identifier) ;) })) (expression_statement "*piVar3 = (int)(puVar11 + 0xc);" (assignment_expression "*piVar3 = (int)(puVar11 + 0xc)" (pointer_expression "*piVar3" * identifier) = (cast_expression "(int)(puVar11 + 0xc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar11 + 0xc)" ( (binary_expression "puVar11 + 0xc" identifier + number_literal) )))) ;) (expression_statement "uVar27 = uStack_a8;" (assignment_expression "uVar27 = uStack_a8" identifier = identifier) ;) }))) (expression_statement "puVar4 = (undefined4 *)puVar11[6];" (assignment_expression "puVar4 = (undefined4 *)puVar11[6]" identifier = (cast_expression "(undefined4 *)puVar11[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[6]" identifier [ number_literal ]))) ;) (expression_statement "piVar20 = (int *)puVar11[1];" (assignment_expression "piVar20 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar11[0xd] = puVar11[0xd] + 1;" (assignment_expression "puVar11[0xd] = puVar11[0xd] + 1" (subscript_expression "puVar11[0xd]" identifier [ number_literal ]) = (binary_expression "puVar11[0xd] + 1" (subscript_expression "puVar11[0xd]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "puVar15 = puVar11 + 5;" (assignment_expression "puVar15 = puVar11 + 5" identifier = (binary_expression "puVar11 + 5" identifier + number_literal)) ;) (if_statement "if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;" if (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" ( (binary_expression "puVar4 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002862a4;" goto statement_identifier ;)) (do_statement "do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);" do (compound_statement "{\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          }" { (if_statement "if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }" if (parenthesized_expression "(((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc))))" ( (binary_expression "((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))" (parenthesized_expression "((uint)puVar4[4] < uStack_c0)" ( (binary_expression "(uint)puVar4[4] < uStack_c0" (cast_expression "(uint)puVar4[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar4[4]" identifier [ number_literal ])) < identifier) )) || (parenthesized_expression "((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))" ( (parenthesized_expression "(puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc))" ( (binary_expression "puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)" (binary_expression "puVar4[4] == uStack_c0" (subscript_expression "puVar4[4]" identifier [ number_literal ]) == identifier) && (parenthesized_expression "((uint)puVar4[5] < uStack_bc)" ( (binary_expression "(uint)puVar4[5] < uStack_bc" (cast_expression "(uint)puVar4[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar4[5]" identifier [ number_literal ])) < identifier) ))) )) ))) )) (compound_statement "{\n              puVar5 = (undefined4 *)puVar4[3];\n            }" { (expression_statement "puVar5 = (undefined4 *)puVar4[3];" (assignment_expression "puVar5 = (undefined4 *)puVar4[3]" identifier = (cast_expression "(undefined4 *)puVar4[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }" else (compound_statement "{\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }" { (expression_statement "puVar5 = (undefined4 *)puVar4[2];" (assignment_expression "puVar5 = (undefined4 *)puVar4[2]" identifier = (cast_expression "(undefined4 *)puVar4[2]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[2]" identifier [ number_literal ]))) ;) (expression_statement "puVar15 = puVar4;" (assignment_expression "puVar15 = puVar4" identifier = identifier) ;) }))) (expression_statement "puVar4 = puVar5;" (assignment_expression "puVar4 = puVar5" identifier = identifier) ;) }) while (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" ( (binary_expression "puVar5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;" if (parenthesized_expression "(((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5]))))" ( (binary_expression "((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))" (parenthesized_expression "((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4]))" ( (binary_expression "(puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])" (parenthesized_expression "(puVar11 + 5 == puVar15)" ( (binary_expression "puVar11 + 5 == puVar15" (binary_expression "puVar11 + 5" identifier + number_literal) == identifier) )) || (parenthesized_expression "(uStack_c0 < (uint)puVar15[4])" ( (binary_expression "uStack_c0 < (uint)puVar15[4]" identifier < (cast_expression "(uint)puVar15[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar15[4]" identifier [ number_literal ]))) ))) )) || (parenthesized_expression "((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))" ( (parenthesized_expression "(uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5]))" ( (binary_expression "uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])" (binary_expression "uStack_c0 == puVar15[4]" identifier == (subscript_expression "puVar15[4]" identifier [ number_literal ])) && (parenthesized_expression "(uStack_bc < (uint)puVar15[5])" ( (binary_expression "uStack_bc < (uint)puVar15[5]" identifier < (cast_expression "(uint)puVar15[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar15[5]" identifier [ number_literal ]))) ))) )) ))) )) (goto_statement "goto LAB_002862a4;" goto statement_identifier ;)) (expression_statement "piVar24 = (int *)puVar15[8];" (assignment_expression "piVar24 = (int *)puVar15[8]" identifier = (cast_expression "(int *)puVar15[8]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[8]" identifier [ number_literal ]))) ;) (if_statement "if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }" if (parenthesized_expression "(piVar24 == (int *)0x0)" ( (binary_expression "piVar24 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }" { (expression_statement "piVar24 = (int *)*puVar11;" (assignment_expression "piVar24 = (int *)*puVar11" identifier = (cast_expression "(int *)*puVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (goto_statement "goto LAB_002862a8;" goto statement_identifier ;) })) (do_statement "do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);" do (compound_statement "{\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          }" { (if_statement "if (puVar11[0xb] == 0) {\n              trap(7);\n            }" if (parenthesized_expression "(puVar11[0xb] == 0)" ( (binary_expression "puVar11[0xb] == 0" (subscript_expression "puVar11[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              trap(7);\n            }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uStack_a8 = uVar27;" (assignment_expression "uStack_a8 = uVar27" identifier = identifier) ;) (expression_statement "piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);" (assignment_expression "piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29)" identifier = (cast_expression "(int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29)" ( (binary_expression "puVar11 + 10" identifier + number_literal) , (binary_expression "(uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb]" (call_expression "(uint)(piVar24[1] ^ piVar24[2])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar24[1] ^ piVar24[2])" ( (binary_expression "piVar24[1] ^ piVar24[2]" (subscript_expression "piVar24[1]" identifier [ number_literal ]) ^ (subscript_expression "piVar24[2]" identifier [ number_literal ])) ))) % (cast_expression "(uint)puVar11[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar11[0xb]" identifier [ number_literal ]))) , (binary_expression "piVar24 + 1" identifier + number_literal) , (binary_expression "piVar24[1] ^ piVar24[2]" (subscript_expression "piVar24[1]" identifier [ number_literal ]) ^ (subscript_expression "piVar24[2]" identifier [ number_literal ])) , identifier ))))) ;) (expression_statement "uVar27 = uStack_a8;" (assignment_expression "uVar27 = uStack_a8" identifier = identifier) ;) (if_statement "if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }" if (parenthesized_expression "((piVar3 == (int *)0x0) || (*piVar3 == 0))" ( (binary_expression "(piVar3 == (int *)0x0) || (*piVar3 == 0)" (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar3 == 0)" ( (binary_expression "*piVar3 == 0" (pointer_expression "*piVar3" * identifier) == number_literal) ))) )) (compound_statement "{\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }" { (if_statement "if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }" if (parenthesized_expression "(piVar20 == (int *)puVar11[2])" ( (binary_expression "piVar20 == (int *)puVar11[2]" identifier == (cast_expression "(int *)puVar11[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }" { (expression_statement "(*pcStack_b8)(puVar11,piVar20,piVar24 + 1);" (call_expression "(*pcStack_b8)(puVar11,piVar20,piVar24 + 1)" (parenthesized_expression "(*pcStack_b8)" ( (pointer_expression "*pcStack_b8" * identifier) )) (argument_list "(puVar11,piVar20,piVar24 + 1)" ( identifier , identifier , (binary_expression "piVar24 + 1" identifier + number_literal) ))) ;) (expression_statement "piVar20 = (int *)puVar11[1];" (assignment_expression "piVar20 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar27 = uStack_a8;" (assignment_expression "uVar27 = uStack_a8" identifier = identifier) ;) }) (else_clause "else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }" else (compound_statement "{\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }" { (expression_statement "iVar21 = piVar24[2];" (assignment_expression "iVar21 = piVar24[2]" identifier = (subscript_expression "piVar24[2]" identifier [ number_literal ])) ;) (expression_statement "*piVar20 = piVar24[1];" (assignment_expression "*piVar20 = piVar24[1]" (pointer_expression "*piVar20" * identifier) = (subscript_expression "piVar24[1]" identifier [ number_literal ])) ;) (expression_statement "piVar20[1] = iVar21;" (assignment_expression "piVar20[1] = iVar21" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[1] = piVar20 + 2;" (assignment_expression "puVar11[1] = piVar20 + 2" (subscript_expression "puVar11[1]" identifier [ number_literal ]) = (binary_expression "piVar20 + 2" identifier + number_literal)) ;) (expression_statement "piVar20 = piVar20 + 2;" (assignment_expression "piVar20 = piVar20 + 2" identifier = (binary_expression "piVar20 + 2" identifier + number_literal)) ;) }))) })) (expression_statement "piVar24 = (int *)*piVar24;" (assignment_expression "piVar24 = (int *)*piVar24" identifier = (cast_expression "(int *)*piVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar24" * identifier))) ;) }) while (parenthesized_expression "(piVar24 != (int *)0x0)" ( (binary_expression "piVar24 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (if_statement "if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }" if (parenthesized_expression "(*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195)" * (cast_expression "(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195" (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }" { (expression_statement "uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);" (assignment_expression "uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + 0x26c4)" ( (binary_expression "PTR_DAT_0043226c + 0x26c4" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_gold_warning_0043245c)(uVar2);" (call_expression "(*(code *)PTR_gold_warning_0043245c)(uVar2)" (parenthesized_expression "(*(code *)PTR_gold_warning_0043245c)" ( (pointer_expression "*(code *)PTR_gold_warning_0043245c" * (cast_expression "(code *)PTR_gold_warning_0043245c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2)" ( identifier ))) ;) })) (goto_statement "goto LAB_00286094;" goto statement_identifier ;) })) (expression_statement "puVar1 = (uint *)param_2[8];" (assignment_expression "puVar1 = (uint *)param_2[8]" identifier = (cast_expression "(uint *)param_2[8]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[8]" identifier [ number_literal ]))) ;) }))) (if_statement "if (puVar1 != (uint *)0x0) {\n    uVar9 = *puVar1;\n    uVar13 = puVar1[1];\n    uVar14 = local_38;\n    uVar25 = local_34;\n    uVar10 = uVar9;\n    uVar26 = uVar13;\n    if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }\n    *puVar1 = uVar10;\n    puVar1[1] = uVar26;\n  }" if (parenthesized_expression "(puVar1 != (uint *)0x0)" ( (binary_expression "puVar1 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar9 = *puVar1;\n    uVar13 = puVar1[1];\n    uVar14 = local_38;\n    uVar25 = local_34;\n    uVar10 = uVar9;\n    uVar26 = uVar13;\n    if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }\n    *puVar1 = uVar10;\n    puVar1[1] = uVar26;\n  }" { (expression_statement "uVar9 = *puVar1;" (assignment_expression "uVar9 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar13 = puVar1[1];" (assignment_expression "uVar13 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar14 = local_38;" (assignment_expression "uVar14 = local_38" identifier = identifier) ;) (expression_statement "uVar25 = local_34;" (assignment_expression "uVar25 = local_34" identifier = identifier) ;) (expression_statement "uVar10 = uVar9;" (assignment_expression "uVar10 = uVar9" identifier = identifier) ;) (expression_statement "uVar26 = uVar13;" (assignment_expression "uVar26 = uVar13" identifier = identifier) ;) (if_statement "if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }" if (parenthesized_expression "((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27))))" ( (binary_expression "(puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))" (parenthesized_expression "(puVar11 < puVar4)" ( (binary_expression "puVar11 < puVar4" identifier < identifier) )) || (parenthesized_expression "(((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))" ( (parenthesized_expression "((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27))" ( (binary_expression "(puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)" (parenthesized_expression "(puVar4 == puVar11 && ((uint)uVar27 < local_28))" ( (binary_expression "puVar4 == puVar11 && ((uint)uVar27 < local_28)" (binary_expression "puVar4 == puVar11" identifier == identifier) && (parenthesized_expression "((uint)uVar27 < local_28)" ( (binary_expression "(uint)uVar27 < local_28" (cast_expression "(uint)uVar27" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))) )) || (parenthesized_expression "(uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)" ( (comma_expression "uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27" (assignment_expression "uVar14 = local_40" identifier = identifier) , (comma_expression "uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27" (assignment_expression "uVar25 = local_3c" identifier = identifier) , (binary_expression "CONCAT44(puVar4,local_28) < uVar27" (call_expression "CONCAT44(puVar4,local_28)" identifier (argument_list "(puVar4,local_28)" ( identifier , identifier ))) < identifier))) ))) )) ))) )) (compound_statement "{\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }" { (expression_statement "uVar10 = uVar14;" (assignment_expression "uVar10 = uVar14" identifier = identifier) ;) (expression_statement "uVar26 = uVar25;" (assignment_expression "uVar26 = uVar25" identifier = identifier) ;) (if_statement "if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }" if (parenthesized_expression "(((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25))" ( (binary_expression "((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)" (parenthesized_expression "((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9))" ( (binary_expression "(uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)" (parenthesized_expression "(uVar14 <= uVar9)" ( (binary_expression "uVar14 <= uVar9" identifier <= identifier) )) && (parenthesized_expression "(uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)" ( (comma_expression "uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9" (assignment_expression "uVar10 = uVar9" identifier = identifier) , (comma_expression "uVar26 = uVar13, uVar14 == uVar9" (assignment_expression "uVar26 = uVar13" identifier = identifier) , (binary_expression "uVar14 == uVar9" identifier == identifier))) ))) )) && (parenthesized_expression "(uVar13 < uVar25)" ( (binary_expression "uVar13 < uVar25" identifier < identifier) ))) )) (compound_statement "{\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }" { (expression_statement "uVar10 = uVar14;" (assignment_expression "uVar10 = uVar14" identifier = identifier) ;) (expression_statement "uVar26 = uVar25;" (assignment_expression "uVar26 = uVar25" identifier = identifier) ;) })) }) (else_clause "else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }" else (compound_statement "{\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }" { (if_statement "if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }" if (parenthesized_expression "((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34))))" ( (binary_expression "(local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))" (parenthesized_expression "(local_40 <= local_38)" ( (binary_expression "local_40 <= local_38" identifier <= identifier) )) && (parenthesized_expression "((local_40 != local_38 || (local_3c <= local_34)))" ( (parenthesized_expression "(local_40 != local_38 || (local_3c <= local_34))" ( (binary_expression "local_40 != local_38 || (local_3c <= local_34)" (binary_expression "local_40 != local_38" identifier != identifier) || (parenthesized_expression "(local_3c <= local_34)" ( (binary_expression "local_3c <= local_34" identifier <= identifier) ))) )) ))) )) (compound_statement "{\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }" { (expression_statement "local_40 = local_38;" (assignment_expression "local_40 = local_38" identifier = identifier) ;) (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" identifier = identifier) ;) (expression_statement "puVar19 = &local_38;" (assignment_expression "puVar19 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) })) (if_statement "if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }" if (parenthesized_expression "((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c))))" ( (binary_expression "(uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))" (parenthesized_expression "(uVar9 < local_40)" ( (binary_expression "uVar9 < local_40" identifier < identifier) )) || (parenthesized_expression "((local_40 == uVar9 && (uVar13 < local_3c)))" ( (parenthesized_expression "(local_40 == uVar9 && (uVar13 < local_3c))" ( (binary_expression "local_40 == uVar9 && (uVar13 < local_3c)" (binary_expression "local_40 == uVar9" identifier == identifier) && (parenthesized_expression "(uVar13 < local_3c)" ( (binary_expression "uVar13 < local_3c" identifier < identifier) ))) )) ))) )) (compound_statement "{\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }" { (expression_statement "uVar14 = puVar19[1];" (assignment_expression "uVar14 = puVar19[1]" identifier = (subscript_expression "puVar19[1]" identifier [ number_literal ])) ;) (expression_statement "*puVar1 = *puVar19;" (assignment_expression "*puVar1 = *puVar19" (pointer_expression "*puVar1" * identifier) = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "puVar1[1] = uVar14;" (assignment_expression "puVar1[1] = uVar14" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_002860cc;" goto statement_identifier ;) })) }))) (expression_statement "*puVar1 = uVar10;" (assignment_expression "*puVar1 = uVar10" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar26;" (assignment_expression "puVar1[1] = uVar26" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) })) (labeled_statement "LAB_002860cc:\n  puVar15 = puVar11;" statement_identifier : (expression_statement "puVar15 = puVar11;" (assignment_expression "puVar15 = puVar11" identifier = identifier) ;)) (if_statement "if (((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28)) {\n    puVar4 = puVar15;\n  }" if (parenthesized_expression "(((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28))" ( (binary_expression "((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28)" (parenthesized_expression "((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11))" ( (binary_expression "(puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)" (parenthesized_expression "(puVar11 < puVar4)" ( (binary_expression "puVar11 < puVar4" identifier < identifier) )) || (parenthesized_expression "(puVar15 = puVar4, puVar4 != puVar11)" ( (comma_expression "puVar15 = puVar4, puVar4 != puVar11" (assignment_expression "puVar15 = puVar4" identifier = identifier) , (binary_expression "puVar4 != puVar11" identifier != identifier)) ))) )) || (parenthesized_expression "(puVar15 = puVar11, (uint)uVar27 < local_28)" ( (comma_expression "puVar15 = puVar11, (uint)uVar27 < local_28" (assignment_expression "puVar15 = puVar11" identifier = identifier) , (binary_expression "(uint)uVar27 < local_28" (cast_expression "(uint)uVar27" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier)) ))) )) (compound_statement "{\n    puVar4 = puVar15;\n  }" { (expression_statement "puVar4 = puVar15;" (assignment_expression "puVar4 = puVar15" identifier = identifier) ;) })) (return_statement "return puVar4;" return identifier ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00286140) */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n/* WARNING: Enum "STT": Some values do not have unique names */\n/* DWARF original prototype: uint64_t value(Min_expression * this, Expression_eval_info * eei) */\n\nuint64_t __thiscall gold::Min_expression::value(Min_expression *this,Expression_eval_info *eei)\n\n{\n  ulonglong uVar1;\n  ulonglong uVar2;\n  uint64_t *puVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  int *piVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  uint extraout_v1;\n  uint extraout_v1_00;\n  undefined4 *puVar11;\n  int iVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  uint uVar17;\n  uint uVar18;\n  undefined4 *puVar19;\n  int *piVar20;\n  undefined4 *puVar21;\n  uint uVar22;\n  uint uVar23;\n  undefined4 *puVar24;\n  code *pcVar25;\n  uint64_t *result_alignment_pointer;\n  uint *puVar26;\n  int iVar27;\n  undefined *puVar28;\n  code *pcVar29;\n  uint *puVar30;\n  uint uVar31;\n  uint uVar32;\n  uint64_t uVar33;\n  uint64_t uVar34;\n  undefined8 uVar35;\n  undefined4 uVar36;\n  char acStack_c8 [4];\n  uint uStack_c4;\n  uint uStack_c0;\n  uint uStack_bc;\n  code *pcStack_b8;\n  Expression_eval_info *pEStack_b0;\n  uint uStack_ac;\n  uint64_t uStack_a8;\n  uint64_t *puStack_a0;\n  uint64_t *puStack_9c;\n  Min_expression *pMStack_98;\n  uint64_t right_alignment;\n  uint64_t left_alignment;\n  Output_section *right_section;\n  Output_section *left_section;\n  uint local_28;\n  \n  result_alignment_pointer = &right_alignment;\n  uVar33 = Expression::eval_maybe_dot\n                     ((this->super_Binary_expression).left_,eei->symtab,eei->layout,\n                      eei->check_assertions,eei->is_dot_available,eei->dot_value,eei->dot_section,\n                      &left_section,&left_alignment,(STT *)0x0,(STV *)0x0,(uchar *)0x0,false,\n                      eei->is_valid_pointer);\n  uVar22 = (uint)(uVar33 >> 0x20);\n  uVar34 = Expression::eval_maybe_dot\n                     ((this->super_Binary_expression).right_,eei->symtab,eei->layout,\n                      eei->check_assertions,eei->is_dot_available,eei->dot_value,eei->dot_section,\n                      &right_section,result_alignment_pointer,(STT *)0x0,(STV *)0x0,(uchar *)0x0,\n                      false,eei->is_valid_pointer);\n  uVar23 = (uint)(uVar34 >> 0x20);\n  local_28 = (uint)uVar34;\n  if (left_section == right_section) {\n    if (eei->result_section_pointer != (Output_section **)0x0) {\n      *eei->result_section_pointer = left_section;\n    }\nLAB_00286094:\n    puVar3 = eei->result_alignment_pointer;\n  }\n  else {\n    if ((left_section != (Output_section *)0x0) || (right_section != (Output_section *)0x0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar15 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar28 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0x5c,PTR_s__0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar28 + 0x1af82c);\n        puVar26 = (uint *)puVar15[1];\n        uVar22 = extraout_v1;\n        pEStack_b0 = eei;\n        uStack_ac = uVar23;\n        uStack_a8 = uVar33;\n        puStack_a0 = &left_alignment;\n        puStack_9c = result_alignment_pointer;\n        pMStack_98 = this;\nLAB_002862a4:\n        do {\n          puVar30 = (uint *)*puVar15;\nLAB_002862a8:\n          do {\n            if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }\n            uStack_c0 = puVar26[-2];\n            pcVar25 = *(code **)(puVar28 + 0x1acdb0);\n            uStack_bc = puVar26[-1];\n            puVar15[1] = puVar26 + -2;\n            uVar23 = uStack_c0 ^ uStack_bc;\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar31 = uVar23 % (uint)puVar15[0xb];\n            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);\n            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n          } while ((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0));\n          piVar5 = (int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10);\n          puVar6 = puVar15 + 0xe;\n          pcVar16 = acStack_c8;\n          puVar19 = (undefined4 *)puVar15[0xb];\n          *piVar5 = 0;\n          pcVar29 = *(code **)(puVar28 + 0x1ac8e0);\n          uVar4 = puVar15[0xf];\n          piVar5[1] = uStack_c0;\n          piVar5[2] = uStack_bc;\n          uVar36 = 1;\n          (*pcVar29)();\n          uVar22 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar6 = (undefined4 *)puVar15[10];\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar31;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar5 = *piVar7;\n            *(int **)*piVar20 = piVar5;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }\n            piVar7 = (int *)puVar15[0xc];\n            puVar15[0xc] = 0;\n            if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }\n            if (uVar22 == 0) {\n              trap(7);\n            }\n            puVar15[0xb] = uVar22;\n            puVar15[10] = puVar6;\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar23 % uVar22;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar27 = puVar15[0xc];\n            puVar15[0xc] = piVar5;\n            *piVar5 = iVar27;\n            if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }\n            *piVar20 = (int)(puVar15 + 0xc);\n          }\n          puVar6 = (undefined4 *)puVar15[6];\n          puVar26 = (uint *)puVar15[1];\n          uVar22 = puVar15[0xd] + 1;\n          puVar15[0xd] = uVar22;\n          puVar19 = puVar15 + 5;\n          if (puVar6 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            uVar22 = puVar6[4];\n            if ((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )) {\n              puVar8 = (undefined4 *)puVar6[3];\n            }\n            else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }\n            puVar6 = puVar8;\n          } while (puVar8 != (undefined4 *)0x0);\n          if (puVar15 + 5 == puVar19) goto LAB_002862a4;\n          uVar22 = (uint)(uStack_c0 < (uint)puVar19[4]);\n          if ((uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))))\n          goto LAB_002862a4;\n          piVar5 = (int *)puVar19[8];\n          if (piVar5 == (int *)0x0) {\n            puVar30 = (uint *)*puVar15;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);\n            piVar7 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n            if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }\n            piVar5 = (int *)*piVar5;\n          } while (piVar5 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar4 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar4);\n      }\n      goto LAB_00286094;\n    }\n    puVar3 = eei->result_alignment_pointer;\n  }\n  uVar2 = CONCAT44(uVar23,local_28);\n  if (puVar3 != (uint64_t *)0x0) {\n    uVar13 = *(uint *)puVar3;\n    uVar17 = (uint)*puVar3;\n    uVar31 = left_alignment._0_4_;\n    uVar32 = left_alignment._4_4_;\n    uVar14 = uVar13;\n    uVar18 = uVar17;\n    if ((uVar22 < uVar23) ||\n       (((uVar23 == uVar22 && ((uint)uVar33 < local_28)) ||\n        (uVar31 = right_alignment._0_4_, uVar32 = right_alignment._4_4_, uVar2 < uVar33)))) {\n      uVar14 = uVar31;\n      uVar18 = uVar32;\n      if (((uVar31 <= uVar13) && (uVar14 = uVar13, uVar18 = uVar17, uVar31 == uVar13)) &&\n         (uVar17 < uVar32)) {\n        uVar14 = uVar31;\n        uVar18 = uVar32;\n      }\n    }\n    else {\n      if ((right_alignment._0_4_ <= left_alignment._0_4_) &&\n         ((right_alignment._0_4_ != left_alignment._0_4_ ||\n          (right_alignment._4_4_ <= left_alignment._4_4_)))) {\n        right_alignment._0_4_ = left_alignment._0_4_;\n        right_alignment._4_4_ = left_alignment._4_4_;\n        result_alignment_pointer = &left_alignment;\n      }\n      if ((uVar13 < right_alignment._0_4_) ||\n         ((right_alignment._0_4_ == uVar13 && (uVar17 < right_alignment._4_4_)))) {\n        uVar34 = *result_alignment_pointer;\n        *(uint *)puVar3 = *(uint *)result_alignment_pointer;\n        *(uint *)((int)puVar3 + 4) = (uint)uVar34;\n        goto LAB_002860cc;\n      }\n    }\n    *(uint *)puVar3 = uVar14;\n    *(uint *)((int)puVar3 + 4) = uVar18;\n  }\nLAB_002860cc:\n  uVar1 = uVar33;\n  if (((uVar22 < uVar23) || (uVar1 = uVar2, uVar23 != uVar22)) ||\n     (uVar1 = uVar33, (uint)uVar33 < local_28)) {\n    uVar2 = uVar1;\n  }\n  return uVar2;\n}\n\n" comment comment comment comment comment comment comment comment comment (function_definition "uint64_t __thiscall gold::Min_expression::value(Min_expression *this,Expression_eval_info *eei)\n\n{\n  ulonglong uVar1;\n  ulonglong uVar2;\n  uint64_t *puVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  int *piVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  uint extraout_v1;\n  uint extraout_v1_00;\n  undefined4 *puVar11;\n  int iVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  uint uVar17;\n  uint uVar18;\n  undefined4 *puVar19;\n  int *piVar20;\n  undefined4 *puVar21;\n  uint uVar22;\n  uint uVar23;\n  undefined4 *puVar24;\n  code *pcVar25;\n  uint64_t *result_alignment_pointer;\n  uint *puVar26;\n  int iVar27;\n  undefined *puVar28;\n  code *pcVar29;\n  uint *puVar30;\n  uint uVar31;\n  uint uVar32;\n  uint64_t uVar33;\n  uint64_t uVar34;\n  undefined8 uVar35;\n  undefined4 uVar36;\n  char acStack_c8 [4];\n  uint uStack_c4;\n  uint uStack_c0;\n  uint uStack_bc;\n  code *pcStack_b8;\n  Expression_eval_info *pEStack_b0;\n  uint uStack_ac;\n  uint64_t uStack_a8;\n  uint64_t *puStack_a0;\n  uint64_t *puStack_9c;\n  Min_expression *pMStack_98;\n  uint64_t right_alignment;\n  uint64_t left_alignment;\n  Output_section *right_section;\n  Output_section *left_section;\n  uint local_28;\n  \n  result_alignment_pointer = &right_alignment;\n  uVar33 = Expression::eval_maybe_dot\n                     ((this->super_Binary_expression).left_,eei->symtab,eei->layout,\n                      eei->check_assertions,eei->is_dot_available,eei->dot_value,eei->dot_section,\n                      &left_section,&left_alignment,(STT *)0x0,(STV *)0x0,(uchar *)0x0,false,\n                      eei->is_valid_pointer);\n  uVar22 = (uint)(uVar33 >> 0x20);\n  uVar34 = Expression::eval_maybe_dot\n                     ((this->super_Binary_expression).right_,eei->symtab,eei->layout,\n                      eei->check_assertions,eei->is_dot_available,eei->dot_value,eei->dot_section,\n                      &right_section,result_alignment_pointer,(STT *)0x0,(STV *)0x0,(uchar *)0x0,\n                      false,eei->is_valid_pointer);\n  uVar23 = (uint)(uVar34 >> 0x20);\n  local_28 = (uint)uVar34;\n  if (left_section == right_section) {\n    if (eei->result_section_pointer != (Output_section **)0x0) {\n      *eei->result_section_pointer = left_section;\n    }\nLAB_00286094:\n    puVar3 = eei->result_alignment_pointer;\n  }\n  else {\n    if ((left_section != (Output_section *)0x0) || (right_section != (Output_section *)0x0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar15 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar28 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0x5c,PTR_s__0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar28 + 0x1af82c);\n        puVar26 = (uint *)puVar15[1];\n        uVar22 = extraout_v1;\n        pEStack_b0 = eei;\n        uStack_ac = uVar23;\n        uStack_a8 = uVar33;\n        puStack_a0 = &left_alignment;\n        puStack_9c = result_alignment_pointer;\n        pMStack_98 = this;\nLAB_002862a4:\n        do {\n          puVar30 = (uint *)*puVar15;\nLAB_002862a8:\n          do {\n            if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }\n            uStack_c0 = puVar26[-2];\n            pcVar25 = *(code **)(puVar28 + 0x1acdb0);\n            uStack_bc = puVar26[-1];\n            puVar15[1] = puVar26 + -2;\n            uVar23 = uStack_c0 ^ uStack_bc;\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar31 = uVar23 % (uint)puVar15[0xb];\n            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);\n            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n          } while ((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0));\n          piVar5 = (int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10);\n          puVar6 = puVar15 + 0xe;\n          pcVar16 = acStack_c8;\n          puVar19 = (undefined4 *)puVar15[0xb];\n          *piVar5 = 0;\n          pcVar29 = *(code **)(puVar28 + 0x1ac8e0);\n          uVar4 = puVar15[0xf];\n          piVar5[1] = uStack_c0;\n          piVar5[2] = uStack_bc;\n          uVar36 = 1;\n          (*pcVar29)();\n          uVar22 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar6 = (undefined4 *)puVar15[10];\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar31;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar5 = *piVar7;\n            *(int **)*piVar20 = piVar5;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }\n            piVar7 = (int *)puVar15[0xc];\n            puVar15[0xc] = 0;\n            if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }\n            if (uVar22 == 0) {\n              trap(7);\n            }\n            puVar15[0xb] = uVar22;\n            puVar15[10] = puVar6;\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar23 % uVar22;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar27 = puVar15[0xc];\n            puVar15[0xc] = piVar5;\n            *piVar5 = iVar27;\n            if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }\n            *piVar20 = (int)(puVar15 + 0xc);\n          }\n          puVar6 = (undefined4 *)puVar15[6];\n          puVar26 = (uint *)puVar15[1];\n          uVar22 = puVar15[0xd] + 1;\n          puVar15[0xd] = uVar22;\n          puVar19 = puVar15 + 5;\n          if (puVar6 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            uVar22 = puVar6[4];\n            if ((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )) {\n              puVar8 = (undefined4 *)puVar6[3];\n            }\n            else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }\n            puVar6 = puVar8;\n          } while (puVar8 != (undefined4 *)0x0);\n          if (puVar15 + 5 == puVar19) goto LAB_002862a4;\n          uVar22 = (uint)(uStack_c0 < (uint)puVar19[4]);\n          if ((uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))))\n          goto LAB_002862a4;\n          piVar5 = (int *)puVar19[8];\n          if (piVar5 == (int *)0x0) {\n            puVar30 = (uint *)*puVar15;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);\n            piVar7 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n            if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }\n            piVar5 = (int *)*piVar5;\n          } while (piVar5 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar4 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar4);\n      }\n      goto LAB_00286094;\n    }\n    puVar3 = eei->result_alignment_pointer;\n  }\n  uVar2 = CONCAT44(uVar23,local_28);\n  if (puVar3 != (uint64_t *)0x0) {\n    uVar13 = *(uint *)puVar3;\n    uVar17 = (uint)*puVar3;\n    uVar31 = left_alignment._0_4_;\n    uVar32 = left_alignment._4_4_;\n    uVar14 = uVar13;\n    uVar18 = uVar17;\n    if ((uVar22 < uVar23) ||\n       (((uVar23 == uVar22 && ((uint)uVar33 < local_28)) ||\n        (uVar31 = right_alignment._0_4_, uVar32 = right_alignment._4_4_, uVar2 < uVar33)))) {\n      uVar14 = uVar31;\n      uVar18 = uVar32;\n      if (((uVar31 <= uVar13) && (uVar14 = uVar13, uVar18 = uVar17, uVar31 == uVar13)) &&\n         (uVar17 < uVar32)) {\n        uVar14 = uVar31;\n        uVar18 = uVar32;\n      }\n    }\n    else {\n      if ((right_alignment._0_4_ <= left_alignment._0_4_) &&\n         ((right_alignment._0_4_ != left_alignment._0_4_ ||\n          (right_alignment._4_4_ <= left_alignment._4_4_)))) {\n        right_alignment._0_4_ = left_alignment._0_4_;\n        right_alignment._4_4_ = left_alignment._4_4_;\n        result_alignment_pointer = &left_alignment;\n      }\n      if ((uVar13 < right_alignment._0_4_) ||\n         ((right_alignment._0_4_ == uVar13 && (uVar17 < right_alignment._4_4_)))) {\n        uVar34 = *result_alignment_pointer;\n        *(uint *)puVar3 = *(uint *)result_alignment_pointer;\n        *(uint *)((int)puVar3 + 4) = (uint)uVar34;\n        goto LAB_002860cc;\n      }\n    }\n    *(uint *)puVar3 = uVar14;\n    *(uint *)((int)puVar3 + 4) = uVar18;\n  }\nLAB_002860cc:\n  uVar1 = uVar33;\n  if (((uVar22 < uVar23) || (uVar1 = uVar2, uVar23 != uVar22)) ||\n     (uVar1 = uVar33, (uint)uVar33 < local_28)) {\n    uVar2 = uVar1;\n  }\n  return uVar2;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Min_expression::" identifier : : identifier : :) (function_declarator "value(Min_expression *this,Expression_eval_info *eei)" identifier (parameter_list "(Min_expression *this,Expression_eval_info *eei)" ( (parameter_declaration "Min_expression *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Expression_eval_info *eei" type_identifier (pointer_declarator "*eei" * identifier)) ))) (compound_statement "{\n  ulonglong uVar1;\n  ulonglong uVar2;\n  uint64_t *puVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  int *piVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  uint extraout_v1;\n  uint extraout_v1_00;\n  undefined4 *puVar11;\n  int iVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  uint uVar17;\n  uint uVar18;\n  undefined4 *puVar19;\n  int *piVar20;\n  undefined4 *puVar21;\n  uint uVar22;\n  uint uVar23;\n  undefined4 *puVar24;\n  code *pcVar25;\n  uint64_t *result_alignment_pointer;\n  uint *puVar26;\n  int iVar27;\n  undefined *puVar28;\n  code *pcVar29;\n  uint *puVar30;\n  uint uVar31;\n  uint uVar32;\n  uint64_t uVar33;\n  uint64_t uVar34;\n  undefined8 uVar35;\n  undefined4 uVar36;\n  char acStack_c8 [4];\n  uint uStack_c4;\n  uint uStack_c0;\n  uint uStack_bc;\n  code *pcStack_b8;\n  Expression_eval_info *pEStack_b0;\n  uint uStack_ac;\n  uint64_t uStack_a8;\n  uint64_t *puStack_a0;\n  uint64_t *puStack_9c;\n  Min_expression *pMStack_98;\n  uint64_t right_alignment;\n  uint64_t left_alignment;\n  Output_section *right_section;\n  Output_section *left_section;\n  uint local_28;\n  \n  result_alignment_pointer = &right_alignment;\n  uVar33 = Expression::eval_maybe_dot\n                     ((this->super_Binary_expression).left_,eei->symtab,eei->layout,\n                      eei->check_assertions,eei->is_dot_available,eei->dot_value,eei->dot_section,\n                      &left_section,&left_alignment,(STT *)0x0,(STV *)0x0,(uchar *)0x0,false,\n                      eei->is_valid_pointer);\n  uVar22 = (uint)(uVar33 >> 0x20);\n  uVar34 = Expression::eval_maybe_dot\n                     ((this->super_Binary_expression).right_,eei->symtab,eei->layout,\n                      eei->check_assertions,eei->is_dot_available,eei->dot_value,eei->dot_section,\n                      &right_section,result_alignment_pointer,(STT *)0x0,(STV *)0x0,(uchar *)0x0,\n                      false,eei->is_valid_pointer);\n  uVar23 = (uint)(uVar34 >> 0x20);\n  local_28 = (uint)uVar34;\n  if (left_section == right_section) {\n    if (eei->result_section_pointer != (Output_section **)0x0) {\n      *eei->result_section_pointer = left_section;\n    }\nLAB_00286094:\n    puVar3 = eei->result_alignment_pointer;\n  }\n  else {\n    if ((left_section != (Output_section *)0x0) || (right_section != (Output_section *)0x0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar15 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar28 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0x5c,PTR_s__0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar28 + 0x1af82c);\n        puVar26 = (uint *)puVar15[1];\n        uVar22 = extraout_v1;\n        pEStack_b0 = eei;\n        uStack_ac = uVar23;\n        uStack_a8 = uVar33;\n        puStack_a0 = &left_alignment;\n        puStack_9c = result_alignment_pointer;\n        pMStack_98 = this;\nLAB_002862a4:\n        do {\n          puVar30 = (uint *)*puVar15;\nLAB_002862a8:\n          do {\n            if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }\n            uStack_c0 = puVar26[-2];\n            pcVar25 = *(code **)(puVar28 + 0x1acdb0);\n            uStack_bc = puVar26[-1];\n            puVar15[1] = puVar26 + -2;\n            uVar23 = uStack_c0 ^ uStack_bc;\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar31 = uVar23 % (uint)puVar15[0xb];\n            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);\n            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n          } while ((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0));\n          piVar5 = (int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10);\n          puVar6 = puVar15 + 0xe;\n          pcVar16 = acStack_c8;\n          puVar19 = (undefined4 *)puVar15[0xb];\n          *piVar5 = 0;\n          pcVar29 = *(code **)(puVar28 + 0x1ac8e0);\n          uVar4 = puVar15[0xf];\n          piVar5[1] = uStack_c0;\n          piVar5[2] = uStack_bc;\n          uVar36 = 1;\n          (*pcVar29)();\n          uVar22 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar6 = (undefined4 *)puVar15[10];\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar31;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar5 = *piVar7;\n            *(int **)*piVar20 = piVar5;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }\n            piVar7 = (int *)puVar15[0xc];\n            puVar15[0xc] = 0;\n            if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }\n            if (uVar22 == 0) {\n              trap(7);\n            }\n            puVar15[0xb] = uVar22;\n            puVar15[10] = puVar6;\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar23 % uVar22;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar27 = puVar15[0xc];\n            puVar15[0xc] = piVar5;\n            *piVar5 = iVar27;\n            if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }\n            *piVar20 = (int)(puVar15 + 0xc);\n          }\n          puVar6 = (undefined4 *)puVar15[6];\n          puVar26 = (uint *)puVar15[1];\n          uVar22 = puVar15[0xd] + 1;\n          puVar15[0xd] = uVar22;\n          puVar19 = puVar15 + 5;\n          if (puVar6 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            uVar22 = puVar6[4];\n            if ((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )) {\n              puVar8 = (undefined4 *)puVar6[3];\n            }\n            else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }\n            puVar6 = puVar8;\n          } while (puVar8 != (undefined4 *)0x0);\n          if (puVar15 + 5 == puVar19) goto LAB_002862a4;\n          uVar22 = (uint)(uStack_c0 < (uint)puVar19[4]);\n          if ((uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))))\n          goto LAB_002862a4;\n          piVar5 = (int *)puVar19[8];\n          if (piVar5 == (int *)0x0) {\n            puVar30 = (uint *)*puVar15;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);\n            piVar7 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n            if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }\n            piVar5 = (int *)*piVar5;\n          } while (piVar5 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar4 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar4);\n      }\n      goto LAB_00286094;\n    }\n    puVar3 = eei->result_alignment_pointer;\n  }\n  uVar2 = CONCAT44(uVar23,local_28);\n  if (puVar3 != (uint64_t *)0x0) {\n    uVar13 = *(uint *)puVar3;\n    uVar17 = (uint)*puVar3;\n    uVar31 = left_alignment._0_4_;\n    uVar32 = left_alignment._4_4_;\n    uVar14 = uVar13;\n    uVar18 = uVar17;\n    if ((uVar22 < uVar23) ||\n       (((uVar23 == uVar22 && ((uint)uVar33 < local_28)) ||\n        (uVar31 = right_alignment._0_4_, uVar32 = right_alignment._4_4_, uVar2 < uVar33)))) {\n      uVar14 = uVar31;\n      uVar18 = uVar32;\n      if (((uVar31 <= uVar13) && (uVar14 = uVar13, uVar18 = uVar17, uVar31 == uVar13)) &&\n         (uVar17 < uVar32)) {\n        uVar14 = uVar31;\n        uVar18 = uVar32;\n      }\n    }\n    else {\n      if ((right_alignment._0_4_ <= left_alignment._0_4_) &&\n         ((right_alignment._0_4_ != left_alignment._0_4_ ||\n          (right_alignment._4_4_ <= left_alignment._4_4_)))) {\n        right_alignment._0_4_ = left_alignment._0_4_;\n        right_alignment._4_4_ = left_alignment._4_4_;\n        result_alignment_pointer = &left_alignment;\n      }\n      if ((uVar13 < right_alignment._0_4_) ||\n         ((right_alignment._0_4_ == uVar13 && (uVar17 < right_alignment._4_4_)))) {\n        uVar34 = *result_alignment_pointer;\n        *(uint *)puVar3 = *(uint *)result_alignment_pointer;\n        *(uint *)((int)puVar3 + 4) = (uint)uVar34;\n        goto LAB_002860cc;\n      }\n    }\n    *(uint *)puVar3 = uVar14;\n    *(uint *)((int)puVar3 + 4) = uVar18;\n  }\nLAB_002860cc:\n  uVar1 = uVar33;\n  if (((uVar22 < uVar23) || (uVar1 = uVar2, uVar23 != uVar22)) ||\n     (uVar1 = uVar33, (uint)uVar33 < local_28)) {\n    uVar2 = uVar1;\n  }\n  return uVar2;\n}" { (declaration "ulonglong uVar1;" type_identifier identifier ;) (declaration "ulonglong uVar2;" type_identifier identifier ;) (declaration "uint64_t *puVar3;" primitive_type (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "uint extraout_v1_00;" type_identifier identifier ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "undefined4 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "uint64_t *result_alignment_pointer;" primitive_type (pointer_declarator "*result_alignment_pointer" * identifier) ;) (declaration "uint *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "undefined *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "code *pcVar29;" type_identifier (pointer_declarator "*pcVar29" * identifier) ;) (declaration "uint *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "uint uVar31;" type_identifier identifier ;) (declaration "uint uVar32;" type_identifier identifier ;) (declaration "uint64_t uVar33;" primitive_type identifier ;) (declaration "uint64_t uVar34;" primitive_type identifier ;) (declaration "undefined8 uVar35;" type_identifier identifier ;) (declaration "undefined4 uVar36;" type_identifier identifier ;) (declaration "char acStack_c8 [4];" primitive_type (array_declarator "acStack_c8 [4]" identifier [ number_literal ]) ;) (declaration "uint uStack_c4;" type_identifier identifier ;) (declaration "uint uStack_c0;" type_identifier identifier ;) (declaration "uint uStack_bc;" type_identifier identifier ;) (declaration "code *pcStack_b8;" type_identifier (pointer_declarator "*pcStack_b8" * identifier) ;) (declaration "Expression_eval_info *pEStack_b0;" type_identifier (pointer_declarator "*pEStack_b0" * identifier) ;) (declaration "uint uStack_ac;" type_identifier identifier ;) (declaration "uint64_t uStack_a8;" primitive_type identifier ;) (declaration "uint64_t *puStack_a0;" primitive_type (pointer_declarator "*puStack_a0" * identifier) ;) (declaration "uint64_t *puStack_9c;" primitive_type (pointer_declarator "*puStack_9c" * identifier) ;) (declaration "Min_expression *pMStack_98;" type_identifier (pointer_declarator "*pMStack_98" * identifier) ;) (declaration "uint64_t right_alignment;" primitive_type identifier ;) (declaration "uint64_t left_alignment;" primitive_type identifier ;) (declaration "Output_section *right_section;" type_identifier (pointer_declarator "*right_section" * identifier) ;) (declaration "Output_section *left_section;" type_identifier (pointer_declarator "*left_section" * identifier) ;) (declaration "uint local_28;" type_identifier identifier ;) (expression_statement "result_alignment_pointer = &right_alignment;" (assignment_expression "result_alignment_pointer = &right_alignment" identifier = (pointer_expression "&right_alignment" & identifier)) ;) (ERROR "uVar33 = Expression::" (assignment_expression "uVar33 = Expression" identifier = identifier) : :) (expression_statement "eval_maybe_dot\n                     ((this->super_Binary_expression).left_,eei->symtab,eei->layout,\n                      eei->check_assertions,eei->is_dot_available,eei->dot_value,eei->dot_section,\n                      &left_section,&left_alignment,(STT *)0x0,(STV *)0x0,(uchar *)0x0,false,\n                      eei->is_valid_pointer);" (call_expression "eval_maybe_dot\n                     ((this->super_Binary_expression).left_,eei->symtab,eei->layout,\n                      eei->check_assertions,eei->is_dot_available,eei->dot_value,eei->dot_section,\n                      &left_section,&left_alignment,(STT *)0x0,(STV *)0x0,(uchar *)0x0,false,\n                      eei->is_valid_pointer)" identifier (argument_list "((this->super_Binary_expression).left_,eei->symtab,eei->layout,\n                      eei->check_assertions,eei->is_dot_available,eei->dot_value,eei->dot_section,\n                      &left_section,&left_alignment,(STT *)0x0,(STV *)0x0,(uchar *)0x0,false,\n                      eei->is_valid_pointer)" ( (field_expression "(this->super_Binary_expression).left_" (parenthesized_expression "(this->super_Binary_expression)" ( (field_expression "this->super_Binary_expression" identifier -> field_identifier) )) . field_identifier) , (field_expression "eei->symtab" identifier -> field_identifier) , (field_expression "eei->layout" identifier -> field_identifier) , (field_expression "eei->check_assertions" identifier -> field_identifier) , (field_expression "eei->is_dot_available" identifier -> field_identifier) , (field_expression "eei->dot_value" identifier -> field_identifier) , (field_expression "eei->dot_section" identifier -> field_identifier) , (pointer_expression "&left_section" & identifier) , (pointer_expression "&left_alignment" & identifier) , (cast_expression "(STT *)0x0" ( (type_descriptor "STT *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(STV *)0x0" ( (type_descriptor "STV *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , false , (field_expression "eei->is_valid_pointer" identifier -> field_identifier) ))) ;) (expression_statement "uVar22 = (uint)(uVar33 >> 0x20);" (assignment_expression "uVar22 = (uint)(uVar33 >> 0x20)" identifier = (call_expression "(uint)(uVar33 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar33 >> 0x20)" ( (binary_expression "uVar33 >> 0x20" identifier >> number_literal) )))) ;) (ERROR "uVar34 = Expression::" (assignment_expression "uVar34 = Expression" identifier = identifier) : :) (expression_statement "eval_maybe_dot\n                     ((this->super_Binary_expression).right_,eei->symtab,eei->layout,\n                      eei->check_assertions,eei->is_dot_available,eei->dot_value,eei->dot_section,\n                      &right_section,result_alignment_pointer,(STT *)0x0,(STV *)0x0,(uchar *)0x0,\n                      false,eei->is_valid_pointer);" (call_expression "eval_maybe_dot\n                     ((this->super_Binary_expression).right_,eei->symtab,eei->layout,\n                      eei->check_assertions,eei->is_dot_available,eei->dot_value,eei->dot_section,\n                      &right_section,result_alignment_pointer,(STT *)0x0,(STV *)0x0,(uchar *)0x0,\n                      false,eei->is_valid_pointer)" identifier (argument_list "((this->super_Binary_expression).right_,eei->symtab,eei->layout,\n                      eei->check_assertions,eei->is_dot_available,eei->dot_value,eei->dot_section,\n                      &right_section,result_alignment_pointer,(STT *)0x0,(STV *)0x0,(uchar *)0x0,\n                      false,eei->is_valid_pointer)" ( (field_expression "(this->super_Binary_expression).right_" (parenthesized_expression "(this->super_Binary_expression)" ( (field_expression "this->super_Binary_expression" identifier -> field_identifier) )) . field_identifier) , (field_expression "eei->symtab" identifier -> field_identifier) , (field_expression "eei->layout" identifier -> field_identifier) , (field_expression "eei->check_assertions" identifier -> field_identifier) , (field_expression "eei->is_dot_available" identifier -> field_identifier) , (field_expression "eei->dot_value" identifier -> field_identifier) , (field_expression "eei->dot_section" identifier -> field_identifier) , (pointer_expression "&right_section" & identifier) , identifier , (cast_expression "(STT *)0x0" ( (type_descriptor "STT *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(STV *)0x0" ( (type_descriptor "STV *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , false , (field_expression "eei->is_valid_pointer" identifier -> field_identifier) ))) ;) (expression_statement "uVar23 = (uint)(uVar34 >> 0x20);" (assignment_expression "uVar23 = (uint)(uVar34 >> 0x20)" identifier = (call_expression "(uint)(uVar34 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar34 >> 0x20)" ( (binary_expression "uVar34 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "local_28 = (uint)uVar34;" (assignment_expression "local_28 = (uint)uVar34" identifier = (cast_expression "(uint)uVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (left_section == right_section) {\n    if (eei->result_section_pointer != (Output_section **)0x0) {\n      *eei->result_section_pointer = left_section;\n    }\nLAB_00286094:\n    puVar3 = eei->result_alignment_pointer;\n  }\n  else {\n    if ((left_section != (Output_section *)0x0) || (right_section != (Output_section *)0x0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar15 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar28 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0x5c,PTR_s__0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar28 + 0x1af82c);\n        puVar26 = (uint *)puVar15[1];\n        uVar22 = extraout_v1;\n        pEStack_b0 = eei;\n        uStack_ac = uVar23;\n        uStack_a8 = uVar33;\n        puStack_a0 = &left_alignment;\n        puStack_9c = result_alignment_pointer;\n        pMStack_98 = this;\nLAB_002862a4:\n        do {\n          puVar30 = (uint *)*puVar15;\nLAB_002862a8:\n          do {\n            if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }\n            uStack_c0 = puVar26[-2];\n            pcVar25 = *(code **)(puVar28 + 0x1acdb0);\n            uStack_bc = puVar26[-1];\n            puVar15[1] = puVar26 + -2;\n            uVar23 = uStack_c0 ^ uStack_bc;\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar31 = uVar23 % (uint)puVar15[0xb];\n            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);\n            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n          } while ((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0));\n          piVar5 = (int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10);\n          puVar6 = puVar15 + 0xe;\n          pcVar16 = acStack_c8;\n          puVar19 = (undefined4 *)puVar15[0xb];\n          *piVar5 = 0;\n          pcVar29 = *(code **)(puVar28 + 0x1ac8e0);\n          uVar4 = puVar15[0xf];\n          piVar5[1] = uStack_c0;\n          piVar5[2] = uStack_bc;\n          uVar36 = 1;\n          (*pcVar29)();\n          uVar22 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar6 = (undefined4 *)puVar15[10];\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar31;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar5 = *piVar7;\n            *(int **)*piVar20 = piVar5;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }\n            piVar7 = (int *)puVar15[0xc];\n            puVar15[0xc] = 0;\n            if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }\n            if (uVar22 == 0) {\n              trap(7);\n            }\n            puVar15[0xb] = uVar22;\n            puVar15[10] = puVar6;\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar23 % uVar22;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar27 = puVar15[0xc];\n            puVar15[0xc] = piVar5;\n            *piVar5 = iVar27;\n            if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }\n            *piVar20 = (int)(puVar15 + 0xc);\n          }\n          puVar6 = (undefined4 *)puVar15[6];\n          puVar26 = (uint *)puVar15[1];\n          uVar22 = puVar15[0xd] + 1;\n          puVar15[0xd] = uVar22;\n          puVar19 = puVar15 + 5;\n          if (puVar6 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            uVar22 = puVar6[4];\n            if ((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )) {\n              puVar8 = (undefined4 *)puVar6[3];\n            }\n            else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }\n            puVar6 = puVar8;\n          } while (puVar8 != (undefined4 *)0x0);\n          if (puVar15 + 5 == puVar19) goto LAB_002862a4;\n          uVar22 = (uint)(uStack_c0 < (uint)puVar19[4]);\n          if ((uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))))\n          goto LAB_002862a4;\n          piVar5 = (int *)puVar19[8];\n          if (piVar5 == (int *)0x0) {\n            puVar30 = (uint *)*puVar15;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);\n            piVar7 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n            if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }\n            piVar5 = (int *)*piVar5;\n          } while (piVar5 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar4 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar4);\n      }\n      goto LAB_00286094;\n    }\n    puVar3 = eei->result_alignment_pointer;\n  }" if (parenthesized_expression "(left_section == right_section)" ( (binary_expression "left_section == right_section" identifier == identifier) )) (compound_statement "{\n    if (eei->result_section_pointer != (Output_section **)0x0) {\n      *eei->result_section_pointer = left_section;\n    }\nLAB_00286094:\n    puVar3 = eei->result_alignment_pointer;\n  }" { (if_statement "if (eei->result_section_pointer != (Output_section **)0x0) {\n      *eei->result_section_pointer = left_section;\n    }" if (parenthesized_expression "(eei->result_section_pointer != (Output_section **)0x0)" ( (binary_expression "eei->result_section_pointer != (Output_section **)0x0" (field_expression "eei->result_section_pointer" identifier -> field_identifier) != (cast_expression "(Output_section **)0x0" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      *eei->result_section_pointer = left_section;\n    }" { (expression_statement "*eei->result_section_pointer = left_section;" (assignment_expression "*eei->result_section_pointer = left_section" (pointer_expression "*eei->result_section_pointer" * (field_expression "eei->result_section_pointer" identifier -> field_identifier)) = identifier) ;) })) (labeled_statement "LAB_00286094:\n    puVar3 = eei->result_alignment_pointer;" statement_identifier : (expression_statement "puVar3 = eei->result_alignment_pointer;" (assignment_expression "puVar3 = eei->result_alignment_pointer" identifier = (field_expression "eei->result_alignment_pointer" identifier -> field_identifier)) ;)) }) (else_clause "else {\n    if ((left_section != (Output_section *)0x0) || (right_section != (Output_section *)0x0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar15 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar28 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0x5c,PTR_s__0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar28 + 0x1af82c);\n        puVar26 = (uint *)puVar15[1];\n        uVar22 = extraout_v1;\n        pEStack_b0 = eei;\n        uStack_ac = uVar23;\n        uStack_a8 = uVar33;\n        puStack_a0 = &left_alignment;\n        puStack_9c = result_alignment_pointer;\n        pMStack_98 = this;\nLAB_002862a4:\n        do {\n          puVar30 = (uint *)*puVar15;\nLAB_002862a8:\n          do {\n            if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }\n            uStack_c0 = puVar26[-2];\n            pcVar25 = *(code **)(puVar28 + 0x1acdb0);\n            uStack_bc = puVar26[-1];\n            puVar15[1] = puVar26 + -2;\n            uVar23 = uStack_c0 ^ uStack_bc;\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar31 = uVar23 % (uint)puVar15[0xb];\n            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);\n            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n          } while ((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0));\n          piVar5 = (int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10);\n          puVar6 = puVar15 + 0xe;\n          pcVar16 = acStack_c8;\n          puVar19 = (undefined4 *)puVar15[0xb];\n          *piVar5 = 0;\n          pcVar29 = *(code **)(puVar28 + 0x1ac8e0);\n          uVar4 = puVar15[0xf];\n          piVar5[1] = uStack_c0;\n          piVar5[2] = uStack_bc;\n          uVar36 = 1;\n          (*pcVar29)();\n          uVar22 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar6 = (undefined4 *)puVar15[10];\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar31;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar5 = *piVar7;\n            *(int **)*piVar20 = piVar5;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }\n            piVar7 = (int *)puVar15[0xc];\n            puVar15[0xc] = 0;\n            if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }\n            if (uVar22 == 0) {\n              trap(7);\n            }\n            puVar15[0xb] = uVar22;\n            puVar15[10] = puVar6;\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar23 % uVar22;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar27 = puVar15[0xc];\n            puVar15[0xc] = piVar5;\n            *piVar5 = iVar27;\n            if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }\n            *piVar20 = (int)(puVar15 + 0xc);\n          }\n          puVar6 = (undefined4 *)puVar15[6];\n          puVar26 = (uint *)puVar15[1];\n          uVar22 = puVar15[0xd] + 1;\n          puVar15[0xd] = uVar22;\n          puVar19 = puVar15 + 5;\n          if (puVar6 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            uVar22 = puVar6[4];\n            if ((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )) {\n              puVar8 = (undefined4 *)puVar6[3];\n            }\n            else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }\n            puVar6 = puVar8;\n          } while (puVar8 != (undefined4 *)0x0);\n          if (puVar15 + 5 == puVar19) goto LAB_002862a4;\n          uVar22 = (uint)(uStack_c0 < (uint)puVar19[4]);\n          if ((uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))))\n          goto LAB_002862a4;\n          piVar5 = (int *)puVar19[8];\n          if (piVar5 == (int *)0x0) {\n            puVar30 = (uint *)*puVar15;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);\n            piVar7 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n            if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }\n            piVar5 = (int *)*piVar5;\n          } while (piVar5 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar4 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar4);\n      }\n      goto LAB_00286094;\n    }\n    puVar3 = eei->result_alignment_pointer;\n  }" else (compound_statement "{\n    if ((left_section != (Output_section *)0x0) || (right_section != (Output_section *)0x0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar15 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar28 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0x5c,PTR_s__0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar28 + 0x1af82c);\n        puVar26 = (uint *)puVar15[1];\n        uVar22 = extraout_v1;\n        pEStack_b0 = eei;\n        uStack_ac = uVar23;\n        uStack_a8 = uVar33;\n        puStack_a0 = &left_alignment;\n        puStack_9c = result_alignment_pointer;\n        pMStack_98 = this;\nLAB_002862a4:\n        do {\n          puVar30 = (uint *)*puVar15;\nLAB_002862a8:\n          do {\n            if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }\n            uStack_c0 = puVar26[-2];\n            pcVar25 = *(code **)(puVar28 + 0x1acdb0);\n            uStack_bc = puVar26[-1];\n            puVar15[1] = puVar26 + -2;\n            uVar23 = uStack_c0 ^ uStack_bc;\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar31 = uVar23 % (uint)puVar15[0xb];\n            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);\n            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n          } while ((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0));\n          piVar5 = (int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10);\n          puVar6 = puVar15 + 0xe;\n          pcVar16 = acStack_c8;\n          puVar19 = (undefined4 *)puVar15[0xb];\n          *piVar5 = 0;\n          pcVar29 = *(code **)(puVar28 + 0x1ac8e0);\n          uVar4 = puVar15[0xf];\n          piVar5[1] = uStack_c0;\n          piVar5[2] = uStack_bc;\n          uVar36 = 1;\n          (*pcVar29)();\n          uVar22 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar6 = (undefined4 *)puVar15[10];\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar31;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar5 = *piVar7;\n            *(int **)*piVar20 = piVar5;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }\n            piVar7 = (int *)puVar15[0xc];\n            puVar15[0xc] = 0;\n            if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }\n            if (uVar22 == 0) {\n              trap(7);\n            }\n            puVar15[0xb] = uVar22;\n            puVar15[10] = puVar6;\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar23 % uVar22;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar27 = puVar15[0xc];\n            puVar15[0xc] = piVar5;\n            *piVar5 = iVar27;\n            if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }\n            *piVar20 = (int)(puVar15 + 0xc);\n          }\n          puVar6 = (undefined4 *)puVar15[6];\n          puVar26 = (uint *)puVar15[1];\n          uVar22 = puVar15[0xd] + 1;\n          puVar15[0xd] = uVar22;\n          puVar19 = puVar15 + 5;\n          if (puVar6 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            uVar22 = puVar6[4];\n            if ((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )) {\n              puVar8 = (undefined4 *)puVar6[3];\n            }\n            else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }\n            puVar6 = puVar8;\n          } while (puVar8 != (undefined4 *)0x0);\n          if (puVar15 + 5 == puVar19) goto LAB_002862a4;\n          uVar22 = (uint)(uStack_c0 < (uint)puVar19[4]);\n          if ((uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))))\n          goto LAB_002862a4;\n          piVar5 = (int *)puVar19[8];\n          if (piVar5 == (int *)0x0) {\n            puVar30 = (uint *)*puVar15;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);\n            piVar7 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n            if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }\n            piVar5 = (int *)*piVar5;\n          } while (piVar5 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar4 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar4);\n      }\n      goto LAB_00286094;\n    }\n    puVar3 = eei->result_alignment_pointer;\n  }" { (if_statement "if ((left_section != (Output_section *)0x0) || (right_section != (Output_section *)0x0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar15 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar28 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0x5c,PTR_s__0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar28 + 0x1af82c);\n        puVar26 = (uint *)puVar15[1];\n        uVar22 = extraout_v1;\n        pEStack_b0 = eei;\n        uStack_ac = uVar23;\n        uStack_a8 = uVar33;\n        puStack_a0 = &left_alignment;\n        puStack_9c = result_alignment_pointer;\n        pMStack_98 = this;\nLAB_002862a4:\n        do {\n          puVar30 = (uint *)*puVar15;\nLAB_002862a8:\n          do {\n            if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }\n            uStack_c0 = puVar26[-2];\n            pcVar25 = *(code **)(puVar28 + 0x1acdb0);\n            uStack_bc = puVar26[-1];\n            puVar15[1] = puVar26 + -2;\n            uVar23 = uStack_c0 ^ uStack_bc;\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar31 = uVar23 % (uint)puVar15[0xb];\n            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);\n            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n          } while ((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0));\n          piVar5 = (int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10);\n          puVar6 = puVar15 + 0xe;\n          pcVar16 = acStack_c8;\n          puVar19 = (undefined4 *)puVar15[0xb];\n          *piVar5 = 0;\n          pcVar29 = *(code **)(puVar28 + 0x1ac8e0);\n          uVar4 = puVar15[0xf];\n          piVar5[1] = uStack_c0;\n          piVar5[2] = uStack_bc;\n          uVar36 = 1;\n          (*pcVar29)();\n          uVar22 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar6 = (undefined4 *)puVar15[10];\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar31;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar5 = *piVar7;\n            *(int **)*piVar20 = piVar5;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }\n            piVar7 = (int *)puVar15[0xc];\n            puVar15[0xc] = 0;\n            if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }\n            if (uVar22 == 0) {\n              trap(7);\n            }\n            puVar15[0xb] = uVar22;\n            puVar15[10] = puVar6;\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar23 % uVar22;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar27 = puVar15[0xc];\n            puVar15[0xc] = piVar5;\n            *piVar5 = iVar27;\n            if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }\n            *piVar20 = (int)(puVar15 + 0xc);\n          }\n          puVar6 = (undefined4 *)puVar15[6];\n          puVar26 = (uint *)puVar15[1];\n          uVar22 = puVar15[0xd] + 1;\n          puVar15[0xd] = uVar22;\n          puVar19 = puVar15 + 5;\n          if (puVar6 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            uVar22 = puVar6[4];\n            if ((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )) {\n              puVar8 = (undefined4 *)puVar6[3];\n            }\n            else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }\n            puVar6 = puVar8;\n          } while (puVar8 != (undefined4 *)0x0);\n          if (puVar15 + 5 == puVar19) goto LAB_002862a4;\n          uVar22 = (uint)(uStack_c0 < (uint)puVar19[4]);\n          if ((uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))))\n          goto LAB_002862a4;\n          piVar5 = (int *)puVar19[8];\n          if (piVar5 == (int *)0x0) {\n            puVar30 = (uint *)*puVar15;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);\n            piVar7 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n            if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }\n            piVar5 = (int *)*piVar5;\n          } while (piVar5 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar4 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar4);\n      }\n      goto LAB_00286094;\n    }" if (parenthesized_expression "((left_section != (Output_section *)0x0) || (right_section != (Output_section *)0x0))" ( (binary_expression "(left_section != (Output_section *)0x0) || (right_section != (Output_section *)0x0)" (parenthesized_expression "(left_section != (Output_section *)0x0)" ( (binary_expression "left_section != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(right_section != (Output_section *)0x0)" ( (binary_expression "right_section != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar15 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar28 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0x5c,PTR_s__0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar28 + 0x1af82c);\n        puVar26 = (uint *)puVar15[1];\n        uVar22 = extraout_v1;\n        pEStack_b0 = eei;\n        uStack_ac = uVar23;\n        uStack_a8 = uVar33;\n        puStack_a0 = &left_alignment;\n        puStack_9c = result_alignment_pointer;\n        pMStack_98 = this;\nLAB_002862a4:\n        do {\n          puVar30 = (uint *)*puVar15;\nLAB_002862a8:\n          do {\n            if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }\n            uStack_c0 = puVar26[-2];\n            pcVar25 = *(code **)(puVar28 + 0x1acdb0);\n            uStack_bc = puVar26[-1];\n            puVar15[1] = puVar26 + -2;\n            uVar23 = uStack_c0 ^ uStack_bc;\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar31 = uVar23 % (uint)puVar15[0xb];\n            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);\n            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n          } while ((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0));\n          piVar5 = (int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10);\n          puVar6 = puVar15 + 0xe;\n          pcVar16 = acStack_c8;\n          puVar19 = (undefined4 *)puVar15[0xb];\n          *piVar5 = 0;\n          pcVar29 = *(code **)(puVar28 + 0x1ac8e0);\n          uVar4 = puVar15[0xf];\n          piVar5[1] = uStack_c0;\n          piVar5[2] = uStack_bc;\n          uVar36 = 1;\n          (*pcVar29)();\n          uVar22 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar6 = (undefined4 *)puVar15[10];\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar31;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar5 = *piVar7;\n            *(int **)*piVar20 = piVar5;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }\n            piVar7 = (int *)puVar15[0xc];\n            puVar15[0xc] = 0;\n            if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }\n            if (uVar22 == 0) {\n              trap(7);\n            }\n            puVar15[0xb] = uVar22;\n            puVar15[10] = puVar6;\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar23 % uVar22;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar27 = puVar15[0xc];\n            puVar15[0xc] = piVar5;\n            *piVar5 = iVar27;\n            if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }\n            *piVar20 = (int)(puVar15 + 0xc);\n          }\n          puVar6 = (undefined4 *)puVar15[6];\n          puVar26 = (uint *)puVar15[1];\n          uVar22 = puVar15[0xd] + 1;\n          puVar15[0xd] = uVar22;\n          puVar19 = puVar15 + 5;\n          if (puVar6 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            uVar22 = puVar6[4];\n            if ((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )) {\n              puVar8 = (undefined4 *)puVar6[3];\n            }\n            else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }\n            puVar6 = puVar8;\n          } while (puVar8 != (undefined4 *)0x0);\n          if (puVar15 + 5 == puVar19) goto LAB_002862a4;\n          uVar22 = (uint)(uStack_c0 < (uint)puVar19[4]);\n          if ((uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))))\n          goto LAB_002862a4;\n          piVar5 = (int *)puVar19[8];\n          if (piVar5 == (int *)0x0) {\n            puVar30 = (uint *)*puVar15;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);\n            piVar7 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n            if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }\n            piVar5 = (int *)*piVar5;\n          } while (piVar5 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar4 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar4);\n      }\n      goto LAB_00286094;\n    }" { (if_statement "if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar15 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar28 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0x5c,PTR_s__0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar28 + 0x1af82c);\n        puVar26 = (uint *)puVar15[1];\n        uVar22 = extraout_v1;\n        pEStack_b0 = eei;\n        uStack_ac = uVar23;\n        uStack_a8 = uVar33;\n        puStack_a0 = &left_alignment;\n        puStack_9c = result_alignment_pointer;\n        pMStack_98 = this;\nLAB_002862a4:\n        do {\n          puVar30 = (uint *)*puVar15;\nLAB_002862a8:\n          do {\n            if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }\n            uStack_c0 = puVar26[-2];\n            pcVar25 = *(code **)(puVar28 + 0x1acdb0);\n            uStack_bc = puVar26[-1];\n            puVar15[1] = puVar26 + -2;\n            uVar23 = uStack_c0 ^ uStack_bc;\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar31 = uVar23 % (uint)puVar15[0xb];\n            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);\n            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n          } while ((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0));\n          piVar5 = (int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10);\n          puVar6 = puVar15 + 0xe;\n          pcVar16 = acStack_c8;\n          puVar19 = (undefined4 *)puVar15[0xb];\n          *piVar5 = 0;\n          pcVar29 = *(code **)(puVar28 + 0x1ac8e0);\n          uVar4 = puVar15[0xf];\n          piVar5[1] = uStack_c0;\n          piVar5[2] = uStack_bc;\n          uVar36 = 1;\n          (*pcVar29)();\n          uVar22 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar6 = (undefined4 *)puVar15[10];\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar31;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar5 = *piVar7;\n            *(int **)*piVar20 = piVar5;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }\n            piVar7 = (int *)puVar15[0xc];\n            puVar15[0xc] = 0;\n            if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }\n            if (uVar22 == 0) {\n              trap(7);\n            }\n            puVar15[0xb] = uVar22;\n            puVar15[10] = puVar6;\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar23 % uVar22;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar27 = puVar15[0xc];\n            puVar15[0xc] = piVar5;\n            *piVar5 = iVar27;\n            if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }\n            *piVar20 = (int)(puVar15 + 0xc);\n          }\n          puVar6 = (undefined4 *)puVar15[6];\n          puVar26 = (uint *)puVar15[1];\n          uVar22 = puVar15[0xd] + 1;\n          puVar15[0xd] = uVar22;\n          puVar19 = puVar15 + 5;\n          if (puVar6 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            uVar22 = puVar6[4];\n            if ((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )) {\n              puVar8 = (undefined4 *)puVar6[3];\n            }\n            else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }\n            puVar6 = puVar8;\n          } while (puVar8 != (undefined4 *)0x0);\n          if (puVar15 + 5 == puVar19) goto LAB_002862a4;\n          uVar22 = (uint)(uStack_c0 < (uint)puVar19[4]);\n          if ((uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))))\n          goto LAB_002862a4;\n          piVar5 = (int *)puVar19[8];\n          if (piVar5 == (int *)0x0) {\n            puVar30 = (uint *)*puVar15;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);\n            piVar7 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n            if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }\n            piVar5 = (int *)*piVar5;\n          } while (piVar5 != (int *)0x0);\n        } while( true );\n      }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == number_literal) )) (compound_statement "{\n        puVar15 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar28 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0x5c,PTR_s__0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar28 + 0x1af82c);\n        puVar26 = (uint *)puVar15[1];\n        uVar22 = extraout_v1;\n        pEStack_b0 = eei;\n        uStack_ac = uVar23;\n        uStack_a8 = uVar33;\n        puStack_a0 = &left_alignment;\n        puStack_9c = result_alignment_pointer;\n        pMStack_98 = this;\nLAB_002862a4:\n        do {\n          puVar30 = (uint *)*puVar15;\nLAB_002862a8:\n          do {\n            if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }\n            uStack_c0 = puVar26[-2];\n            pcVar25 = *(code **)(puVar28 + 0x1acdb0);\n            uStack_bc = puVar26[-1];\n            puVar15[1] = puVar26 + -2;\n            uVar23 = uStack_c0 ^ uStack_bc;\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar31 = uVar23 % (uint)puVar15[0xb];\n            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);\n            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n          } while ((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0));\n          piVar5 = (int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10);\n          puVar6 = puVar15 + 0xe;\n          pcVar16 = acStack_c8;\n          puVar19 = (undefined4 *)puVar15[0xb];\n          *piVar5 = 0;\n          pcVar29 = *(code **)(puVar28 + 0x1ac8e0);\n          uVar4 = puVar15[0xf];\n          piVar5[1] = uStack_c0;\n          piVar5[2] = uStack_bc;\n          uVar36 = 1;\n          (*pcVar29)();\n          uVar22 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar6 = (undefined4 *)puVar15[10];\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar31;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar5 = *piVar7;\n            *(int **)*piVar20 = piVar5;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }\n            piVar7 = (int *)puVar15[0xc];\n            puVar15[0xc] = 0;\n            if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }\n            if (uVar22 == 0) {\n              trap(7);\n            }\n            puVar15[0xb] = uVar22;\n            puVar15[10] = puVar6;\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar23 % uVar22;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar27 = puVar15[0xc];\n            puVar15[0xc] = piVar5;\n            *piVar5 = iVar27;\n            if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }\n            *piVar20 = (int)(puVar15 + 0xc);\n          }\n          puVar6 = (undefined4 *)puVar15[6];\n          puVar26 = (uint *)puVar15[1];\n          uVar22 = puVar15[0xd] + 1;\n          puVar15[0xd] = uVar22;\n          puVar19 = puVar15 + 5;\n          if (puVar6 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            uVar22 = puVar6[4];\n            if ((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )) {\n              puVar8 = (undefined4 *)puVar6[3];\n            }\n            else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }\n            puVar6 = puVar8;\n          } while (puVar8 != (undefined4 *)0x0);\n          if (puVar15 + 5 == puVar19) goto LAB_002862a4;\n          uVar22 = (uint)(uStack_c0 < (uint)puVar19[4]);\n          if ((uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))))\n          goto LAB_002862a4;\n          piVar5 = (int *)puVar19[8];\n          if (piVar5 == (int *)0x0) {\n            puVar30 = (uint *)*puVar15;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);\n            piVar7 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n            if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }\n            piVar5 = (int *)*piVar5;\n          } while (piVar5 != (int *)0x0);\n        } while( true );\n      }" { (expression_statement "puVar15 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);" (assignment_expression "puVar15 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec)" identifier = (cast_expression "(undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_alize_xindex_004323b4 + -0x5cec)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal) )))) ;) (expression_statement "puVar28 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar28 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0x5c,PTR_s__0043226c + 0x2730);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0x5c,PTR_s__0043226c + 0x2730)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar15,0x5c,PTR_s__0043226c + 0x2730)" ( identifier , number_literal , (binary_expression "PTR_s__0043226c + 0x2730" identifier + number_literal) ))) ;) (expression_statement "pcStack_b8 = *(code **)(puVar28 + 0x1af82c);" (assignment_expression "pcStack_b8 = *(code **)(puVar28 + 0x1af82c)" identifier = (pointer_expression "*(code **)(puVar28 + 0x1af82c)" * (cast_expression "(code **)(puVar28 + 0x1af82c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x1af82c)" ( (binary_expression "puVar28 + 0x1af82c" identifier + number_literal) ))))) ;) (expression_statement "puVar26 = (uint *)puVar15[1];" (assignment_expression "puVar26 = (uint *)puVar15[1]" identifier = (cast_expression "(uint *)puVar15[1]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar22 = extraout_v1;" (assignment_expression "uVar22 = extraout_v1" identifier = identifier) ;) (expression_statement "pEStack_b0 = eei;" (assignment_expression "pEStack_b0 = eei" identifier = identifier) ;) (expression_statement "uStack_ac = uVar23;" (assignment_expression "uStack_ac = uVar23" identifier = identifier) ;) (expression_statement "uStack_a8 = uVar33;" (assignment_expression "uStack_a8 = uVar33" identifier = identifier) ;) (expression_statement "puStack_a0 = &left_alignment;" (assignment_expression "puStack_a0 = &left_alignment" identifier = (pointer_expression "&left_alignment" & identifier)) ;) (expression_statement "puStack_9c = result_alignment_pointer;" (assignment_expression "puStack_9c = result_alignment_pointer" identifier = identifier) ;) (expression_statement "pMStack_98 = this;" (assignment_expression "pMStack_98 = this" identifier = identifier) ;) (labeled_statement "LAB_002862a4:\n        do {\n          puVar30 = (uint *)*puVar15;\nLAB_002862a8:\n          do {\n            if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }\n            uStack_c0 = puVar26[-2];\n            pcVar25 = *(code **)(puVar28 + 0x1acdb0);\n            uStack_bc = puVar26[-1];\n            puVar15[1] = puVar26 + -2;\n            uVar23 = uStack_c0 ^ uStack_bc;\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar31 = uVar23 % (uint)puVar15[0xb];\n            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);\n            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n          } while ((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0));\n          piVar5 = (int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10);\n          puVar6 = puVar15 + 0xe;\n          pcVar16 = acStack_c8;\n          puVar19 = (undefined4 *)puVar15[0xb];\n          *piVar5 = 0;\n          pcVar29 = *(code **)(puVar28 + 0x1ac8e0);\n          uVar4 = puVar15[0xf];\n          piVar5[1] = uStack_c0;\n          piVar5[2] = uStack_bc;\n          uVar36 = 1;\n          (*pcVar29)();\n          uVar22 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar6 = (undefined4 *)puVar15[10];\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar31;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar5 = *piVar7;\n            *(int **)*piVar20 = piVar5;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }\n            piVar7 = (int *)puVar15[0xc];\n            puVar15[0xc] = 0;\n            if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }\n            if (uVar22 == 0) {\n              trap(7);\n            }\n            puVar15[0xb] = uVar22;\n            puVar15[10] = puVar6;\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar23 % uVar22;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar27 = puVar15[0xc];\n            puVar15[0xc] = piVar5;\n            *piVar5 = iVar27;\n            if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }\n            *piVar20 = (int)(puVar15 + 0xc);\n          }\n          puVar6 = (undefined4 *)puVar15[6];\n          puVar26 = (uint *)puVar15[1];\n          uVar22 = puVar15[0xd] + 1;\n          puVar15[0xd] = uVar22;\n          puVar19 = puVar15 + 5;\n          if (puVar6 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            uVar22 = puVar6[4];\n            if ((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )) {\n              puVar8 = (undefined4 *)puVar6[3];\n            }\n            else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }\n            puVar6 = puVar8;\n          } while (puVar8 != (undefined4 *)0x0);\n          if (puVar15 + 5 == puVar19) goto LAB_002862a4;\n          uVar22 = (uint)(uStack_c0 < (uint)puVar19[4]);\n          if ((uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))))\n          goto LAB_002862a4;\n          piVar5 = (int *)puVar19[8];\n          if (piVar5 == (int *)0x0) {\n            puVar30 = (uint *)*puVar15;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);\n            piVar7 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n            if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }\n            piVar5 = (int *)*piVar5;\n          } while (piVar5 != (int *)0x0);\n        } while( true );" statement_identifier : (do_statement "do {\n          puVar30 = (uint *)*puVar15;\nLAB_002862a8:\n          do {\n            if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }\n            uStack_c0 = puVar26[-2];\n            pcVar25 = *(code **)(puVar28 + 0x1acdb0);\n            uStack_bc = puVar26[-1];\n            puVar15[1] = puVar26 + -2;\n            uVar23 = uStack_c0 ^ uStack_bc;\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar31 = uVar23 % (uint)puVar15[0xb];\n            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);\n            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n          } while ((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0));\n          piVar5 = (int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10);\n          puVar6 = puVar15 + 0xe;\n          pcVar16 = acStack_c8;\n          puVar19 = (undefined4 *)puVar15[0xb];\n          *piVar5 = 0;\n          pcVar29 = *(code **)(puVar28 + 0x1ac8e0);\n          uVar4 = puVar15[0xf];\n          piVar5[1] = uStack_c0;\n          piVar5[2] = uStack_bc;\n          uVar36 = 1;\n          (*pcVar29)();\n          uVar22 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar6 = (undefined4 *)puVar15[10];\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar31;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar5 = *piVar7;\n            *(int **)*piVar20 = piVar5;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }\n            piVar7 = (int *)puVar15[0xc];\n            puVar15[0xc] = 0;\n            if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }\n            if (uVar22 == 0) {\n              trap(7);\n            }\n            puVar15[0xb] = uVar22;\n            puVar15[10] = puVar6;\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar23 % uVar22;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar27 = puVar15[0xc];\n            puVar15[0xc] = piVar5;\n            *piVar5 = iVar27;\n            if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }\n            *piVar20 = (int)(puVar15 + 0xc);\n          }\n          puVar6 = (undefined4 *)puVar15[6];\n          puVar26 = (uint *)puVar15[1];\n          uVar22 = puVar15[0xd] + 1;\n          puVar15[0xd] = uVar22;\n          puVar19 = puVar15 + 5;\n          if (puVar6 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            uVar22 = puVar6[4];\n            if ((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )) {\n              puVar8 = (undefined4 *)puVar6[3];\n            }\n            else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }\n            puVar6 = puVar8;\n          } while (puVar8 != (undefined4 *)0x0);\n          if (puVar15 + 5 == puVar19) goto LAB_002862a4;\n          uVar22 = (uint)(uStack_c0 < (uint)puVar19[4]);\n          if ((uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))))\n          goto LAB_002862a4;\n          piVar5 = (int *)puVar19[8];\n          if (piVar5 == (int *)0x0) {\n            puVar30 = (uint *)*puVar15;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);\n            piVar7 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n            if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }\n            piVar5 = (int *)*piVar5;\n          } while (piVar5 != (int *)0x0);\n        } while( true );" do (compound_statement "{\n          puVar30 = (uint *)*puVar15;\nLAB_002862a8:\n          do {\n            if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }\n            uStack_c0 = puVar26[-2];\n            pcVar25 = *(code **)(puVar28 + 0x1acdb0);\n            uStack_bc = puVar26[-1];\n            puVar15[1] = puVar26 + -2;\n            uVar23 = uStack_c0 ^ uStack_bc;\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar31 = uVar23 % (uint)puVar15[0xb];\n            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);\n            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n          } while ((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0));\n          piVar5 = (int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10);\n          puVar6 = puVar15 + 0xe;\n          pcVar16 = acStack_c8;\n          puVar19 = (undefined4 *)puVar15[0xb];\n          *piVar5 = 0;\n          pcVar29 = *(code **)(puVar28 + 0x1ac8e0);\n          uVar4 = puVar15[0xf];\n          piVar5[1] = uStack_c0;\n          piVar5[2] = uStack_bc;\n          uVar36 = 1;\n          (*pcVar29)();\n          uVar22 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar6 = (undefined4 *)puVar15[10];\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar31;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar5 = *piVar7;\n            *(int **)*piVar20 = piVar5;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }\n            piVar7 = (int *)puVar15[0xc];\n            puVar15[0xc] = 0;\n            if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }\n            if (uVar22 == 0) {\n              trap(7);\n            }\n            puVar15[0xb] = uVar22;\n            puVar15[10] = puVar6;\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar23 % uVar22;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar27 = puVar15[0xc];\n            puVar15[0xc] = piVar5;\n            *piVar5 = iVar27;\n            if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }\n            *piVar20 = (int)(puVar15 + 0xc);\n          }\n          puVar6 = (undefined4 *)puVar15[6];\n          puVar26 = (uint *)puVar15[1];\n          uVar22 = puVar15[0xd] + 1;\n          puVar15[0xd] = uVar22;\n          puVar19 = puVar15 + 5;\n          if (puVar6 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            uVar22 = puVar6[4];\n            if ((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )) {\n              puVar8 = (undefined4 *)puVar6[3];\n            }\n            else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }\n            puVar6 = puVar8;\n          } while (puVar8 != (undefined4 *)0x0);\n          if (puVar15 + 5 == puVar19) goto LAB_002862a4;\n          uVar22 = (uint)(uStack_c0 < (uint)puVar19[4]);\n          if ((uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))))\n          goto LAB_002862a4;\n          piVar5 = (int *)puVar19[8];\n          if (piVar5 == (int *)0x0) {\n            puVar30 = (uint *)*puVar15;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);\n            piVar7 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n            if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }\n            piVar5 = (int *)*piVar5;\n          } while (piVar5 != (int *)0x0);\n        }" { (expression_statement "puVar30 = (uint *)*puVar15;" (assignment_expression "puVar30 = (uint *)*puVar15" identifier = (cast_expression "(uint *)*puVar15" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (labeled_statement "LAB_002862a8:\n          do {\n            if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }\n            uStack_c0 = puVar26[-2];\n            pcVar25 = *(code **)(puVar28 + 0x1acdb0);\n            uStack_bc = puVar26[-1];\n            puVar15[1] = puVar26 + -2;\n            uVar23 = uStack_c0 ^ uStack_bc;\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar31 = uVar23 % (uint)puVar15[0xb];\n            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);\n            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n          } while ((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0));" statement_identifier : (do_statement "do {\n            if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }\n            uStack_c0 = puVar26[-2];\n            pcVar25 = *(code **)(puVar28 + 0x1acdb0);\n            uStack_bc = puVar26[-1];\n            puVar15[1] = puVar26 + -2;\n            uVar23 = uStack_c0 ^ uStack_bc;\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar31 = uVar23 % (uint)puVar15[0xb];\n            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);\n            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n          } while ((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0));" do (compound_statement "{\n            if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }\n            uStack_c0 = puVar26[-2];\n            pcVar25 = *(code **)(puVar28 + 0x1acdb0);\n            uStack_bc = puVar26[-1];\n            puVar15[1] = puVar26 + -2;\n            uVar23 = uStack_c0 ^ uStack_bc;\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar31 = uVar23 % (uint)puVar15[0xb];\n            uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);\n            piVar5 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n          }" { (if_statement "if (puVar26 == puVar30) {\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }" if (parenthesized_expression "(puVar26 == puVar30)" ( (binary_expression "puVar26 == puVar30" identifier == identifier) )) (compound_statement "{\n              *(undefined1 *)(puVar15 + 3) = 1;\n              return CONCAT44(1,uVar22);\n            }" { (expression_statement "*(undefined1 *)(puVar15 + 3) = 1;" (assignment_expression "*(undefined1 *)(puVar15 + 3) = 1" (pointer_expression "*(undefined1 *)(puVar15 + 3)" * (cast_expression "(undefined1 *)(puVar15 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 3)" ( (binary_expression "puVar15 + 3" identifier + number_literal) )))) = number_literal) ;) (return_statement "return CONCAT44(1,uVar22);" return (call_expression "CONCAT44(1,uVar22)" identifier (argument_list "(1,uVar22)" ( number_literal , identifier ))) ;) })) (expression_statement "uStack_c0 = puVar26[-2];" (assignment_expression "uStack_c0 = puVar26[-2]" identifier = (subscript_expression "puVar26[-2]" identifier [ number_literal ])) ;) (expression_statement "pcVar25 = *(code **)(puVar28 + 0x1acdb0);" (assignment_expression "pcVar25 = *(code **)(puVar28 + 0x1acdb0)" identifier = (pointer_expression "*(code **)(puVar28 + 0x1acdb0)" * (cast_expression "(code **)(puVar28 + 0x1acdb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x1acdb0)" ( (binary_expression "puVar28 + 0x1acdb0" identifier + number_literal) ))))) ;) (expression_statement "uStack_bc = puVar26[-1];" (assignment_expression "uStack_bc = puVar26[-1]" identifier = (subscript_expression "puVar26[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar15[1] = puVar26 + -2;" (assignment_expression "puVar15[1] = puVar26 + -2" (subscript_expression "puVar15[1]" identifier [ number_literal ]) = (binary_expression "puVar26 + -2" identifier + number_literal)) ;) (expression_statement "uVar23 = uStack_c0 ^ uStack_bc;" (assignment_expression "uVar23 = uStack_c0 ^ uStack_bc" identifier = (binary_expression "uStack_c0 ^ uStack_bc" identifier ^ identifier)) ;) (if_statement "if (puVar15[0xb] == 0) {\n              trap(7);\n            }" if (parenthesized_expression "(puVar15[0xb] == 0)" ( (binary_expression "puVar15[0xb] == 0" (subscript_expression "puVar15[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              trap(7);\n            }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar31 = uVar23 % (uint)puVar15[0xb];" (assignment_expression "uVar31 = uVar23 % (uint)puVar15[0xb]" identifier = (binary_expression "uVar23 % (uint)puVar15[0xb]" identifier % (cast_expression "(uint)puVar15[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar15[0xb]" identifier [ number_literal ])))) ;) (expression_statement "uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23);" (assignment_expression "uVar35 = (*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23)" identifier = (call_expression "(*pcVar25)(puVar15 + 10,uVar31,&uStack_c0,uVar23)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar15 + 10,uVar31,&uStack_c0,uVar23)" ( (binary_expression "puVar15 + 10" identifier + number_literal) , identifier , (pointer_expression "&uStack_c0" & identifier) , identifier )))) ;) (expression_statement "piVar5 = (int *)((ulonglong)uVar35 >> 0x20);" (assignment_expression "piVar5 = (int *)((ulonglong)uVar35 >> 0x20)" identifier = (cast_expression "(int *)((ulonglong)uVar35 >> 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar35 >> 0x20)" ( (binary_expression "(ulonglong)uVar35 >> 0x20" (cast_expression "(ulonglong)uVar35" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar22 = (uint)uVar35;" (assignment_expression "uVar22 = (uint)uVar35" identifier = (cast_expression "(uint)uVar35" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "((piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0))" ( (binary_expression "(piVar5 != (int *)0x0) && (puVar26 = puVar26 + -2, *piVar5 != 0)" (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)) )) && (parenthesized_expression "(puVar26 = puVar26 + -2, *piVar5 != 0)" ( (comma_expression "puVar26 = puVar26 + -2, *piVar5 != 0" (assignment_expression "puVar26 = puVar26 + -2" identifier = (binary_expression "puVar26 + -2" identifier + number_literal)) , (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal)) ))) )) ;)) (expression_statement "piVar5 = (int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10);" (assignment_expression "piVar5 = (int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10)" identifier = (cast_expression "(int *)(**(code **)(puVar28 + 0x1ac0ec))(0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar28 + 0x1ac0ec))(0x10)" (parenthesized_expression "(**(code **)(puVar28 + 0x1ac0ec))" ( (pointer_expression "**(code **)(puVar28 + 0x1ac0ec)" * (pointer_expression "*(code **)(puVar28 + 0x1ac0ec)" * (cast_expression "(code **)(puVar28 + 0x1ac0ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x1ac0ec)" ( (binary_expression "puVar28 + 0x1ac0ec" identifier + number_literal) ))))) )) (argument_list "(0x10)" ( number_literal ))))) ;) (expression_statement "puVar6 = puVar15 + 0xe;" (assignment_expression "puVar6 = puVar15 + 0xe" identifier = (binary_expression "puVar15 + 0xe" identifier + number_literal)) ;) (expression_statement "pcVar16 = acStack_c8;" (assignment_expression "pcVar16 = acStack_c8" identifier = identifier) ;) (expression_statement "puVar19 = (undefined4 *)puVar15[0xb];" (assignment_expression "puVar19 = (undefined4 *)puVar15[0xb]" identifier = (cast_expression "(undefined4 *)puVar15[0xb]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[0xb]" identifier [ number_literal ]))) ;) (expression_statement "*piVar5 = 0;" (assignment_expression "*piVar5 = 0" (pointer_expression "*piVar5" * identifier) = number_literal) ;) (expression_statement "pcVar29 = *(code **)(puVar28 + 0x1ac8e0);" (assignment_expression "pcVar29 = *(code **)(puVar28 + 0x1ac8e0)" identifier = (pointer_expression "*(code **)(puVar28 + 0x1ac8e0)" * (cast_expression "(code **)(puVar28 + 0x1ac8e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x1ac8e0)" ( (binary_expression "puVar28 + 0x1ac8e0" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = puVar15[0xf];" (assignment_expression "uVar4 = puVar15[0xf]" identifier = (subscript_expression "puVar15[0xf]" identifier [ number_literal ])) ;) (expression_statement "piVar5[1] = uStack_c0;" (assignment_expression "piVar5[1] = uStack_c0" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5[2] = uStack_bc;" (assignment_expression "piVar5[2] = uStack_bc" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar36 = 1;" (assignment_expression "uVar36 = 1" identifier = number_literal) ;) (expression_statement "(*pcVar29)();" (call_expression "(*pcVar29)()" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uVar22 = uStack_c4;" (assignment_expression "uVar22 = uStack_c4" identifier = identifier) ;) (if_statement "if (acStack_c8[0] == '\0') {\n            puVar6 = (undefined4 *)puVar15[10];\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar31;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar5 = *piVar7;\n            *(int **)*piVar20 = piVar5;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }\n            piVar7 = (int *)puVar15[0xc];\n            puVar15[0xc] = 0;\n            if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }\n            if (uVar22 == 0) {\n              trap(7);\n            }\n            puVar15[0xb] = uVar22;\n            puVar15[10] = puVar6;\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar23 % uVar22;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar27 = puVar15[0xc];\n            puVar15[0xc] = piVar5;\n            *piVar5 = iVar27;\n            if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }\n            *piVar20 = (int)(puVar15 + 0xc);\n          }" if (parenthesized_expression "(acStack_c8[0] == '\0')" ( (binary_expression "acStack_c8[0] == '\0'" (subscript_expression "acStack_c8[0]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            puVar6 = (undefined4 *)puVar15[10];\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar31;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar5 = *piVar7;\n            *(int **)*piVar20 = piVar5;\n          }" { (expression_statement "puVar6 = (undefined4 *)puVar15[10];" (assignment_expression "puVar6 = (undefined4 *)puVar15[10]" identifier = (cast_expression "(undefined4 *)puVar15[10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[10]" identifier [ number_literal ]))) ;) (expression_statement "piVar5[3] = uVar23;" (assignment_expression "piVar5[3] = uVar23" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar20 = puVar6 + uVar31;" (assignment_expression "piVar20 = puVar6 + uVar31" identifier = (binary_expression "puVar6 + uVar31" identifier + identifier)) ;) (expression_statement "piVar7 = (int *)*piVar20;" (assignment_expression "piVar7 = (int *)*piVar20" identifier = (cast_expression "(int *)*piVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) ;) (if_statement "if (piVar7 == (int *)0x0) goto LAB_00286470;" if (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00286470;" goto statement_identifier ;)) (labeled_statement "LAB_002864c8:\n            *piVar5 = *piVar7;" statement_identifier : (expression_statement "*piVar5 = *piVar7;" (assignment_expression "*piVar5 = *piVar7" (pointer_expression "*piVar5" * identifier) = (pointer_expression "*piVar7" * identifier)) ;)) (expression_statement "*(int **)*piVar20 = piVar5;" (assignment_expression "*(int **)*piVar20 = piVar5" (pointer_expression "*(int **)*piVar20" * (cast_expression "(int **)*piVar20" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*piVar20" * identifier))) = identifier) ;) }) (else_clause "else {\n            if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }\n            piVar7 = (int *)puVar15[0xc];\n            puVar15[0xc] = 0;\n            if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }\n            if (uVar22 == 0) {\n              trap(7);\n            }\n            puVar15[0xb] = uVar22;\n            puVar15[10] = puVar6;\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar23 % uVar22;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar27 = puVar15[0xc];\n            puVar15[0xc] = piVar5;\n            *piVar5 = iVar27;\n            if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }\n            *piVar20 = (int)(puVar15 + 0xc);\n          }" else (compound_statement "{\n            if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }\n            piVar7 = (int *)puVar15[0xc];\n            puVar15[0xc] = 0;\n            if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }\n            if (uVar22 == 0) {\n              trap(7);\n            }\n            puVar15[0xb] = uVar22;\n            puVar15[10] = puVar6;\n            piVar5[3] = uVar23;\n            piVar20 = puVar6 + uVar23 % uVar22;\n            piVar7 = (int *)*piVar20;\n            if (piVar7 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar27 = puVar15[0xc];\n            puVar15[0xc] = piVar5;\n            *piVar5 = iVar27;\n            if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }\n            *piVar20 = (int)(puVar15 + 0xc);\n          }" { (if_statement "if (uStack_c4 == 1) {\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }\n            else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }" if (parenthesized_expression "(uStack_c4 == 1)" ( (binary_expression "uStack_c4 == 1" identifier == number_literal) )) (compound_statement "{\n              puVar6 = puVar15 + 0x10;\n              puVar15[0x10] = 0;\n            }" { (expression_statement "puVar6 = puVar15 + 0x10;" (assignment_expression "puVar6 = puVar15 + 0x10" identifier = (binary_expression "puVar15 + 0x10" identifier + number_literal)) ;) (expression_statement "puVar15[0x10] = 0;" (assignment_expression "puVar15[0x10] = 0" (subscript_expression "puVar15[0x10]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }" else (compound_statement "{\n              iVar27 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }\n              puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);\n              (**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);\n            }" { (expression_statement "iVar27 = uStack_c4 << 2;" (assignment_expression "iVar27 = uStack_c4 << 2" identifier = (binary_expression "uStack_c4 << 2" identifier << number_literal)) ;) (if_statement "if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }" if (parenthesized_expression "(0x3fffffff < uStack_c4)" ( (binary_expression "0x3fffffff < uStack_c4" number_literal < identifier) )) (compound_statement "{\n                (**(code **)(puVar28 + 0x1ac1b4))();\n                (**(code **)(puVar28 + 0x1ac7cc))();\n                pcVar25 = *(code **)(puVar28 + 0x1ac7d0);\n                puVar15[0xf] = uVar4;\n                (*pcVar25)();\n                pcStack_b8 = (code *)pcVar16;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                (**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar28 + 0x1ac03c))();\n                (**(code **)(puVar28 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar5;\n                (**(code **)(puVar28 + 0x1ac7d4))();\n                pcVar29 = *(code **)(puVar28 + 0x1ac008);\n                pcVar25 = pcStack_b8;\n                (*pcVar29)();\n                puVar8 = *(undefined4 **)pcVar25;\n                puVar15 = *(undefined4 **)((int)pcVar25 + 4);\n                uVar23 = (int)puVar15 - (int)puVar8 >> 3;\n                if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }\n                puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);\n                iVar27 = (int)puVar9 + iVar27;\n                puVar24 = puVar9 + 2;\nLAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));\n                uVar4 = puVar19[1];\n                *puVar10 = *puVar19;\n                puVar10[1] = uVar4;\n                puVar19 = puVar8;\n                puVar21 = puVar9;\n                if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }\n                puVar19 = puVar6;\n                puVar21 = puVar24;\n                if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }\n                uVar33 = CONCAT44(puVar10,puVar6);\n                if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }\n                *(undefined4 **)pcVar25 = puVar9;\n                *(undefined4 **)((int)pcVar25 + 4) = puVar24;\n                *(int *)((int)pcVar25 + 8) = iVar27;\n                return uVar33;\n              }" { (expression_statement "(**(code **)(puVar28 + 0x1ac1b4))();" (call_expression "(**(code **)(puVar28 + 0x1ac1b4))()" (parenthesized_expression "(**(code **)(puVar28 + 0x1ac1b4))" ( (pointer_expression "**(code **)(puVar28 + 0x1ac1b4)" * (pointer_expression "*(code **)(puVar28 + 0x1ac1b4)" * (cast_expression "(code **)(puVar28 + 0x1ac1b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x1ac1b4)" ( (binary_expression "puVar28 + 0x1ac1b4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(puVar28 + 0x1ac7cc))();" (call_expression "(**(code **)(puVar28 + 0x1ac7cc))()" (parenthesized_expression "(**(code **)(puVar28 + 0x1ac7cc))" ( (pointer_expression "**(code **)(puVar28 + 0x1ac7cc)" * (pointer_expression "*(code **)(puVar28 + 0x1ac7cc)" * (cast_expression "(code **)(puVar28 + 0x1ac7cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x1ac7cc)" ( (binary_expression "puVar28 + 0x1ac7cc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar25 = *(code **)(puVar28 + 0x1ac7d0);" (assignment_expression "pcVar25 = *(code **)(puVar28 + 0x1ac7d0)" identifier = (pointer_expression "*(code **)(puVar28 + 0x1ac7d0)" * (cast_expression "(code **)(puVar28 + 0x1ac7d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x1ac7d0)" ( (binary_expression "puVar28 + 0x1ac7d0" identifier + number_literal) ))))) ;) (expression_statement "puVar15[0xf] = uVar4;" (assignment_expression "puVar15[0xf] = uVar4" (subscript_expression "puVar15[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_b8 = (code *)pcVar16;" (assignment_expression "pcStack_b8 = (code *)pcVar16" identifier = (cast_expression "(code *)pcVar16" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(**(code **)(puVar28 + 0x1ac7d4))();" (call_expression "(**(code **)(puVar28 + 0x1ac7d4))()" (parenthesized_expression "(**(code **)(puVar28 + 0x1ac7d4))" ( (pointer_expression "**(code **)(puVar28 + 0x1ac7d4)" * (pointer_expression "*(code **)(puVar28 + 0x1ac7d4)" * (cast_expression "(code **)(puVar28 + 0x1ac7d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x1ac7d4)" ( (binary_expression "puVar28 + 0x1ac7d4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8);" (call_expression "(**(code **)(puVar28 + 0x1ac7cc))(pcStack_b8)" (parenthesized_expression "(**(code **)(puVar28 + 0x1ac7cc))" ( (pointer_expression "**(code **)(puVar28 + 0x1ac7cc)" * (pointer_expression "*(code **)(puVar28 + 0x1ac7cc)" * (cast_expression "(code **)(puVar28 + 0x1ac7cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x1ac7cc)" ( (binary_expression "puVar28 + 0x1ac7cc" identifier + number_literal) ))))) )) (argument_list "(pcStack_b8)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar28 + 0x1ac03c))();" (call_expression "(**(code **)(puVar28 + 0x1ac03c))()" (parenthesized_expression "(**(code **)(puVar28 + 0x1ac03c))" ( (pointer_expression "**(code **)(puVar28 + 0x1ac03c)" * (pointer_expression "*(code **)(puVar28 + 0x1ac03c)" * (cast_expression "(code **)(puVar28 + 0x1ac03c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x1ac03c)" ( (binary_expression "puVar28 + 0x1ac03c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(puVar28 + 0x1ac7d0))();" (call_expression "(**(code **)(puVar28 + 0x1ac7d0))()" (parenthesized_expression "(**(code **)(puVar28 + 0x1ac7d0))" ( (pointer_expression "**(code **)(puVar28 + 0x1ac7d0)" * (pointer_expression "*(code **)(puVar28 + 0x1ac7d0)" * (cast_expression "(code **)(puVar28 + 0x1ac7d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x1ac7d0)" ( (binary_expression "puVar28 + 0x1ac7d0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_b8 = (code *)piVar5;" (assignment_expression "pcStack_b8 = (code *)piVar5" identifier = (cast_expression "(code *)piVar5" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(**(code **)(puVar28 + 0x1ac7d4))();" (call_expression "(**(code **)(puVar28 + 0x1ac7d4))()" (parenthesized_expression "(**(code **)(puVar28 + 0x1ac7d4))" ( (pointer_expression "**(code **)(puVar28 + 0x1ac7d4)" * (pointer_expression "*(code **)(puVar28 + 0x1ac7d4)" * (cast_expression "(code **)(puVar28 + 0x1ac7d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x1ac7d4)" ( (binary_expression "puVar28 + 0x1ac7d4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar29 = *(code **)(puVar28 + 0x1ac008);" (assignment_expression "pcVar29 = *(code **)(puVar28 + 0x1ac008)" identifier = (pointer_expression "*(code **)(puVar28 + 0x1ac008)" * (cast_expression "(code **)(puVar28 + 0x1ac008)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x1ac008)" ( (binary_expression "puVar28 + 0x1ac008" identifier + number_literal) ))))) ;) (expression_statement "pcVar25 = pcStack_b8;" (assignment_expression "pcVar25 = pcStack_b8" identifier = identifier) ;) (expression_statement "(*pcVar29)();" (call_expression "(*pcVar29)()" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar8 = *(undefined4 **)pcVar25;" (assignment_expression "puVar8 = *(undefined4 **)pcVar25" identifier = (pointer_expression "*(undefined4 **)pcVar25" * (cast_expression "(undefined4 **)pcVar25" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar15 = *(undefined4 **)((int)pcVar25 + 4);" (assignment_expression "puVar15 = *(undefined4 **)((int)pcVar25 + 4)" identifier = (pointer_expression "*(undefined4 **)((int)pcVar25 + 4)" * (cast_expression "(undefined4 **)((int)pcVar25 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pcVar25 + 4)" ( (binary_expression "(int)pcVar25 + 4" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar23 = (int)puVar15 - (int)puVar8 >> 3;" (assignment_expression "uVar23 = (int)puVar15 - (int)puVar8 >> 3" identifier = (binary_expression "(int)puVar15 - (int)puVar8 >> 3" (binary_expression "(int)puVar15 - (int)puVar8" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (if_statement "if (uVar23 == 0) {\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }\n                else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }" if (parenthesized_expression "(uVar23 == 0)" ( (binary_expression "uVar23 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar22 = 1;\nLAB_00286884:\n                  iVar27 = uVar22 << 3;\n                }" { (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00286884:\n                  iVar27 = uVar22 << 3;" statement_identifier : (expression_statement "iVar27 = uVar22 << 3;" (assignment_expression "iVar27 = uVar22 << 3" identifier = (binary_expression "uVar22 << 3" identifier << number_literal)) ;)) }) (else_clause "else {\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }" else (compound_statement "{\n                  uVar22 = uVar23 << 1;\n                  if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar27 = -8;\n                }" { (expression_statement "uVar22 = uVar23 << 1;" (assignment_expression "uVar22 = uVar23 << 1" identifier = (binary_expression "uVar23 << 1" identifier << number_literal)) ;) (if_statement "if ((uVar23 <= uVar22) && (uVar22 < 0x20000000)) {\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }" if (parenthesized_expression "((uVar23 <= uVar22) && (uVar22 < 0x20000000))" ( (binary_expression "(uVar23 <= uVar22) && (uVar22 < 0x20000000)" (parenthesized_expression "(uVar23 <= uVar22)" ( (binary_expression "uVar23 <= uVar22" identifier <= identifier) )) && (parenthesized_expression "(uVar22 < 0x20000000)" ( (binary_expression "uVar22 < 0x20000000" identifier < number_literal) ))) )) (compound_statement "{\n                    puVar24 = (undefined4 *)0x8;\n                    if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }" { (expression_statement "puVar24 = (undefined4 *)0x8;" (assignment_expression "puVar24 = (undefined4 *)0x8" identifier = (cast_expression "(undefined4 *)0x8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar22 == 0) {\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }" if (parenthesized_expression "(uVar22 == 0)" ( (binary_expression "uVar22 == 0" identifier == number_literal) )) (compound_statement "{\n                      iVar27 = 0;\n                      puVar9 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (expression_statement "puVar9 = (undefined4 *)0x0;" (assignment_expression "puVar9 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00286780;" goto statement_identifier ;) })) (goto_statement "goto LAB_00286884;" goto statement_identifier ;) })) (expression_statement "iVar27 = -8;" (assignment_expression "iVar27 = -8" identifier = number_literal) ;) }))) (expression_statement "puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27);" (assignment_expression "puVar9 = (undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar29 + 0x1abc4c))(iVar27)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar29 + 0x1abc4c))(iVar27)" (parenthesized_expression "(**(code **)(pcVar29 + 0x1abc4c))" ( (pointer_expression "**(code **)(pcVar29 + 0x1abc4c)" * (pointer_expression "*(code **)(pcVar29 + 0x1abc4c)" * (cast_expression "(code **)(pcVar29 + 0x1abc4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x1abc4c)" ( (binary_expression "pcVar29 + 0x1abc4c" identifier + number_literal) ))))) )) (argument_list "(iVar27)" ( identifier ))))) ;) (expression_statement "iVar27 = (int)puVar9 + iVar27;" (assignment_expression "iVar27 = (int)puVar9 + iVar27" identifier = (binary_expression "(int)puVar9 + iVar27" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "puVar24 = puVar9 + 2;" (assignment_expression "puVar24 = puVar9 + 2" identifier = (binary_expression "puVar9 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_00286780:\n                puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));" statement_identifier : (expression_statement "puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8));" (assignment_expression "puVar10 = (undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8))" identifier = (cast_expression "(undefined4 *)((int)puVar9 + ((int)puVar6 - (int)puVar8))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + ((int)puVar6 - (int)puVar8))" ( (binary_expression "(int)puVar9 + ((int)puVar6 - (int)puVar8)" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)puVar6 - (int)puVar8)" ( (binary_expression "(int)puVar6 - (int)puVar8" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;)) (expression_statement "uVar4 = puVar19[1];" (assignment_expression "uVar4 = puVar19[1]" identifier = (subscript_expression "puVar19[1]" identifier [ number_literal ])) ;) (expression_statement "*puVar10 = *puVar19;" (assignment_expression "*puVar10 = *puVar19" (pointer_expression "*puVar10" * identifier) = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "puVar10[1] = uVar4;" (assignment_expression "puVar10[1] = uVar4" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19 = puVar8;" (assignment_expression "puVar19 = puVar8" identifier = identifier) ;) (expression_statement "puVar21 = puVar9;" (assignment_expression "puVar21 = puVar9" identifier = identifier) ;) (if_statement "if (puVar8 != puVar6) {\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }" if (parenthesized_expression "(puVar8 != puVar6)" ( (binary_expression "puVar8 != puVar6" identifier != identifier) )) (compound_statement "{\n                  do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);\n                  puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;\n                }" { (do_statement "do {\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar6 != puVar24);" do (compound_statement "{\n                    puVar24 = puVar19 + 2;\n                    uVar4 = puVar19[1];\n                    *puVar21 = *puVar19;\n                    puVar21[1] = uVar4;\n                    puVar19 = puVar24;\n                    puVar21 = puVar21 + 2;\n                  }" { (expression_statement "puVar24 = puVar19 + 2;" (assignment_expression "puVar24 = puVar19 + 2" identifier = (binary_expression "puVar19 + 2" identifier + number_literal)) ;) (expression_statement "uVar4 = puVar19[1];" (assignment_expression "uVar4 = puVar19[1]" identifier = (subscript_expression "puVar19[1]" identifier [ number_literal ])) ;) (expression_statement "*puVar21 = *puVar19;" (assignment_expression "*puVar21 = *puVar19" (pointer_expression "*puVar21" * identifier) = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "puVar21[1] = uVar4;" (assignment_expression "puVar21[1] = uVar4" (subscript_expression "puVar21[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19 = puVar24;" (assignment_expression "puVar19 = puVar24" identifier = identifier) ;) (expression_statement "puVar21 = puVar21 + 2;" (assignment_expression "puVar21 = puVar21 + 2" identifier = (binary_expression "puVar21 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar6 != puVar24)" ( (binary_expression "puVar6 != puVar24" identifier != identifier) )) ;) (expression_statement "puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2;" (assignment_expression "puVar24 = puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2" identifier = (binary_expression "puVar9 + (((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2" identifier + (binary_expression "(((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2) * 2" (parenthesized_expression "(((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2)" ( (binary_expression "((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3) + 2" (parenthesized_expression "((uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3)" ( (binary_expression "(uint)((int)puVar6 + (-8 - (int)puVar8)) >> 3" (call_expression "(uint)((int)puVar6 + (-8 - (int)puVar8))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar6 + (-8 - (int)puVar8))" ( (binary_expression "(int)puVar6 + (-8 - (int)puVar8)" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-8 - (int)puVar8)" ( (binary_expression "-8 - (int)puVar8" number_literal - (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) >> number_literal) )) + number_literal) )) * number_literal))) ;) })) (expression_statement "puVar19 = puVar6;" (assignment_expression "puVar19 = puVar6" identifier = identifier) ;) (expression_statement "puVar21 = puVar24;" (assignment_expression "puVar21 = puVar24" identifier = identifier) ;) (if_statement "if (puVar15 != puVar6) {\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }" if (parenthesized_expression "(puVar15 != puVar6)" ( (binary_expression "puVar15 != puVar6" identifier != identifier) )) (compound_statement "{\n                  do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);\n                  iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;\n                  puVar6 = (undefined4 *)(iVar12 * 8);\n                  puVar24 = puVar24 + iVar12 * 2;\n                }" { (do_statement "do {\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  } while (puVar15 != puVar11);" do (compound_statement "{\n                    puVar11 = puVar19 + 2;\n                    *puVar21 = *puVar19;\n                    puVar21[1] = puVar19[1];\n                    puVar19 = puVar11;\n                    puVar21 = puVar21 + 2;\n                  }" { (expression_statement "puVar11 = puVar19 + 2;" (assignment_expression "puVar11 = puVar19 + 2" identifier = (binary_expression "puVar19 + 2" identifier + number_literal)) ;) (expression_statement "*puVar21 = *puVar19;" (assignment_expression "*puVar21 = *puVar19" (pointer_expression "*puVar21" * identifier) = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "puVar21[1] = puVar19[1];" (assignment_expression "puVar21[1] = puVar19[1]" (subscript_expression "puVar21[1]" identifier [ number_literal ]) = (subscript_expression "puVar19[1]" identifier [ number_literal ])) ;) (expression_statement "puVar19 = puVar11;" (assignment_expression "puVar19 = puVar11" identifier = identifier) ;) (expression_statement "puVar21 = puVar21 + 2;" (assignment_expression "puVar21 = puVar21 + 2" identifier = (binary_expression "puVar21 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar15 != puVar11)" ( (binary_expression "puVar15 != puVar11" identifier != identifier) )) ;) (expression_statement "iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1;" (assignment_expression "iVar12 = ((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1" identifier = (binary_expression "((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3) + 1" (parenthesized_expression "((uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3)" ( (binary_expression "(uint)((int)puVar15 + (-8 - (int)puVar6)) >> 3" (call_expression "(uint)((int)puVar15 + (-8 - (int)puVar6))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar15 + (-8 - (int)puVar6))" ( (binary_expression "(int)puVar15 + (-8 - (int)puVar6)" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-8 - (int)puVar6)" ( (binary_expression "-8 - (int)puVar6" number_literal - (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) >> number_literal) )) + number_literal)) ;) (expression_statement "puVar6 = (undefined4 *)(iVar12 * 8);" (assignment_expression "puVar6 = (undefined4 *)(iVar12 * 8)" identifier = (cast_expression "(undefined4 *)(iVar12 * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 * 8)" ( (binary_expression "iVar12 * 8" identifier * number_literal) )))) ;) (expression_statement "puVar24 = puVar24 + iVar12 * 2;" (assignment_expression "puVar24 = puVar24 + iVar12 * 2" identifier = (binary_expression "puVar24 + iVar12 * 2" identifier + (binary_expression "iVar12 * 2" identifier * number_literal))) ;) })) (expression_statement "uVar33 = CONCAT44(puVar10,puVar6);" (assignment_expression "uVar33 = CONCAT44(puVar10,puVar6)" identifier = (call_expression "CONCAT44(puVar10,puVar6)" identifier (argument_list "(puVar10,puVar6)" ( identifier , identifier )))) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);\n                }" { (expression_statement "uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8);" (assignment_expression "uVar33 = (**(code **)(pcVar29 + 0x1abb9c))(puVar8)" identifier = (call_expression "(**(code **)(pcVar29 + 0x1abb9c))(puVar8)" (parenthesized_expression "(**(code **)(pcVar29 + 0x1abb9c))" ( (pointer_expression "**(code **)(pcVar29 + 0x1abb9c)" * (pointer_expression "*(code **)(pcVar29 + 0x1abb9c)" * (cast_expression "(code **)(pcVar29 + 0x1abb9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x1abb9c)" ( (binary_expression "pcVar29 + 0x1abb9c" identifier + number_literal) ))))) )) (argument_list "(puVar8)" ( identifier )))) ;) })) (expression_statement "*(undefined4 **)pcVar25 = puVar9;" (assignment_expression "*(undefined4 **)pcVar25 = puVar9" (pointer_expression "*(undefined4 **)pcVar25" * (cast_expression "(undefined4 **)pcVar25" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 **)((int)pcVar25 + 4) = puVar24;" (assignment_expression "*(undefined4 **)((int)pcVar25 + 4) = puVar24" (pointer_expression "*(undefined4 **)((int)pcVar25 + 4)" * (cast_expression "(undefined4 **)((int)pcVar25 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pcVar25 + 4)" ( (binary_expression "(int)pcVar25 + 4" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)pcVar25 + 8) = iVar27;" (assignment_expression "*(int *)((int)pcVar25 + 8) = iVar27" (pointer_expression "*(int *)((int)pcVar25 + 8)" * (cast_expression "(int *)((int)pcVar25 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pcVar25 + 8)" ( (binary_expression "(int)pcVar25 + 8" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (return_statement "return uVar33;" return identifier ;) })) (expression_statement "puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27);" (assignment_expression "puVar6 = (undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar28 + 0x1ac0ec))(iVar27)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar28 + 0x1ac0ec))(iVar27)" (parenthesized_expression "(**(code **)(puVar28 + 0x1ac0ec))" ( (pointer_expression "**(code **)(puVar28 + 0x1ac0ec)" * (pointer_expression "*(code **)(puVar28 + 0x1ac0ec)" * (cast_expression "(code **)(puVar28 + 0x1ac0ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x1ac0ec)" ( (binary_expression "puVar28 + 0x1ac0ec" identifier + number_literal) ))))) )) (argument_list "(iVar27)" ( identifier ))))) ;) (expression_statement "(**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27);" (call_expression "(**(code **)(puVar28 + 0x1b0600))(puVar6,0,iVar27)" (parenthesized_expression "(**(code **)(puVar28 + 0x1b0600))" ( (pointer_expression "**(code **)(puVar28 + 0x1b0600)" * (pointer_expression "*(code **)(puVar28 + 0x1b0600)" * (cast_expression "(code **)(puVar28 + 0x1b0600)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x1b0600)" ( (binary_expression "puVar28 + 0x1b0600" identifier + number_literal) ))))) )) (argument_list "(puVar6,0,iVar27)" ( identifier , number_literal , identifier ))) ;) }))) (expression_statement "piVar7 = (int *)puVar15[0xc];" (assignment_expression "piVar7 = (int *)puVar15[0xc]" identifier = (cast_expression "(int *)puVar15[0xc]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[0xc]" identifier [ number_literal ]))) ;) (expression_statement "puVar15[0xc] = 0;" (assignment_expression "puVar15[0xc] = 0" (subscript_expression "puVar15[0xc]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar7 != (int *)0x0) {\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }" if (parenthesized_expression "(piVar7 != (int *)0x0)" ( (binary_expression "piVar7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              uVar31 = 0;\n              do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);\n            }" { (expression_statement "uVar31 = 0;" (assignment_expression "uVar31 = 0" identifier = number_literal) ;) (do_statement "do {\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              } while (piVar20 != (int *)0x0);" do (compound_statement "{\n                while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar7 = puVar15[0xc];\n                puVar15[0xc] = piVar7;\n                *puVar19 = puVar15 + 0xc;\n                if (*piVar7 == 0) goto LAB_002863d0;\n                puVar6[uVar31] = piVar7;\n                piVar7 = piVar20;\n                uVar31 = uVar32;\n              }" { (while_statement "while( true ) {\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  if (uVar22 == 0) {\n                    trap(7);\n                  }\n                  uVar32 = (uint)piVar7[3] % uVar22;\n                  puVar19 = puVar6 + uVar32;\n                  piVar20 = (int *)*piVar7;\n                  if ((int *)*puVar19 == (int *)0x0) break;\n                  *piVar7 = *(int *)*puVar19;\n                  *(int **)*puVar19 = piVar7;\n                  uVar32 = uVar31;\nLAB_002863d0:\n                  piVar7 = piVar20;\n                  uVar31 = uVar32;\n                  if (piVar20 == (int *)0x0) goto LAB_0028642c;\n                }" { (if_statement "if (uVar22 == 0) {\n                    trap(7);\n                  }" if (parenthesized_expression "(uVar22 == 0)" ( (binary_expression "uVar22 == 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 "uVar32 = (uint)piVar7[3] % uVar22;" (assignment_expression "uVar32 = (uint)piVar7[3] % uVar22" identifier = (binary_expression "(uint)piVar7[3] % uVar22" (cast_expression "(uint)piVar7[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar7[3]" identifier [ number_literal ])) % identifier)) ;) (expression_statement "puVar19 = puVar6 + uVar32;" (assignment_expression "puVar19 = puVar6 + uVar32" identifier = (binary_expression "puVar6 + uVar32" identifier + identifier)) ;) (expression_statement "piVar20 = (int *)*piVar7;" (assignment_expression "piVar20 = (int *)*piVar7" identifier = (cast_expression "(int *)*piVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar7" * identifier))) ;) (if_statement "if ((int *)*puVar19 == (int *)0x0) break;" if (parenthesized_expression "((int *)*puVar19 == (int *)0x0)" ( (binary_expression "(int *)*puVar19 == (int *)0x0" (cast_expression "(int *)*puVar19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier)) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "*piVar7 = *(int *)*puVar19;" (assignment_expression "*piVar7 = *(int *)*puVar19" (pointer_expression "*piVar7" * identifier) = (pointer_expression "*(int *)*puVar19" * (cast_expression "(int *)*puVar19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier)))) ;) (expression_statement "*(int **)*puVar19 = piVar7;" (assignment_expression "*(int **)*puVar19 = piVar7" (pointer_expression "*(int **)*puVar19" * (cast_expression "(int **)*puVar19" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar19" * identifier))) = identifier) ;) (expression_statement "uVar32 = uVar31;" (assignment_expression "uVar32 = uVar31" identifier = identifier) ;) (labeled_statement "LAB_002863d0:\n                  piVar7 = piVar20;" statement_identifier : (expression_statement "piVar7 = piVar20;" (assignment_expression "piVar7 = piVar20" identifier = identifier) ;)) (expression_statement "uVar31 = uVar32;" (assignment_expression "uVar31 = uVar32" identifier = identifier) ;) (if_statement "if (piVar20 == (int *)0x0) goto LAB_0028642c;" if (parenthesized_expression "(piVar20 == (int *)0x0)" ( (binary_expression "piVar20 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0028642c;" goto statement_identifier ;)) })) (expression_statement "*piVar7 = puVar15[0xc];" (assignment_expression "*piVar7 = puVar15[0xc]" (pointer_expression "*piVar7" * identifier) = (subscript_expression "puVar15[0xc]" identifier [ number_literal ])) ;) (expression_statement "puVar15[0xc] = piVar7;" (assignment_expression "puVar15[0xc] = piVar7" (subscript_expression "puVar15[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar19 = puVar15 + 0xc;" (assignment_expression "*puVar19 = puVar15 + 0xc" (pointer_expression "*puVar19" * identifier) = (binary_expression "puVar15 + 0xc" identifier + number_literal)) ;) (if_statement "if (*piVar7 == 0) goto LAB_002863d0;" if (parenthesized_expression "(*piVar7 == 0)" ( (binary_expression "*piVar7 == 0" (pointer_expression "*piVar7" * identifier) == number_literal) )) (goto_statement "goto LAB_002863d0;" goto statement_identifier ;)) (expression_statement "puVar6[uVar31] = piVar7;" (assignment_expression "puVar6[uVar31] = piVar7" (subscript_expression "puVar6[uVar31]" identifier [ identifier ]) = identifier) ;) (expression_statement "piVar7 = piVar20;" (assignment_expression "piVar7 = piVar20" identifier = identifier) ;) (expression_statement "uVar31 = uVar32;" (assignment_expression "uVar31 = uVar32" identifier = identifier) ;) }) while (parenthesized_expression "(piVar20 != (int *)0x0)" ( (binary_expression "piVar20 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (labeled_statement "LAB_0028642c:\n            if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }" statement_identifier : (if_statement "if ((undefined4 *)puVar15[10] != puVar15 + 0x10) {\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }" if (parenthesized_expression "((undefined4 *)puVar15[10] != puVar15 + 0x10)" ( (binary_expression "(undefined4 *)puVar15[10] != puVar15 + 0x10" (cast_expression "(undefined4 *)puVar15[10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[10]" identifier [ number_literal ])) != (binary_expression "puVar15 + 0x10" identifier + number_literal)) )) (compound_statement "{\n              (**(code **)(puVar28 + 0x1ac03c))();\n            }" { (expression_statement "(**(code **)(puVar28 + 0x1ac03c))();" (call_expression "(**(code **)(puVar28 + 0x1ac03c))()" (parenthesized_expression "(**(code **)(puVar28 + 0x1ac03c))" ( (pointer_expression "**(code **)(puVar28 + 0x1ac03c)" * (pointer_expression "*(code **)(puVar28 + 0x1ac03c)" * (cast_expression "(code **)(puVar28 + 0x1ac03c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x1ac03c)" ( (binary_expression "puVar28 + 0x1ac03c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }))) (if_statement "if (uVar22 == 0) {\n              trap(7);\n            }" if (parenthesized_expression "(uVar22 == 0)" ( (binary_expression "uVar22 == 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 "puVar15[0xb] = uVar22;" (assignment_expression "puVar15[0xb] = uVar22" (subscript_expression "puVar15[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar15[10] = puVar6;" (assignment_expression "puVar15[10] = puVar6" (subscript_expression "puVar15[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5[3] = uVar23;" (assignment_expression "piVar5[3] = uVar23" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar20 = puVar6 + uVar23 % uVar22;" (assignment_expression "piVar20 = puVar6 + uVar23 % uVar22" identifier = (binary_expression "puVar6 + uVar23 % uVar22" identifier + (binary_expression "uVar23 % uVar22" identifier % identifier))) ;) (expression_statement "piVar7 = (int *)*piVar20;" (assignment_expression "piVar7 = (int *)*piVar20" identifier = (cast_expression "(int *)*piVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) ;) (if_statement "if (piVar7 != (int *)0x0) goto LAB_002864c8;" if (parenthesized_expression "(piVar7 != (int *)0x0)" ( (binary_expression "piVar7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002864c8;" goto statement_identifier ;)) (labeled_statement "LAB_00286470:\n            iVar27 = puVar15[0xc];" statement_identifier : (expression_statement "iVar27 = puVar15[0xc];" (assignment_expression "iVar27 = puVar15[0xc]" identifier = (subscript_expression "puVar15[0xc]" identifier [ number_literal ])) ;)) (expression_statement "puVar15[0xc] = piVar5;" (assignment_expression "puVar15[0xc] = piVar5" (subscript_expression "puVar15[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar5 = iVar27;" (assignment_expression "*piVar5 = iVar27" (pointer_expression "*piVar5" * identifier) = identifier) ;) (if_statement "if (iVar27 != 0) {\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }" if (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) (compound_statement "{\n              if (puVar15[0xb] == 0) {\n                trap(7);\n              }\n              puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;\n            }" { (if_statement "if (puVar15[0xb] == 0) {\n                trap(7);\n              }" if (parenthesized_expression "(puVar15[0xb] == 0)" ( (binary_expression "puVar15[0xb] == 0" (subscript_expression "puVar15[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                trap(7);\n              }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5;" (assignment_expression "puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]] = piVar5" (subscript_expression "puVar6[*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]]" identifier [ (binary_expression "*(uint *)(iVar27 + 0xc) % (uint)puVar15[0xb]" (pointer_expression "*(uint *)(iVar27 + 0xc)" * (cast_expression "(uint *)(iVar27 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0xc)" ( (binary_expression "iVar27 + 0xc" identifier + number_literal) )))) % (cast_expression "(uint)puVar15[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar15[0xb]" identifier [ number_literal ]))) ]) = identifier) ;) })) (expression_statement "*piVar20 = (int)(puVar15 + 0xc);" (assignment_expression "*piVar20 = (int)(puVar15 + 0xc)" (pointer_expression "*piVar20" * identifier) = (cast_expression "(int)(puVar15 + 0xc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) )))) ;) }))) (expression_statement "puVar6 = (undefined4 *)puVar15[6];" (assignment_expression "puVar6 = (undefined4 *)puVar15[6]" identifier = (cast_expression "(undefined4 *)puVar15[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[6]" identifier [ number_literal ]))) ;) (expression_statement "puVar26 = (uint *)puVar15[1];" (assignment_expression "puVar26 = (uint *)puVar15[1]" identifier = (cast_expression "(uint *)puVar15[1]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar22 = puVar15[0xd] + 1;" (assignment_expression "uVar22 = puVar15[0xd] + 1" identifier = (binary_expression "puVar15[0xd] + 1" (subscript_expression "puVar15[0xd]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "puVar15[0xd] = uVar22;" (assignment_expression "puVar15[0xd] = uVar22" (subscript_expression "puVar15[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19 = puVar15 + 5;" (assignment_expression "puVar19 = puVar15 + 5" identifier = (binary_expression "puVar15 + 5" identifier + number_literal)) ;) (if_statement "if (puVar6 == (undefined4 *)0x0) goto LAB_002862a4;" if (parenthesized_expression "(puVar6 == (undefined4 *)0x0)" ( (binary_expression "puVar6 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002862a4;" goto statement_identifier ;)) (do_statement "do {\n            uVar22 = puVar6[4];\n            if ((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )) {\n              puVar8 = (undefined4 *)puVar6[3];\n            }\n            else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }\n            puVar6 = puVar8;\n          } while (puVar8 != (undefined4 *)0x0);" do (compound_statement "{\n            uVar22 = puVar6[4];\n            if ((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )) {\n              puVar8 = (undefined4 *)puVar6[3];\n            }\n            else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }\n            puVar6 = puVar8;\n          }" { (expression_statement "uVar22 = puVar6[4];" (assignment_expression "uVar22 = puVar6[4]" identifier = (subscript_expression "puVar6[4]" identifier [ number_literal ])) ;) (if_statement "if ((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )) {\n              puVar8 = (undefined4 *)puVar6[3];\n            }\n            else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }" if (parenthesized_expression "((uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               ))" ( (binary_expression "(uVar22 < uStack_c0) ||\n               ((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )" (parenthesized_expression "(uVar22 < uStack_c0)" ( (binary_expression "uVar22 < uStack_c0" identifier < identifier) )) || (parenthesized_expression "((uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))\n               )" ( (parenthesized_expression "(uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0))" ( (binary_expression "uVar22 == uStack_c0 && (uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0)" (binary_expression "uVar22 == uStack_c0" identifier == identifier) && (parenthesized_expression "(uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0)" ( (comma_expression "uVar22 = (uint)((uint)puVar6[5] < uStack_bc), uVar22 != 0" (assignment_expression "uVar22 = (uint)((uint)puVar6[5] < uStack_bc)" identifier = (call_expression "(uint)((uint)puVar6[5] < uStack_bc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)puVar6[5] < uStack_bc)" ( (binary_expression "(uint)puVar6[5] < uStack_bc" (cast_expression "(uint)puVar6[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar6[5]" identifier [ number_literal ])) < identifier) )))) , (binary_expression "uVar22 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n              puVar8 = (undefined4 *)puVar6[3];\n            }" { (expression_statement "puVar8 = (undefined4 *)puVar6[3];" (assignment_expression "puVar8 = (undefined4 *)puVar6[3]" identifier = (cast_expression "(undefined4 *)puVar6[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }" else (compound_statement "{\n              puVar8 = (undefined4 *)puVar6[2];\n              puVar19 = puVar6;\n            }" { (expression_statement "puVar8 = (undefined4 *)puVar6[2];" (assignment_expression "puVar8 = (undefined4 *)puVar6[2]" identifier = (cast_expression "(undefined4 *)puVar6[2]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[2]" identifier [ number_literal ]))) ;) (expression_statement "puVar19 = puVar6;" (assignment_expression "puVar19 = puVar6" identifier = identifier) ;) }))) (expression_statement "puVar6 = puVar8;" (assignment_expression "puVar6 = puVar8" identifier = identifier) ;) }) while (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (puVar15 + 5 == puVar19) goto LAB_002862a4;" if (parenthesized_expression "(puVar15 + 5 == puVar19)" ( (binary_expression "puVar15 + 5 == puVar19" (binary_expression "puVar15 + 5" identifier + number_literal) == identifier) )) (goto_statement "goto LAB_002862a4;" goto statement_identifier ;)) (expression_statement "uVar22 = (uint)(uStack_c0 < (uint)puVar19[4]);" (assignment_expression "uVar22 = (uint)(uStack_c0 < (uint)puVar19[4])" identifier = (call_expression "(uint)(uStack_c0 < (uint)puVar19[4])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_c0 < (uint)puVar19[4])" ( (binary_expression "uStack_c0 < (uint)puVar19[4]" identifier < (cast_expression "(uint)puVar19[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar19[4]" identifier [ number_literal ]))) )))) ;) (if_statement "if ((uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))))\n          goto LAB_002862a4;" if (parenthesized_expression "((uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))))" ( (binary_expression "(uVar22 != 0) || ((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5])))" (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) || (parenthesized_expression "((uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5])))" ( (parenthesized_expression "(uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5]))" ( (binary_expression "uStack_c0 == puVar19[4] && (uStack_bc < (uint)puVar19[5])" (binary_expression "uStack_c0 == puVar19[4]" identifier == (subscript_expression "puVar19[4]" identifier [ number_literal ])) && (parenthesized_expression "(uStack_bc < (uint)puVar19[5])" ( (binary_expression "uStack_bc < (uint)puVar19[5]" identifier < (cast_expression "(uint)puVar19[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar19[5]" identifier [ number_literal ]))) ))) )) ))) )) (goto_statement "goto LAB_002862a4;" goto statement_identifier ;)) (expression_statement "piVar5 = (int *)puVar19[8];" (assignment_expression "piVar5 = (int *)puVar19[8]" identifier = (cast_expression "(int *)puVar19[8]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar19[8]" identifier [ number_literal ]))) ;) (if_statement "if (piVar5 == (int *)0x0) {\n            puVar30 = (uint *)*puVar15;\n            goto LAB_002862a8;\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            puVar30 = (uint *)*puVar15;\n            goto LAB_002862a8;\n          }" { (expression_statement "puVar30 = (uint *)*puVar15;" (assignment_expression "puVar30 = (uint *)*puVar15" identifier = (cast_expression "(uint *)*puVar15" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (goto_statement "goto LAB_002862a8;" goto statement_identifier ;) })) (do_statement "do {\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);\n            piVar7 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n            if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }\n            piVar5 = (int *)*piVar5;\n          } while (piVar5 != (int *)0x0);" do (compound_statement "{\n            if (puVar15[0xb] == 0) {\n              trap(7);\n            }\n            uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);\n            piVar7 = (int *)((ulonglong)uVar35 >> 0x20);\n            uVar22 = (uint)uVar35;\n            if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }\n            piVar5 = (int *)*piVar5;\n          }" { (if_statement "if (puVar15[0xb] == 0) {\n              trap(7);\n            }" if (parenthesized_expression "(puVar15[0xb] == 0)" ( (binary_expression "puVar15[0xb] == 0" (subscript_expression "puVar15[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              trap(7);\n            }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36);" (assignment_expression "uVar35 = (*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36)" identifier = (call_expression "(*pcVar25)(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar15 + 10,(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb],\n                                piVar5 + 1,piVar5[1] ^ piVar5[2],uVar36)" ( (binary_expression "puVar15 + 10" identifier + number_literal) , (binary_expression "(uint)(piVar5[1] ^ piVar5[2]) % (uint)puVar15[0xb]" (call_expression "(uint)(piVar5[1] ^ piVar5[2])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar5[1] ^ piVar5[2])" ( (binary_expression "piVar5[1] ^ piVar5[2]" (subscript_expression "piVar5[1]" identifier [ number_literal ]) ^ (subscript_expression "piVar5[2]" identifier [ number_literal ])) ))) % (cast_expression "(uint)puVar15[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar15[0xb]" identifier [ number_literal ]))) , (binary_expression "piVar5 + 1" identifier + number_literal) , (binary_expression "piVar5[1] ^ piVar5[2]" (subscript_expression "piVar5[1]" identifier [ number_literal ]) ^ (subscript_expression "piVar5[2]" identifier [ number_literal ])) , identifier )))) ;) (expression_statement "piVar7 = (int *)((ulonglong)uVar35 >> 0x20);" (assignment_expression "piVar7 = (int *)((ulonglong)uVar35 >> 0x20)" identifier = (cast_expression "(int *)((ulonglong)uVar35 >> 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar35 >> 0x20)" ( (binary_expression "(ulonglong)uVar35 >> 0x20" (cast_expression "(ulonglong)uVar35" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar22 = (uint)uVar35;" (assignment_expression "uVar22 = (uint)uVar35" identifier = (cast_expression "(uint)uVar35" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }" if (parenthesized_expression "((piVar7 == (int *)0x0) || (*piVar7 == 0))" ( (binary_expression "(piVar7 == (int *)0x0) || (*piVar7 == 0)" (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar7 == 0)" ( (binary_expression "*piVar7 == 0" (pointer_expression "*piVar7" * identifier) == number_literal) ))) )) (compound_statement "{\n              if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }\n            }" { (if_statement "if (puVar26 == (uint *)puVar15[2]) {\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }\n              else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }" if (parenthesized_expression "(puVar26 == (uint *)puVar15[2])" ( (binary_expression "puVar26 == (uint *)puVar15[2]" identifier == (cast_expression "(uint *)puVar15[2]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                (*pcStack_b8)(puVar15,puVar26,piVar5 + 1);\n                puVar26 = (uint *)puVar15[1];\n                uVar22 = extraout_v1_00;\n              }" { (expression_statement "(*pcStack_b8)(puVar15,puVar26,piVar5 + 1);" (call_expression "(*pcStack_b8)(puVar15,puVar26,piVar5 + 1)" (parenthesized_expression "(*pcStack_b8)" ( (pointer_expression "*pcStack_b8" * identifier) )) (argument_list "(puVar15,puVar26,piVar5 + 1)" ( identifier , identifier , (binary_expression "piVar5 + 1" identifier + number_literal) ))) ;) (expression_statement "puVar26 = (uint *)puVar15[1];" (assignment_expression "puVar26 = (uint *)puVar15[1]" identifier = (cast_expression "(uint *)puVar15[1]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar22 = extraout_v1_00;" (assignment_expression "uVar22 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }" else (compound_statement "{\n                uVar22 = piVar5[1];\n                uVar23 = piVar5[2];\n                *puVar26 = uVar22;\n                puVar26[1] = uVar23;\n                puVar15[1] = puVar26 + 2;\n                puVar26 = puVar26 + 2;\n              }" { (expression_statement "uVar22 = piVar5[1];" (assignment_expression "uVar22 = piVar5[1]" identifier = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (expression_statement "uVar23 = piVar5[2];" (assignment_expression "uVar23 = piVar5[2]" identifier = (subscript_expression "piVar5[2]" identifier [ number_literal ])) ;) (expression_statement "*puVar26 = uVar22;" (assignment_expression "*puVar26 = uVar22" (pointer_expression "*puVar26" * identifier) = identifier) ;) (expression_statement "puVar26[1] = uVar23;" (assignment_expression "puVar26[1] = uVar23" (subscript_expression "puVar26[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar15[1] = puVar26 + 2;" (assignment_expression "puVar15[1] = puVar26 + 2" (subscript_expression "puVar15[1]" identifier [ number_literal ]) = (binary_expression "puVar26 + 2" identifier + number_literal)) ;) (expression_statement "puVar26 = puVar26 + 2;" (assignment_expression "puVar26 = puVar26 + 2" identifier = (binary_expression "puVar26 + 2" identifier + number_literal)) ;) }))) })) (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) }) while (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)) )) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (if_statement "if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar4 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar4);\n      }" if (parenthesized_expression "(*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195)" * (cast_expression "(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195" (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar4 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar4);\n      }" { (expression_statement "uVar4 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x26c4);" (assignment_expression "uVar4 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x26c4)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x26c4)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__0043226c + 0x26c4)" ( (binary_expression "PTR_s__0043226c + 0x26c4" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_gold_warning_0043245c)(uVar4);" (call_expression "(*(code *)PTR_gold_warning_0043245c)(uVar4)" (parenthesized_expression "(*(code *)PTR_gold_warning_0043245c)" ( (pointer_expression "*(code *)PTR_gold_warning_0043245c" * (cast_expression "(code *)PTR_gold_warning_0043245c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4)" ( identifier ))) ;) })) (goto_statement "goto LAB_00286094;" goto statement_identifier ;) })) (expression_statement "puVar3 = eei->result_alignment_pointer;" (assignment_expression "puVar3 = eei->result_alignment_pointer" identifier = (field_expression "eei->result_alignment_pointer" identifier -> field_identifier)) ;) }))) (expression_statement "uVar2 = CONCAT44(uVar23,local_28);" (assignment_expression "uVar2 = CONCAT44(uVar23,local_28)" identifier = (call_expression "CONCAT44(uVar23,local_28)" identifier (argument_list "(uVar23,local_28)" ( identifier , identifier )))) ;) (if_statement "if (puVar3 != (uint64_t *)0x0) {\n    uVar13 = *(uint *)puVar3;\n    uVar17 = (uint)*puVar3;\n    uVar31 = left_alignment._0_4_;\n    uVar32 = left_alignment._4_4_;\n    uVar14 = uVar13;\n    uVar18 = uVar17;\n    if ((uVar22 < uVar23) ||\n       (((uVar23 == uVar22 && ((uint)uVar33 < local_28)) ||\n        (uVar31 = right_alignment._0_4_, uVar32 = right_alignment._4_4_, uVar2 < uVar33)))) {\n      uVar14 = uVar31;\n      uVar18 = uVar32;\n      if (((uVar31 <= uVar13) && (uVar14 = uVar13, uVar18 = uVar17, uVar31 == uVar13)) &&\n         (uVar17 < uVar32)) {\n        uVar14 = uVar31;\n        uVar18 = uVar32;\n      }\n    }\n    else {\n      if ((right_alignment._0_4_ <= left_alignment._0_4_) &&\n         ((right_alignment._0_4_ != left_alignment._0_4_ ||\n          (right_alignment._4_4_ <= left_alignment._4_4_)))) {\n        right_alignment._0_4_ = left_alignment._0_4_;\n        right_alignment._4_4_ = left_alignment._4_4_;\n        result_alignment_pointer = &left_alignment;\n      }\n      if ((uVar13 < right_alignment._0_4_) ||\n         ((right_alignment._0_4_ == uVar13 && (uVar17 < right_alignment._4_4_)))) {\n        uVar34 = *result_alignment_pointer;\n        *(uint *)puVar3 = *(uint *)result_alignment_pointer;\n        *(uint *)((int)puVar3 + 4) = (uint)uVar34;\n        goto LAB_002860cc;\n      }\n    }\n    *(uint *)puVar3 = uVar14;\n    *(uint *)((int)puVar3 + 4) = uVar18;\n  }" if (parenthesized_expression "(puVar3 != (uint64_t *)0x0)" ( (binary_expression "puVar3 != (uint64_t *)0x0" identifier != (cast_expression "(uint64_t *)0x0" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar13 = *(uint *)puVar3;\n    uVar17 = (uint)*puVar3;\n    uVar31 = left_alignment._0_4_;\n    uVar32 = left_alignment._4_4_;\n    uVar14 = uVar13;\n    uVar18 = uVar17;\n    if ((uVar22 < uVar23) ||\n       (((uVar23 == uVar22 && ((uint)uVar33 < local_28)) ||\n        (uVar31 = right_alignment._0_4_, uVar32 = right_alignment._4_4_, uVar2 < uVar33)))) {\n      uVar14 = uVar31;\n      uVar18 = uVar32;\n      if (((uVar31 <= uVar13) && (uVar14 = uVar13, uVar18 = uVar17, uVar31 == uVar13)) &&\n         (uVar17 < uVar32)) {\n        uVar14 = uVar31;\n        uVar18 = uVar32;\n      }\n    }\n    else {\n      if ((right_alignment._0_4_ <= left_alignment._0_4_) &&\n         ((right_alignment._0_4_ != left_alignment._0_4_ ||\n          (right_alignment._4_4_ <= left_alignment._4_4_)))) {\n        right_alignment._0_4_ = left_alignment._0_4_;\n        right_alignment._4_4_ = left_alignment._4_4_;\n        result_alignment_pointer = &left_alignment;\n      }\n      if ((uVar13 < right_alignment._0_4_) ||\n         ((right_alignment._0_4_ == uVar13 && (uVar17 < right_alignment._4_4_)))) {\n        uVar34 = *result_alignment_pointer;\n        *(uint *)puVar3 = *(uint *)result_alignment_pointer;\n        *(uint *)((int)puVar3 + 4) = (uint)uVar34;\n        goto LAB_002860cc;\n      }\n    }\n    *(uint *)puVar3 = uVar14;\n    *(uint *)((int)puVar3 + 4) = uVar18;\n  }" { (expression_statement "uVar13 = *(uint *)puVar3;" (assignment_expression "uVar13 = *(uint *)puVar3" identifier = (pointer_expression "*(uint *)puVar3" * (cast_expression "(uint *)puVar3" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar17 = (uint)*puVar3;" (assignment_expression "uVar17 = (uint)*puVar3" identifier = (binary_expression "(uint)*puVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uVar31 = left_alignment._0_4_;" (assignment_expression "uVar31 = left_alignment._0_4_" identifier = (field_expression "left_alignment._0_4_" identifier . field_identifier)) ;) (expression_statement "uVar32 = left_alignment._4_4_;" (assignment_expression "uVar32 = left_alignment._4_4_" identifier = (field_expression "left_alignment._4_4_" identifier . field_identifier)) ;) (expression_statement "uVar14 = uVar13;" (assignment_expression "uVar14 = uVar13" identifier = identifier) ;) (expression_statement "uVar18 = uVar17;" (assignment_expression "uVar18 = uVar17" identifier = identifier) ;) (if_statement "if ((uVar22 < uVar23) ||\n       (((uVar23 == uVar22 && ((uint)uVar33 < local_28)) ||\n        (uVar31 = right_alignment._0_4_, uVar32 = right_alignment._4_4_, uVar2 < uVar33)))) {\n      uVar14 = uVar31;\n      uVar18 = uVar32;\n      if (((uVar31 <= uVar13) && (uVar14 = uVar13, uVar18 = uVar17, uVar31 == uVar13)) &&\n         (uVar17 < uVar32)) {\n        uVar14 = uVar31;\n        uVar18 = uVar32;\n      }\n    }\n    else {\n      if ((right_alignment._0_4_ <= left_alignment._0_4_) &&\n         ((right_alignment._0_4_ != left_alignment._0_4_ ||\n          (right_alignment._4_4_ <= left_alignment._4_4_)))) {\n        right_alignment._0_4_ = left_alignment._0_4_;\n        right_alignment._4_4_ = left_alignment._4_4_;\n        result_alignment_pointer = &left_alignment;\n      }\n      if ((uVar13 < right_alignment._0_4_) ||\n         ((right_alignment._0_4_ == uVar13 && (uVar17 < right_alignment._4_4_)))) {\n        uVar34 = *result_alignment_pointer;\n        *(uint *)puVar3 = *(uint *)result_alignment_pointer;\n        *(uint *)((int)puVar3 + 4) = (uint)uVar34;\n        goto LAB_002860cc;\n      }\n    }" if (parenthesized_expression "((uVar22 < uVar23) ||\n       (((uVar23 == uVar22 && ((uint)uVar33 < local_28)) ||\n        (uVar31 = right_alignment._0_4_, uVar32 = right_alignment._4_4_, uVar2 < uVar33))))" ( (binary_expression "(uVar22 < uVar23) ||\n       (((uVar23 == uVar22 && ((uint)uVar33 < local_28)) ||\n        (uVar31 = right_alignment._0_4_, uVar32 = right_alignment._4_4_, uVar2 < uVar33)))" (parenthesized_expression "(uVar22 < uVar23)" ( (binary_expression "uVar22 < uVar23" identifier < identifier) )) || (parenthesized_expression "(((uVar23 == uVar22 && ((uint)uVar33 < local_28)) ||\n        (uVar31 = right_alignment._0_4_, uVar32 = right_alignment._4_4_, uVar2 < uVar33)))" ( (parenthesized_expression "((uVar23 == uVar22 && ((uint)uVar33 < local_28)) ||\n        (uVar31 = right_alignment._0_4_, uVar32 = right_alignment._4_4_, uVar2 < uVar33))" ( (binary_expression "(uVar23 == uVar22 && ((uint)uVar33 < local_28)) ||\n        (uVar31 = right_alignment._0_4_, uVar32 = right_alignment._4_4_, uVar2 < uVar33)" (parenthesized_expression "(uVar23 == uVar22 && ((uint)uVar33 < local_28))" ( (binary_expression "uVar23 == uVar22 && ((uint)uVar33 < local_28)" (binary_expression "uVar23 == uVar22" identifier == identifier) && (parenthesized_expression "((uint)uVar33 < local_28)" ( (binary_expression "(uint)uVar33 < local_28" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))) )) || (parenthesized_expression "(uVar31 = right_alignment._0_4_, uVar32 = right_alignment._4_4_, uVar2 < uVar33)" ( (comma_expression "uVar31 = right_alignment._0_4_, uVar32 = right_alignment._4_4_, uVar2 < uVar33" (assignment_expression "uVar31 = right_alignment._0_4_" identifier = (field_expression "right_alignment._0_4_" identifier . field_identifier)) , (comma_expression "uVar32 = right_alignment._4_4_, uVar2 < uVar33" (assignment_expression "uVar32 = right_alignment._4_4_" identifier = (field_expression "right_alignment._4_4_" identifier . field_identifier)) , (binary_expression "uVar2 < uVar33" identifier < identifier))) ))) )) ))) )) (compound_statement "{\n      uVar14 = uVar31;\n      uVar18 = uVar32;\n      if (((uVar31 <= uVar13) && (uVar14 = uVar13, uVar18 = uVar17, uVar31 == uVar13)) &&\n         (uVar17 < uVar32)) {\n        uVar14 = uVar31;\n        uVar18 = uVar32;\n      }\n    }" { (expression_statement "uVar14 = uVar31;" (assignment_expression "uVar14 = uVar31" identifier = identifier) ;) (expression_statement "uVar18 = uVar32;" (assignment_expression "uVar18 = uVar32" identifier = identifier) ;) (if_statement "if (((uVar31 <= uVar13) && (uVar14 = uVar13, uVar18 = uVar17, uVar31 == uVar13)) &&\n         (uVar17 < uVar32)) {\n        uVar14 = uVar31;\n        uVar18 = uVar32;\n      }" if (parenthesized_expression "(((uVar31 <= uVar13) && (uVar14 = uVar13, uVar18 = uVar17, uVar31 == uVar13)) &&\n         (uVar17 < uVar32))" ( (binary_expression "((uVar31 <= uVar13) && (uVar14 = uVar13, uVar18 = uVar17, uVar31 == uVar13)) &&\n         (uVar17 < uVar32)" (parenthesized_expression "((uVar31 <= uVar13) && (uVar14 = uVar13, uVar18 = uVar17, uVar31 == uVar13))" ( (binary_expression "(uVar31 <= uVar13) && (uVar14 = uVar13, uVar18 = uVar17, uVar31 == uVar13)" (parenthesized_expression "(uVar31 <= uVar13)" ( (binary_expression "uVar31 <= uVar13" identifier <= identifier) )) && (parenthesized_expression "(uVar14 = uVar13, uVar18 = uVar17, uVar31 == uVar13)" ( (comma_expression "uVar14 = uVar13, uVar18 = uVar17, uVar31 == uVar13" (assignment_expression "uVar14 = uVar13" identifier = identifier) , (comma_expression "uVar18 = uVar17, uVar31 == uVar13" (assignment_expression "uVar18 = uVar17" identifier = identifier) , (binary_expression "uVar31 == uVar13" identifier == identifier))) ))) )) && (parenthesized_expression "(uVar17 < uVar32)" ( (binary_expression "uVar17 < uVar32" identifier < identifier) ))) )) (compound_statement "{\n        uVar14 = uVar31;\n        uVar18 = uVar32;\n      }" { (expression_statement "uVar14 = uVar31;" (assignment_expression "uVar14 = uVar31" identifier = identifier) ;) (expression_statement "uVar18 = uVar32;" (assignment_expression "uVar18 = uVar32" identifier = identifier) ;) })) }) (else_clause "else {\n      if ((right_alignment._0_4_ <= left_alignment._0_4_) &&\n         ((right_alignment._0_4_ != left_alignment._0_4_ ||\n          (right_alignment._4_4_ <= left_alignment._4_4_)))) {\n        right_alignment._0_4_ = left_alignment._0_4_;\n        right_alignment._4_4_ = left_alignment._4_4_;\n        result_alignment_pointer = &left_alignment;\n      }\n      if ((uVar13 < right_alignment._0_4_) ||\n         ((right_alignment._0_4_ == uVar13 && (uVar17 < right_alignment._4_4_)))) {\n        uVar34 = *result_alignment_pointer;\n        *(uint *)puVar3 = *(uint *)result_alignment_pointer;\n        *(uint *)((int)puVar3 + 4) = (uint)uVar34;\n        goto LAB_002860cc;\n      }\n    }" else (compound_statement "{\n      if ((right_alignment._0_4_ <= left_alignment._0_4_) &&\n         ((right_alignment._0_4_ != left_alignment._0_4_ ||\n          (right_alignment._4_4_ <= left_alignment._4_4_)))) {\n        right_alignment._0_4_ = left_alignment._0_4_;\n        right_alignment._4_4_ = left_alignment._4_4_;\n        result_alignment_pointer = &left_alignment;\n      }\n      if ((uVar13 < right_alignment._0_4_) ||\n         ((right_alignment._0_4_ == uVar13 && (uVar17 < right_alignment._4_4_)))) {\n        uVar34 = *result_alignment_pointer;\n        *(uint *)puVar3 = *(uint *)result_alignment_pointer;\n        *(uint *)((int)puVar3 + 4) = (uint)uVar34;\n        goto LAB_002860cc;\n      }\n    }" { (if_statement "if ((right_alignment._0_4_ <= left_alignment._0_4_) &&\n         ((right_alignment._0_4_ != left_alignment._0_4_ ||\n          (right_alignment._4_4_ <= left_alignment._4_4_)))) {\n        right_alignment._0_4_ = left_alignment._0_4_;\n        right_alignment._4_4_ = left_alignment._4_4_;\n        result_alignment_pointer = &left_alignment;\n      }" if (parenthesized_expression "((right_alignment._0_4_ <= left_alignment._0_4_) &&\n         ((right_alignment._0_4_ != left_alignment._0_4_ ||\n          (right_alignment._4_4_ <= left_alignment._4_4_))))" ( (binary_expression "(right_alignment._0_4_ <= left_alignment._0_4_) &&\n         ((right_alignment._0_4_ != left_alignment._0_4_ ||\n          (right_alignment._4_4_ <= left_alignment._4_4_)))" (parenthesized_expression "(right_alignment._0_4_ <= left_alignment._0_4_)" ( (binary_expression "right_alignment._0_4_ <= left_alignment._0_4_" (field_expression "right_alignment._0_4_" identifier . field_identifier) <= (field_expression "left_alignment._0_4_" identifier . field_identifier)) )) && (parenthesized_expression "((right_alignment._0_4_ != left_alignment._0_4_ ||\n          (right_alignment._4_4_ <= left_alignment._4_4_)))" ( (parenthesized_expression "(right_alignment._0_4_ != left_alignment._0_4_ ||\n          (right_alignment._4_4_ <= left_alignment._4_4_))" ( (binary_expression "right_alignment._0_4_ != left_alignment._0_4_ ||\n          (right_alignment._4_4_ <= left_alignment._4_4_)" (binary_expression "right_alignment._0_4_ != left_alignment._0_4_" (field_expression "right_alignment._0_4_" identifier . field_identifier) != (field_expression "left_alignment._0_4_" identifier . field_identifier)) || (parenthesized_expression "(right_alignment._4_4_ <= left_alignment._4_4_)" ( (binary_expression "right_alignment._4_4_ <= left_alignment._4_4_" (field_expression "right_alignment._4_4_" identifier . field_identifier) <= (field_expression "left_alignment._4_4_" identifier . field_identifier)) ))) )) ))) )) (compound_statement "{\n        right_alignment._0_4_ = left_alignment._0_4_;\n        right_alignment._4_4_ = left_alignment._4_4_;\n        result_alignment_pointer = &left_alignment;\n      }" { (expression_statement "right_alignment._0_4_ = left_alignment._0_4_;" (assignment_expression "right_alignment._0_4_ = left_alignment._0_4_" (field_expression "right_alignment._0_4_" identifier . field_identifier) = (field_expression "left_alignment._0_4_" identifier . field_identifier)) ;) (expression_statement "right_alignment._4_4_ = left_alignment._4_4_;" (assignment_expression "right_alignment._4_4_ = left_alignment._4_4_" (field_expression "right_alignment._4_4_" identifier . field_identifier) = (field_expression "left_alignment._4_4_" identifier . field_identifier)) ;) (expression_statement "result_alignment_pointer = &left_alignment;" (assignment_expression "result_alignment_pointer = &left_alignment" identifier = (pointer_expression "&left_alignment" & identifier)) ;) })) (if_statement "if ((uVar13 < right_alignment._0_4_) ||\n         ((right_alignment._0_4_ == uVar13 && (uVar17 < right_alignment._4_4_)))) {\n        uVar34 = *result_alignment_pointer;\n        *(uint *)puVar3 = *(uint *)result_alignment_pointer;\n        *(uint *)((int)puVar3 + 4) = (uint)uVar34;\n        goto LAB_002860cc;\n      }" if (parenthesized_expression "((uVar13 < right_alignment._0_4_) ||\n         ((right_alignment._0_4_ == uVar13 && (uVar17 < right_alignment._4_4_))))" ( (binary_expression "(uVar13 < right_alignment._0_4_) ||\n         ((right_alignment._0_4_ == uVar13 && (uVar17 < right_alignment._4_4_)))" (parenthesized_expression "(uVar13 < right_alignment._0_4_)" ( (binary_expression "uVar13 < right_alignment._0_4_" identifier < (field_expression "right_alignment._0_4_" identifier . field_identifier)) )) || (parenthesized_expression "((right_alignment._0_4_ == uVar13 && (uVar17 < right_alignment._4_4_)))" ( (parenthesized_expression "(right_alignment._0_4_ == uVar13 && (uVar17 < right_alignment._4_4_))" ( (binary_expression "right_alignment._0_4_ == uVar13 && (uVar17 < right_alignment._4_4_)" (binary_expression "right_alignment._0_4_ == uVar13" (field_expression "right_alignment._0_4_" identifier . field_identifier) == identifier) && (parenthesized_expression "(uVar17 < right_alignment._4_4_)" ( (binary_expression "uVar17 < right_alignment._4_4_" identifier < (field_expression "right_alignment._4_4_" identifier . field_identifier)) ))) )) ))) )) (compound_statement "{\n        uVar34 = *result_alignment_pointer;\n        *(uint *)puVar3 = *(uint *)result_alignment_pointer;\n        *(uint *)((int)puVar3 + 4) = (uint)uVar34;\n        goto LAB_002860cc;\n      }" { (expression_statement "uVar34 = *result_alignment_pointer;" (assignment_expression "uVar34 = *result_alignment_pointer" identifier = (pointer_expression "*result_alignment_pointer" * identifier)) ;) (expression_statement "*(uint *)puVar3 = *(uint *)result_alignment_pointer;" (assignment_expression "*(uint *)puVar3 = *(uint *)result_alignment_pointer" (pointer_expression "*(uint *)puVar3" * (cast_expression "(uint *)puVar3" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(uint *)result_alignment_pointer" * (cast_expression "(uint *)result_alignment_pointer" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(uint *)((int)puVar3 + 4) = (uint)uVar34;" (assignment_expression "*(uint *)((int)puVar3 + 4) = (uint)uVar34" (pointer_expression "*(uint *)((int)puVar3 + 4)" * (cast_expression "(uint *)((int)puVar3 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + 4)" ( (binary_expression "(int)puVar3 + 4" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(uint)uVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_002860cc;" goto statement_identifier ;) })) }))) (expression_statement "*(uint *)puVar3 = uVar14;" (assignment_expression "*(uint *)puVar3 = uVar14" (pointer_expression "*(uint *)puVar3" * (cast_expression "(uint *)puVar3" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(uint *)((int)puVar3 + 4) = uVar18;" (assignment_expression "*(uint *)((int)puVar3 + 4) = uVar18" (pointer_expression "*(uint *)((int)puVar3 + 4)" * (cast_expression "(uint *)((int)puVar3 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + 4)" ( (binary_expression "(int)puVar3 + 4" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) })) (labeled_statement "LAB_002860cc:\n  uVar1 = uVar33;" statement_identifier : (expression_statement "uVar1 = uVar33;" (assignment_expression "uVar1 = uVar33" identifier = identifier) ;)) (if_statement "if (((uVar22 < uVar23) || (uVar1 = uVar2, uVar23 != uVar22)) ||\n     (uVar1 = uVar33, (uint)uVar33 < local_28)) {\n    uVar2 = uVar1;\n  }" if (parenthesized_expression "(((uVar22 < uVar23) || (uVar1 = uVar2, uVar23 != uVar22)) ||\n     (uVar1 = uVar33, (uint)uVar33 < local_28))" ( (binary_expression "((uVar22 < uVar23) || (uVar1 = uVar2, uVar23 != uVar22)) ||\n     (uVar1 = uVar33, (uint)uVar33 < local_28)" (parenthesized_expression "((uVar22 < uVar23) || (uVar1 = uVar2, uVar23 != uVar22))" ( (binary_expression "(uVar22 < uVar23) || (uVar1 = uVar2, uVar23 != uVar22)" (parenthesized_expression "(uVar22 < uVar23)" ( (binary_expression "uVar22 < uVar23" identifier < identifier) )) || (parenthesized_expression "(uVar1 = uVar2, uVar23 != uVar22)" ( (comma_expression "uVar1 = uVar2, uVar23 != uVar22" (assignment_expression "uVar1 = uVar2" identifier = identifier) , (binary_expression "uVar23 != uVar22" identifier != identifier)) ))) )) || (parenthesized_expression "(uVar1 = uVar33, (uint)uVar33 < local_28)" ( (comma_expression "uVar1 = uVar33, (uint)uVar33 < local_28" (assignment_expression "uVar1 = uVar33" identifier = identifier) , (binary_expression "(uint)uVar33 < local_28" (cast_expression "(uint)uVar33" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier)) ))) )) (compound_statement "{\n    uVar2 = uVar1;\n  }" { (expression_statement "uVar2 = uVar1;" (assignment_expression "uVar2 = uVar1" identifier = identifier) ;) })) (return_statement "return uVar2;" return identifier ;) })))
(translation_unit "undefined4 * FUN_00285f50(int param_1,undefined4 *param_2)\n\n{\n  uint *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  uint uVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  char *pcVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  code *pcVar18;\n  uint *puVar19;\n  int *piVar20;\n  int iVar21;\n  undefined *puVar22;\n  code *pcVar23;\n  int *piVar24;\n  uint uVar25;\n  uint uVar26;\n  ulonglong uVar27;\n  undefined8 uVar28;\n  undefined4 uVar29;\n  char acStack_c8 [4];\n  uint uStack_c4;\n  uint uStack_c0;\n  uint uStack_bc;\n  code *pcStack_b8;\n  undefined4 *puStack_b0;\n  undefined4 *puStack_ac;\n  ulonglong uStack_a8;\n  uint *puStack_a0;\n  uint *puStack_9c;\n  int iStack_98;\n  undefined4 in_stack_ffffff8c;\n  uint local_40;\n  uint local_3c;\n  uint local_38;\n  uint local_34;\n  int local_30;\n  int local_2c;\n  uint local_28;\n  \n  puVar19 = &local_40;\n  uVar27 = gold::Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0);\n  puVar11 = (undefined4 *)(uVar27 >> 0x20);\n  uVar28 = gold::Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0);\n  puVar4 = (undefined4 *)((ulonglong)uVar28 >> 0x20);\n  local_28 = (uint)uVar28;\n  if (local_2c == local_30) {\n    if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }\nLAB_00286094:\n    puVar1 = (uint *)param_2[8];\n  }\n  else {\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }\n  if (puVar1 != (uint *)0x0) {\n    uVar9 = *puVar1;\n    uVar13 = puVar1[1];\n    uVar14 = local_38;\n    uVar25 = local_34;\n    uVar10 = uVar9;\n    uVar26 = uVar13;\n    if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }\n    *puVar1 = uVar10;\n    puVar1[1] = uVar26;\n  }\nLAB_002860cc:\n  puVar15 = puVar11;\n  if (((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28)) {\n    puVar4 = puVar15;\n  }\n  return puVar4;\n}\n\n" (function_definition "undefined4 * FUN_00285f50(int param_1,undefined4 *param_2)\n\n{\n  uint *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  uint uVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  char *pcVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  code *pcVar18;\n  uint *puVar19;\n  int *piVar20;\n  int iVar21;\n  undefined *puVar22;\n  code *pcVar23;\n  int *piVar24;\n  uint uVar25;\n  uint uVar26;\n  ulonglong uVar27;\n  undefined8 uVar28;\n  undefined4 uVar29;\n  char acStack_c8 [4];\n  uint uStack_c4;\n  uint uStack_c0;\n  uint uStack_bc;\n  code *pcStack_b8;\n  undefined4 *puStack_b0;\n  undefined4 *puStack_ac;\n  ulonglong uStack_a8;\n  uint *puStack_a0;\n  uint *puStack_9c;\n  int iStack_98;\n  undefined4 in_stack_ffffff8c;\n  uint local_40;\n  uint local_3c;\n  uint local_38;\n  uint local_34;\n  int local_30;\n  int local_2c;\n  uint local_28;\n  \n  puVar19 = &local_40;\n  uVar27 = gold::Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0);\n  puVar11 = (undefined4 *)(uVar27 >> 0x20);\n  uVar28 = gold::Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0);\n  puVar4 = (undefined4 *)((ulonglong)uVar28 >> 0x20);\n  local_28 = (uint)uVar28;\n  if (local_2c == local_30) {\n    if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }\nLAB_00286094:\n    puVar1 = (uint *)param_2[8];\n  }\n  else {\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }\n  if (puVar1 != (uint *)0x0) {\n    uVar9 = *puVar1;\n    uVar13 = puVar1[1];\n    uVar14 = local_38;\n    uVar25 = local_34;\n    uVar10 = uVar9;\n    uVar26 = uVar13;\n    if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }\n    *puVar1 = uVar10;\n    puVar1[1] = uVar26;\n  }\nLAB_002860cc:\n  puVar15 = puVar11;\n  if (((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28)) {\n    puVar4 = puVar15;\n  }\n  return puVar4;\n}" type_identifier (pointer_declarator "* FUN_00285f50(int param_1,undefined4 *param_2)" * (function_declarator "FUN_00285f50(int param_1,undefined4 *param_2)" identifier (parameter_list "(int param_1,undefined4 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  uint *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  uint uVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  char *pcVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  code *pcVar18;\n  uint *puVar19;\n  int *piVar20;\n  int iVar21;\n  undefined *puVar22;\n  code *pcVar23;\n  int *piVar24;\n  uint uVar25;\n  uint uVar26;\n  ulonglong uVar27;\n  undefined8 uVar28;\n  undefined4 uVar29;\n  char acStack_c8 [4];\n  uint uStack_c4;\n  uint uStack_c0;\n  uint uStack_bc;\n  code *pcStack_b8;\n  undefined4 *puStack_b0;\n  undefined4 *puStack_ac;\n  ulonglong uStack_a8;\n  uint *puStack_a0;\n  uint *puStack_9c;\n  int iStack_98;\n  undefined4 in_stack_ffffff8c;\n  uint local_40;\n  uint local_3c;\n  uint local_38;\n  uint local_34;\n  int local_30;\n  int local_2c;\n  uint local_28;\n  \n  puVar19 = &local_40;\n  uVar27 = gold::Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0);\n  puVar11 = (undefined4 *)(uVar27 >> 0x20);\n  uVar28 = gold::Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0);\n  puVar4 = (undefined4 *)((ulonglong)uVar28 >> 0x20);\n  local_28 = (uint)uVar28;\n  if (local_2c == local_30) {\n    if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }\nLAB_00286094:\n    puVar1 = (uint *)param_2[8];\n  }\n  else {\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }\n  if (puVar1 != (uint *)0x0) {\n    uVar9 = *puVar1;\n    uVar13 = puVar1[1];\n    uVar14 = local_38;\n    uVar25 = local_34;\n    uVar10 = uVar9;\n    uVar26 = uVar13;\n    if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }\n    *puVar1 = uVar10;\n    puVar1[1] = uVar26;\n  }\nLAB_002860cc:\n  puVar15 = puVar11;\n  if (((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28)) {\n    puVar4 = puVar15;\n  }\n  return puVar4;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (declaration "uint *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "ulonglong uVar27;" type_identifier identifier ;) (declaration "undefined8 uVar28;" type_identifier identifier ;) (declaration "undefined4 uVar29;" type_identifier identifier ;) (declaration "char acStack_c8 [4];" primitive_type (array_declarator "acStack_c8 [4]" identifier [ number_literal ]) ;) (declaration "uint uStack_c4;" type_identifier identifier ;) (declaration "uint uStack_c0;" type_identifier identifier ;) (declaration "uint uStack_bc;" type_identifier identifier ;) (declaration "code *pcStack_b8;" type_identifier (pointer_declarator "*pcStack_b8" * identifier) ;) (declaration "undefined4 *puStack_b0;" type_identifier (pointer_declarator "*puStack_b0" * identifier) ;) (declaration "undefined4 *puStack_ac;" type_identifier (pointer_declarator "*puStack_ac" * identifier) ;) (declaration "ulonglong uStack_a8;" type_identifier identifier ;) (declaration "uint *puStack_a0;" type_identifier (pointer_declarator "*puStack_a0" * identifier) ;) (declaration "uint *puStack_9c;" type_identifier (pointer_declarator "*puStack_9c" * identifier) ;) (declaration "int iStack_98;" primitive_type identifier ;) (declaration "undefined4 in_stack_ffffff8c;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (expression_statement "puVar19 = &local_40;" (assignment_expression "puVar19 = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (ERROR "uVar27 = gold::" (assignment_expression "uVar27 = gold" identifier = identifier) : :) (labeled_statement "Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0);" statement_identifier : (ERROR ":" :) (expression_statement "eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0);" (call_expression "eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0)" identifier (argument_list "(*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0)" ( (pointer_expression "*(Symbol_table **)(param_1 + 4)" * (cast_expression "(Symbol_table **)(param_1 + 4)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , (cast_expression "(Layout *)*param_2" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) , (call_expression "SUB41(param_2[1],0)" identifier (argument_list "(param_2[1],0)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , number_literal ))) , (pointer_expression "*(bool *)(param_2 + 2)" * (cast_expression "(bool *)(param_2 + 2)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 2)" ( (binary_expression "param_2 + 2" identifier + number_literal) )))) , (cast_expression "(ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" ( (type_descriptor "ulonglong" type_identifier) ) (call_expression "CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" identifier (argument_list "(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" ( (pointer_expression "*(undefined1 *)((int)param_2 + 9)" * (cast_expression "(undefined1 *)((int)param_2 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 9)" ( (binary_expression "(int)param_2 + 9" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier )))) , (cast_expression "(Output_section *)param_2[4]" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[4]" identifier [ number_literal ])) , (cast_expression "(Output_section **)param_2[5]" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_2[5]" identifier [ number_literal ])) , (cast_expression "(ulonglong *)param_2[6]" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[6]" identifier [ number_literal ])) , (cast_expression "(STT *)&local_2c" ( (type_descriptor "STT *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_2c" & identifier)) , (cast_expression "(STV *)&local_38" ( (type_descriptor "STV *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_38" & identifier)) , (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , false , (cast_expression "(bool *)0x0" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) (expression_statement "puVar11 = (undefined4 *)(uVar27 >> 0x20);" (assignment_expression "puVar11 = (undefined4 *)(uVar27 >> 0x20)" identifier = (cast_expression "(undefined4 *)(uVar27 >> 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar27 >> 0x20)" ( (binary_expression "uVar27 >> 0x20" identifier >> number_literal) )))) ;) (ERROR "uVar28 = gold::" (assignment_expression "uVar28 = gold" identifier = identifier) : :) (labeled_statement "Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0);" statement_identifier : (ERROR ":" :) (expression_statement "eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0);" (call_expression "eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0)" identifier (argument_list "(*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0)" ( (pointer_expression "*(Symbol_table **)(param_1 + 8)" * (cast_expression "(Symbol_table **)(param_1 + 8)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (cast_expression "(Layout *)*param_2" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) , (call_expression "SUB41(param_2[1],0)" identifier (argument_list "(param_2[1],0)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , number_literal ))) , (pointer_expression "*(bool *)(param_2 + 2)" * (cast_expression "(bool *)(param_2 + 2)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 2)" ( (binary_expression "param_2 + 2" identifier + number_literal) )))) , (cast_expression "(ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" ( (type_descriptor "ulonglong" type_identifier) ) (call_expression "CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" identifier (argument_list "(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" ( (pointer_expression "*(undefined1 *)((int)param_2 + 9)" * (cast_expression "(undefined1 *)((int)param_2 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 9)" ( (binary_expression "(int)param_2 + 9" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier )))) , (cast_expression "(Output_section *)param_2[4]" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[4]" identifier [ number_literal ])) , (cast_expression "(Output_section **)param_2[5]" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_2[5]" identifier [ number_literal ])) , (cast_expression "(ulonglong *)param_2[6]" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[6]" identifier [ number_literal ])) , (cast_expression "(STT *)&local_30" ( (type_descriptor "STT *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_30" & identifier)) , (cast_expression "(STV *)puVar19" ( (type_descriptor "STV *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , false , (cast_expression "(bool *)0x0" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) (expression_statement "puVar4 = (undefined4 *)((ulonglong)uVar28 >> 0x20);" (assignment_expression "puVar4 = (undefined4 *)((ulonglong)uVar28 >> 0x20)" identifier = (cast_expression "(undefined4 *)((ulonglong)uVar28 >> 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" ( (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_28 = (uint)uVar28;" (assignment_expression "local_28 = (uint)uVar28" identifier = (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (local_2c == local_30) {\n    if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }\nLAB_00286094:\n    puVar1 = (uint *)param_2[8];\n  }\n  else {\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }" if (parenthesized_expression "(local_2c == local_30)" ( (binary_expression "local_2c == local_30" identifier == identifier) )) (compound_statement "{\n    if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }\nLAB_00286094:\n    puVar1 = (uint *)param_2[8];\n  }" { (if_statement "if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }" if (parenthesized_expression "((int *)param_2[7] != (int *)0x0)" ( (binary_expression "(int *)param_2[7] != (int *)0x0" (cast_expression "(int *)param_2[7]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[7]" identifier [ number_literal ])) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(int *)param_2[7] = local_2c;\n    }" { (expression_statement "*(int *)param_2[7] = local_2c;" (assignment_expression "*(int *)param_2[7] = local_2c" (pointer_expression "*(int *)param_2[7]" * (cast_expression "(int *)param_2[7]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[7]" identifier [ number_literal ]))) = identifier) ;) })) (labeled_statement "LAB_00286094:\n    puVar1 = (uint *)param_2[8];" statement_identifier : (expression_statement "puVar1 = (uint *)param_2[8];" (assignment_expression "puVar1 = (uint *)param_2[8]" identifier = (cast_expression "(uint *)param_2[8]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[8]" identifier [ number_literal ]))) ;)) }) (else_clause "else {\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }" else (compound_statement "{\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }" { (if_statement "if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }" if (parenthesized_expression "((local_2c != 0) || (local_30 != 0))" ( (binary_expression "(local_2c != 0) || (local_30 != 0)" (parenthesized_expression "(local_2c != 0)" ( (binary_expression "local_2c != 0" identifier != number_literal) )) || (parenthesized_expression "(local_30 != 0)" ( (binary_expression "local_30 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }" { (if_statement "if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == number_literal) )) (compound_statement "{\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }" { (expression_statement "puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);" (assignment_expression "puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec)" identifier = (cast_expression "(undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_alize_xindex_004323b4 + -0x5cec)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal) )))) ;) (expression_statement "puVar22 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar22 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar11,0x5c,PTR_DAT_0043226c + 0x2730)" ( identifier , number_literal , (binary_expression "PTR_DAT_0043226c + 0x2730" identifier + number_literal) ))) ;) (expression_statement "pcStack_b8 = *(code **)(puVar22 + 0x1af82c);" (assignment_expression "pcStack_b8 = *(code **)(puVar22 + 0x1af82c)" identifier = (pointer_expression "*(code **)(puVar22 + 0x1af82c)" * (cast_expression "(code **)(puVar22 + 0x1af82c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1af82c)" ( (binary_expression "puVar22 + 0x1af82c" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)puVar11[1];" (assignment_expression "piVar20 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "puStack_b0 = param_2;" (assignment_expression "puStack_b0 = param_2" identifier = identifier) ;) (expression_statement "puStack_ac = puVar4;" (assignment_expression "puStack_ac = puVar4" identifier = identifier) ;) (expression_statement "puStack_a0 = &local_38;" (assignment_expression "puStack_a0 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "puStack_9c = puVar19;" (assignment_expression "puStack_9c = puVar19" identifier = identifier) ;) (expression_statement "iStack_98 = param_1;" (assignment_expression "iStack_98 = param_1" identifier = identifier) ;) (labeled_statement "LAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );" statement_identifier : (do_statement "do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );" do (compound_statement "{\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        }" { (expression_statement "piVar24 = (int *)*puVar11;" (assignment_expression "piVar24 = (int *)*puVar11" identifier = (cast_expression "(int *)*puVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (labeled_statement "LAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));" statement_identifier : (do_statement "do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));" do (compound_statement "{\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          }" { (if_statement "if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }" if (parenthesized_expression "(piVar20 == piVar24)" ( (binary_expression "piVar20 == piVar24" identifier == identifier) )) (compound_statement "{\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }" { (expression_statement "*(undefined1 *)(puVar11 + 3) = 1;" (assignment_expression "*(undefined1 *)(puVar11 + 3) = 1" (pointer_expression "*(undefined1 *)(puVar11 + 3)" * (cast_expression "(undefined1 *)(puVar11 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 3)" ( (binary_expression "puVar11 + 3" identifier + number_literal) )))) = number_literal) ;) (return_statement "return (undefined4 *)0x1;" return (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "uStack_c0 = piVar20[-2];" (assignment_expression "uStack_c0 = piVar20[-2]" identifier = (subscript_expression "piVar20[-2]" identifier [ number_literal ])) ;) (expression_statement "pcVar18 = *(code **)(puVar22 + 0x1acdb0);" (assignment_expression "pcVar18 = *(code **)(puVar22 + 0x1acdb0)" identifier = (pointer_expression "*(code **)(puVar22 + 0x1acdb0)" * (cast_expression "(code **)(puVar22 + 0x1acdb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1acdb0)" ( (binary_expression "puVar22 + 0x1acdb0" identifier + number_literal) ))))) ;) (expression_statement "uStack_bc = piVar20[-1];" (assignment_expression "uStack_bc = piVar20[-1]" identifier = (subscript_expression "piVar20[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar11[1] = piVar20 + -2;" (assignment_expression "puVar11[1] = piVar20 + -2" (subscript_expression "puVar11[1]" identifier [ number_literal ]) = (binary_expression "piVar20 + -2" identifier + number_literal)) ;) (expression_statement "uVar14 = uStack_c0 ^ uStack_bc;" (assignment_expression "uVar14 = uStack_c0 ^ uStack_bc" identifier = (binary_expression "uStack_c0 ^ uStack_bc" identifier ^ identifier)) ;) (if_statement "if (puVar11[0xb] == 0) {\n              trap(7);\n            }" if (parenthesized_expression "(puVar11[0xb] == 0)" ( (binary_expression "puVar11[0xb] == 0" (subscript_expression "puVar11[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              trap(7);\n            }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar25 = uVar14 % (uint)puVar11[0xb];" (assignment_expression "uVar25 = uVar14 % (uint)puVar11[0xb]" identifier = (binary_expression "uVar14 % (uint)puVar11[0xb]" identifier % (cast_expression "(uint)puVar11[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar11[0xb]" identifier [ number_literal ])))) ;) (expression_statement "uStack_a8 = uVar27;" (assignment_expression "uStack_a8 = uVar27" identifier = identifier) ;) (expression_statement "piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);" (assignment_expression "piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14)" identifier = (cast_expression "(int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(puVar11 + 10,uVar25,&uStack_c0,uVar14)" ( (binary_expression "puVar11 + 10" identifier + number_literal) , identifier , (pointer_expression "&uStack_c0" & identifier) , identifier ))))) ;) }) while (parenthesized_expression "((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0))" ( (binary_expression "(piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0)" (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0)" ( (comma_expression "piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0" (assignment_expression "piVar20 = piVar20 + -2" identifier = (binary_expression "piVar20 + -2" identifier + number_literal)) , (comma_expression "uVar27 = uStack_a8, *piVar3 != 0" (assignment_expression "uVar27 = uStack_a8" identifier = identifier) , (binary_expression "*piVar3 != 0" (pointer_expression "*piVar3" * identifier) != number_literal))) ))) )) ;)) (expression_statement "piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);" (assignment_expression "piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10)" identifier = (cast_expression "(int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar22 + 0x1ac0ec))(0x10)" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac0ec))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac0ec)" * (pointer_expression "*(code **)(puVar22 + 0x1ac0ec)" * (cast_expression "(code **)(puVar22 + 0x1ac0ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac0ec)" ( (binary_expression "puVar22 + 0x1ac0ec" identifier + number_literal) ))))) )) (argument_list "(0x10)" ( number_literal ))))) ;) (expression_statement "puVar4 = puVar11 + 0xe;" (assignment_expression "puVar4 = puVar11 + 0xe" identifier = (binary_expression "puVar11 + 0xe" identifier + number_literal)) ;) (expression_statement "pcVar12 = acStack_c8;" (assignment_expression "pcVar12 = acStack_c8" identifier = identifier) ;) (expression_statement "puVar15 = (undefined4 *)puVar11[0xb];" (assignment_expression "puVar15 = (undefined4 *)puVar11[0xb]" identifier = (cast_expression "(undefined4 *)puVar11[0xb]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[0xb]" identifier [ number_literal ]))) ;) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (expression_statement "pcVar23 = *(code **)(puVar22 + 0x1ac8e0);" (assignment_expression "pcVar23 = *(code **)(puVar22 + 0x1ac8e0)" identifier = (pointer_expression "*(code **)(puVar22 + 0x1ac8e0)" * (cast_expression "(code **)(puVar22 + 0x1ac8e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac8e0)" ( (binary_expression "puVar22 + 0x1ac8e0" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = puVar11[0xf];" (assignment_expression "uVar2 = puVar11[0xf]" identifier = (subscript_expression "puVar11[0xf]" identifier [ number_literal ])) ;) (expression_statement "piVar20[1] = uStack_c0;" (assignment_expression "piVar20[1] = uStack_c0" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar20[2] = uStack_bc;" (assignment_expression "piVar20[2] = uStack_bc" (subscript_expression "piVar20[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar29 = 1;" (assignment_expression "uVar29 = 1" identifier = number_literal) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uVar10 = uStack_c4;" (assignment_expression "uVar10 = uStack_c4" identifier = identifier) ;) (if_statement "if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }" if (parenthesized_expression "(acStack_c8[0] == '\0')" ( (binary_expression "acStack_c8[0] == '\0'" (subscript_expression "acStack_c8[0]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }" { (expression_statement "puVar4 = (undefined4 *)puVar11[10];" (assignment_expression "puVar4 = (undefined4 *)puVar11[10]" identifier = (cast_expression "(undefined4 *)puVar11[10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[10]" identifier [ number_literal ]))) ;) (expression_statement "piVar20[3] = uVar14;" (assignment_expression "piVar20[3] = uVar14" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar3 = puVar4 + uVar25;" (assignment_expression "piVar3 = puVar4 + uVar25" identifier = (binary_expression "puVar4 + uVar25" identifier + identifier)) ;) (expression_statement "piVar24 = (int *)*piVar3;" (assignment_expression "piVar24 = (int *)*piVar3" identifier = (cast_expression "(int *)*piVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar3" * identifier))) ;) (expression_statement "uVar27 = uStack_a8;" (assignment_expression "uVar27 = uStack_a8" identifier = identifier) ;) (if_statement "if (piVar24 == (int *)0x0) goto LAB_00286470;" if (parenthesized_expression "(piVar24 == (int *)0x0)" ( (binary_expression "piVar24 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00286470;" goto statement_identifier ;)) (labeled_statement "LAB_002864c8:\n            *piVar20 = *piVar24;" statement_identifier : (expression_statement "*piVar20 = *piVar24;" (assignment_expression "*piVar20 = *piVar24" (pointer_expression "*piVar20" * identifier) = (pointer_expression "*piVar24" * identifier)) ;)) (expression_statement "*(int **)*piVar3 = piVar20;" (assignment_expression "*(int **)*piVar3 = piVar20" (pointer_expression "*(int **)*piVar3" * (cast_expression "(int **)*piVar3" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*piVar3" * identifier))) = identifier) ;) }) (else_clause "else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }" else (compound_statement "{\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }" { (if_statement "if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }" if (parenthesized_expression "(uStack_c4 == 1)" ( (binary_expression "uStack_c4 == 1" identifier == number_literal) )) (compound_statement "{\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }" { (expression_statement "puVar4 = puVar11 + 0x10;" (assignment_expression "puVar4 = puVar11 + 0x10" identifier = (binary_expression "puVar11 + 0x10" identifier + number_literal)) ;) (expression_statement "puVar11[0x10] = 0;" (assignment_expression "puVar11[0x10] = 0" (subscript_expression "puVar11[0x10]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }" else (compound_statement "{\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }" { (expression_statement "iVar21 = uStack_c4 << 2;" (assignment_expression "iVar21 = uStack_c4 << 2" identifier = (binary_expression "uStack_c4 << 2" identifier << number_literal)) ;) (if_statement "if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }" if (parenthesized_expression "(0x3fffffff < uStack_c4)" ( (binary_expression "0x3fffffff < uStack_c4" number_literal < identifier) )) (compound_statement "{\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }" { (expression_statement "(**(code **)(puVar22 + 0x1ac1b4))();" (call_expression "(**(code **)(puVar22 + 0x1ac1b4))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac1b4))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac1b4)" * (pointer_expression "*(code **)(puVar22 + 0x1ac1b4)" * (cast_expression "(code **)(puVar22 + 0x1ac1b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac1b4)" ( (binary_expression "puVar22 + 0x1ac1b4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(puVar22 + 0x1ac7cc))();" (call_expression "(**(code **)(puVar22 + 0x1ac7cc))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac7cc))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac7cc)" * (pointer_expression "*(code **)(puVar22 + 0x1ac7cc)" * (cast_expression "(code **)(puVar22 + 0x1ac7cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac7cc)" ( (binary_expression "puVar22 + 0x1ac7cc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar18 = *(code **)(puVar22 + 0x1ac7d0);" (assignment_expression "pcVar18 = *(code **)(puVar22 + 0x1ac7d0)" identifier = (pointer_expression "*(code **)(puVar22 + 0x1ac7d0)" * (cast_expression "(code **)(puVar22 + 0x1ac7d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac7d0)" ( (binary_expression "puVar22 + 0x1ac7d0" identifier + number_literal) ))))) ;) (expression_statement "puVar11[0xf] = uVar2;" (assignment_expression "puVar11[0xf] = uVar2" (subscript_expression "puVar11[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcVar18)();" (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_b8 = (code *)pcVar12;" (assignment_expression "pcStack_b8 = (code *)pcVar12" identifier = (cast_expression "(code *)pcVar12" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(**(code **)(puVar22 + 0x1ac7d4))();" (call_expression "(**(code **)(puVar22 + 0x1ac7d4))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac7d4))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac7d4)" * (pointer_expression "*(code **)(puVar22 + 0x1ac7d4)" * (cast_expression "(code **)(puVar22 + 0x1ac7d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac7d4)" ( (binary_expression "puVar22 + 0x1ac7d4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);" (call_expression "(**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8)" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac7cc))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac7cc)" * (pointer_expression "*(code **)(puVar22 + 0x1ac7cc)" * (cast_expression "(code **)(puVar22 + 0x1ac7cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac7cc)" ( (binary_expression "puVar22 + 0x1ac7cc" identifier + number_literal) ))))) )) (argument_list "(pcStack_b8)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar22 + 0x1ac03c))();" (call_expression "(**(code **)(puVar22 + 0x1ac03c))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac03c))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac03c)" * (pointer_expression "*(code **)(puVar22 + 0x1ac03c)" * (cast_expression "(code **)(puVar22 + 0x1ac03c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac03c)" ( (binary_expression "puVar22 + 0x1ac03c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(puVar22 + 0x1ac7d0))();" (call_expression "(**(code **)(puVar22 + 0x1ac7d0))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac7d0))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac7d0)" * (pointer_expression "*(code **)(puVar22 + 0x1ac7d0)" * (cast_expression "(code **)(puVar22 + 0x1ac7d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac7d0)" ( (binary_expression "puVar22 + 0x1ac7d0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_b8 = (code *)piVar20;" (assignment_expression "pcStack_b8 = (code *)piVar20" identifier = (cast_expression "(code *)piVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(**(code **)(puVar22 + 0x1ac7d4))();" (call_expression "(**(code **)(puVar22 + 0x1ac7d4))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac7d4))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac7d4)" * (pointer_expression "*(code **)(puVar22 + 0x1ac7d4)" * (cast_expression "(code **)(puVar22 + 0x1ac7d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac7d4)" ( (binary_expression "puVar22 + 0x1ac7d4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar23 = *(code **)(puVar22 + 0x1ac008);" (assignment_expression "pcVar23 = *(code **)(puVar22 + 0x1ac008)" identifier = (pointer_expression "*(code **)(puVar22 + 0x1ac008)" * (cast_expression "(code **)(puVar22 + 0x1ac008)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac008)" ( (binary_expression "puVar22 + 0x1ac008" identifier + number_literal) ))))) ;) (expression_statement "pcVar18 = pcStack_b8;" (assignment_expression "pcVar18 = pcStack_b8" identifier = identifier) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar5 = *(undefined4 **)pcVar18;" (assignment_expression "puVar5 = *(undefined4 **)pcVar18" identifier = (pointer_expression "*(undefined4 **)pcVar18" * (cast_expression "(undefined4 **)pcVar18" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar11 = *(undefined4 **)((int)pcVar18 + 4);" (assignment_expression "puVar11 = *(undefined4 **)((int)pcVar18 + 4)" identifier = (pointer_expression "*(undefined4 **)((int)pcVar18 + 4)" * (cast_expression "(undefined4 **)((int)pcVar18 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pcVar18 + 4)" ( (binary_expression "(int)pcVar18 + 4" (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar14 = (int)puVar11 - (int)puVar5 >> 3;" (assignment_expression "uVar14 = (int)puVar11 - (int)puVar5 >> 3" identifier = (binary_expression "(int)puVar11 - (int)puVar5 >> 3" (binary_expression "(int)puVar11 - (int)puVar5" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (if_statement "if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }" { (expression_statement "uVar25 = 1;" (assignment_expression "uVar25 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00286884:\n                  iVar21 = uVar25 << 3;" statement_identifier : (expression_statement "iVar21 = uVar25 << 3;" (assignment_expression "iVar21 = uVar25 << 3" identifier = (binary_expression "uVar25 << 3" identifier << number_literal)) ;)) }) (else_clause "else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }" else (compound_statement "{\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }" { (expression_statement "uVar25 = uVar14 << 1;" (assignment_expression "uVar25 = uVar14 << 1" identifier = (binary_expression "uVar14 << 1" identifier << number_literal)) ;) (if_statement "if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }" if (parenthesized_expression "((uVar14 <= uVar25) && (uVar25 < 0x20000000))" ( (binary_expression "(uVar14 <= uVar25) && (uVar25 < 0x20000000)" (parenthesized_expression "(uVar14 <= uVar25)" ( (binary_expression "uVar14 <= uVar25" identifier <= identifier) )) && (parenthesized_expression "(uVar25 < 0x20000000)" ( (binary_expression "uVar25 < 0x20000000" identifier < number_literal) ))) )) (compound_statement "{\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }" { (expression_statement "puVar17 = (undefined4 *)0x8;" (assignment_expression "puVar17 = (undefined4 *)0x8" identifier = (cast_expression "(undefined4 *)0x8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }" if (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) (compound_statement "{\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }" { (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "puVar6 = (undefined4 *)0x0;" (assignment_expression "puVar6 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00286780;" goto statement_identifier ;) })) (goto_statement "goto LAB_00286884;" goto statement_identifier ;) })) (expression_statement "iVar21 = -8;" (assignment_expression "iVar21 = -8" identifier = number_literal) ;) }))) (expression_statement "puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);" (assignment_expression "puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + 0x1abc4c))(iVar21)" (parenthesized_expression "(**(code **)(pcVar23 + 0x1abc4c))" ( (pointer_expression "**(code **)(pcVar23 + 0x1abc4c)" * (pointer_expression "*(code **)(pcVar23 + 0x1abc4c)" * (cast_expression "(code **)(pcVar23 + 0x1abc4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1abc4c)" ( (binary_expression "pcVar23 + 0x1abc4c" identifier + number_literal) ))))) )) (argument_list "(iVar21)" ( identifier ))))) ;) (expression_statement "iVar21 = (int)puVar6 + iVar21;" (assignment_expression "iVar21 = (int)puVar6 + iVar21" identifier = (binary_expression "(int)puVar6 + iVar21" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "puVar17 = puVar6 + 2;" (assignment_expression "puVar17 = puVar6 + 2" identifier = (binary_expression "puVar6 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));" statement_identifier : (expression_statement "puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));" (assignment_expression "puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5))" identifier = (cast_expression "(undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + ((int)puVar4 - (int)puVar5))" ( (binary_expression "(int)puVar6 + ((int)puVar4 - (int)puVar5)" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)puVar4 - (int)puVar5)" ( (binary_expression "(int)puVar4 - (int)puVar5" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;)) (expression_statement "uVar2 = puVar15[1];" (assignment_expression "uVar2 = puVar15[1]" identifier = (subscript_expression "puVar15[1]" identifier [ number_literal ])) ;) (expression_statement "*puVar7 = *puVar15;" (assignment_expression "*puVar7 = *puVar15" (pointer_expression "*puVar7" * identifier) = (pointer_expression "*puVar15" * identifier)) ;) (expression_statement "puVar7[1] = uVar2;" (assignment_expression "puVar7[1] = uVar2" (subscript_expression "puVar7[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar15 = puVar5;" (assignment_expression "puVar15 = puVar5" identifier = identifier) ;) (expression_statement "puVar16 = puVar6;" (assignment_expression "puVar16 = puVar6" identifier = identifier) ;) (if_statement "if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }" if (parenthesized_expression "(puVar5 != puVar4)" ( (binary_expression "puVar5 != puVar4" identifier != identifier) )) (compound_statement "{\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }" { (do_statement "do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);" do (compound_statement "{\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  }" { (expression_statement "puVar17 = puVar15 + 2;" (assignment_expression "puVar17 = puVar15 + 2" identifier = (binary_expression "puVar15 + 2" identifier + number_literal)) ;) (expression_statement "uVar2 = puVar15[1];" (assignment_expression "uVar2 = puVar15[1]" identifier = (subscript_expression "puVar15[1]" identifier [ number_literal ])) ;) (expression_statement "*puVar16 = *puVar15;" (assignment_expression "*puVar16 = *puVar15" (pointer_expression "*puVar16" * identifier) = (pointer_expression "*puVar15" * identifier)) ;) (expression_statement "puVar16[1] = uVar2;" (assignment_expression "puVar16[1] = uVar2" (subscript_expression "puVar16[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar15 = puVar17;" (assignment_expression "puVar15 = puVar17" identifier = identifier) ;) (expression_statement "puVar16 = puVar16 + 2;" (assignment_expression "puVar16 = puVar16 + 2" identifier = (binary_expression "puVar16 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar4 != puVar17)" ( (binary_expression "puVar4 != puVar17" identifier != identifier) )) ;) (expression_statement "puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;" (assignment_expression "puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2" identifier = (binary_expression "puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2" identifier + (binary_expression "(((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2" (parenthesized_expression "(((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2)" ( (binary_expression "((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2" (parenthesized_expression "((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3)" ( (binary_expression "(uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3" (call_expression "(uint)((int)puVar4 + (-8 - (int)puVar5))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar4 + (-8 - (int)puVar5))" ( (binary_expression "(int)puVar4 + (-8 - (int)puVar5)" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-8 - (int)puVar5)" ( (binary_expression "-8 - (int)puVar5" number_literal - (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) >> number_literal) )) + number_literal) )) * number_literal))) ;) })) (expression_statement "puVar15 = puVar4;" (assignment_expression "puVar15 = puVar4" identifier = identifier) ;) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" identifier = identifier) ;) (if_statement "if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }" if (parenthesized_expression "(puVar11 != puVar4)" ( (binary_expression "puVar11 != puVar4" identifier != identifier) )) (compound_statement "{\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }" { (do_statement "do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);" do (compound_statement "{\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  }" { (expression_statement "puVar8 = puVar15 + 2;" (assignment_expression "puVar8 = puVar15 + 2" identifier = (binary_expression "puVar15 + 2" identifier + number_literal)) ;) (expression_statement "*puVar16 = *puVar15;" (assignment_expression "*puVar16 = *puVar15" (pointer_expression "*puVar16" * identifier) = (pointer_expression "*puVar15" * identifier)) ;) (expression_statement "puVar16[1] = puVar15[1];" (assignment_expression "puVar16[1] = puVar15[1]" (subscript_expression "puVar16[1]" identifier [ number_literal ]) = (subscript_expression "puVar15[1]" identifier [ number_literal ])) ;) (expression_statement "puVar15 = puVar8;" (assignment_expression "puVar15 = puVar8" identifier = identifier) ;) (expression_statement "puVar16 = puVar16 + 2;" (assignment_expression "puVar16 = puVar16 + 2" identifier = (binary_expression "puVar16 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar11 != puVar8)" ( (binary_expression "puVar11 != puVar8" identifier != identifier) )) ;) (expression_statement "puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;" (assignment_expression "puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2" identifier = (binary_expression "puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2" identifier + (binary_expression "(((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2" (parenthesized_expression "(((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1)" ( (binary_expression "((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1" (parenthesized_expression "((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3)" ( (binary_expression "(uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3" (call_expression "(uint)((int)puVar11 + (-8 - (int)puVar4))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar11 + (-8 - (int)puVar4))" ( (binary_expression "(int)puVar11 + (-8 - (int)puVar4)" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-8 - (int)puVar4)" ( (binary_expression "-8 - (int)puVar4" number_literal - (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) >> number_literal) )) + number_literal) )) * number_literal))) ;) })) (if_statement "if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }" if (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" ( (binary_expression "puVar5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }" { (expression_statement "puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);" (assignment_expression "puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + 0x1abb9c))(puVar5)" (parenthesized_expression "(**(code **)(pcVar23 + 0x1abb9c))" ( (pointer_expression "**(code **)(pcVar23 + 0x1abb9c)" * (pointer_expression "*(code **)(pcVar23 + 0x1abb9c)" * (cast_expression "(code **)(pcVar23 + 0x1abb9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1abb9c)" ( (binary_expression "pcVar23 + 0x1abb9c" identifier + number_literal) ))))) )) (argument_list "(puVar5)" ( identifier ))))) ;) })) (expression_statement "*(undefined4 **)pcVar18 = puVar6;" (assignment_expression "*(undefined4 **)pcVar18 = puVar6" (pointer_expression "*(undefined4 **)pcVar18" * (cast_expression "(undefined4 **)pcVar18" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 **)((int)pcVar18 + 4) = puVar17;" (assignment_expression "*(undefined4 **)((int)pcVar18 + 4) = puVar17" (pointer_expression "*(undefined4 **)((int)pcVar18 + 4)" * (cast_expression "(undefined4 **)((int)pcVar18 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pcVar18 + 4)" ( (binary_expression "(int)pcVar18 + 4" (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)pcVar18 + 8) = iVar21;" (assignment_expression "*(int *)((int)pcVar18 + 8) = iVar21" (pointer_expression "*(int *)((int)pcVar18 + 8)" * (cast_expression "(int *)((int)pcVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pcVar18 + 8)" ( (binary_expression "(int)pcVar18 + 8" (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (return_statement "return puVar7;" return identifier ;) })) (expression_statement "puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);" (assignment_expression "puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar22 + 0x1ac0ec))(iVar21)" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac0ec))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac0ec)" * (pointer_expression "*(code **)(puVar22 + 0x1ac0ec)" * (cast_expression "(code **)(puVar22 + 0x1ac0ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac0ec)" ( (binary_expression "puVar22 + 0x1ac0ec" identifier + number_literal) ))))) )) (argument_list "(iVar21)" ( identifier ))))) ;) (expression_statement "(**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);" (call_expression "(**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21)" (parenthesized_expression "(**(code **)(puVar22 + 0x1b0600))" ( (pointer_expression "**(code **)(puVar22 + 0x1b0600)" * (pointer_expression "*(code **)(puVar22 + 0x1b0600)" * (cast_expression "(code **)(puVar22 + 0x1b0600)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1b0600)" ( (binary_expression "puVar22 + 0x1b0600" identifier + number_literal) ))))) )) (argument_list "(puVar4,0,iVar21)" ( identifier , number_literal , identifier ))) ;) }))) (expression_statement "piVar24 = (int *)puVar11[0xc];" (assignment_expression "piVar24 = (int *)puVar11[0xc]" identifier = (cast_expression "(int *)puVar11[0xc]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[0xc]" identifier [ number_literal ]))) ;) (expression_statement "puVar11[0xc] = 0;" (assignment_expression "puVar11[0xc] = 0" (subscript_expression "puVar11[0xc]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }" if (parenthesized_expression "(piVar24 != (int *)0x0)" ( (binary_expression "piVar24 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }" { (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (do_statement "do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);" do (compound_statement "{\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              }" { (while_statement "while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }" { (if_statement "if (uVar10 == 0) {\n                    trap(7);\n                  }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                    trap(7);\n                  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar26 = (uint)piVar24[3] % uVar10;" (assignment_expression "uVar26 = (uint)piVar24[3] % uVar10" identifier = (binary_expression "(uint)piVar24[3] % uVar10" (cast_expression "(uint)piVar24[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar24[3]" identifier [ number_literal ])) % identifier)) ;) (expression_statement "puVar15 = puVar4 + uVar26;" (assignment_expression "puVar15 = puVar4 + uVar26" identifier = (binary_expression "puVar4 + uVar26" identifier + identifier)) ;) (expression_statement "piVar3 = (int *)*piVar24;" (assignment_expression "piVar3 = (int *)*piVar24" identifier = (cast_expression "(int *)*piVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar24" * identifier))) ;) (if_statement "if ((int *)*puVar15 == (int *)0x0) break;" if (parenthesized_expression "((int *)*puVar15 == (int *)0x0)" ( (binary_expression "(int *)*puVar15 == (int *)0x0" (cast_expression "(int *)*puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier)) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "*piVar24 = *(int *)*puVar15;" (assignment_expression "*piVar24 = *(int *)*puVar15" (pointer_expression "*piVar24" * identifier) = (pointer_expression "*(int *)*puVar15" * (cast_expression "(int *)*puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier)))) ;) (expression_statement "*(int **)*puVar15 = piVar24;" (assignment_expression "*(int **)*puVar15 = piVar24" (pointer_expression "*(int **)*puVar15" * (cast_expression "(int **)*puVar15" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar15" * identifier))) = identifier) ;) (expression_statement "uVar26 = uVar25;" (assignment_expression "uVar26 = uVar25" identifier = identifier) ;) (labeled_statement "LAB_002863d0:\n                  piVar24 = piVar3;" statement_identifier : (expression_statement "piVar24 = piVar3;" (assignment_expression "piVar24 = piVar3" identifier = identifier) ;)) (expression_statement "uVar25 = uVar26;" (assignment_expression "uVar25 = uVar26" identifier = identifier) ;) (if_statement "if (piVar3 == (int *)0x0) goto LAB_0028642c;" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0028642c;" goto statement_identifier ;)) })) (expression_statement "*piVar24 = puVar11[0xc];" (assignment_expression "*piVar24 = puVar11[0xc]" (pointer_expression "*piVar24" * identifier) = (subscript_expression "puVar11[0xc]" identifier [ number_literal ])) ;) (expression_statement "puVar11[0xc] = piVar24;" (assignment_expression "puVar11[0xc] = piVar24" (subscript_expression "puVar11[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar15 = puVar11 + 0xc;" (assignment_expression "*puVar15 = puVar11 + 0xc" (pointer_expression "*puVar15" * identifier) = (binary_expression "puVar11 + 0xc" identifier + number_literal)) ;) (if_statement "if (*piVar24 == 0) goto LAB_002863d0;" if (parenthesized_expression "(*piVar24 == 0)" ( (binary_expression "*piVar24 == 0" (pointer_expression "*piVar24" * identifier) == number_literal) )) (goto_statement "goto LAB_002863d0;" goto statement_identifier ;)) (expression_statement "puVar4[uVar25] = piVar24;" (assignment_expression "puVar4[uVar25] = piVar24" (subscript_expression "puVar4[uVar25]" identifier [ identifier ]) = identifier) ;) (expression_statement "piVar24 = piVar3;" (assignment_expression "piVar24 = piVar3" identifier = identifier) ;) (expression_statement "uVar25 = uVar26;" (assignment_expression "uVar25 = uVar26" identifier = identifier) ;) }) while (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (labeled_statement "LAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }" statement_identifier : (if_statement "if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }" if (parenthesized_expression "((undefined4 *)puVar11[10] != puVar11 + 0x10)" ( (binary_expression "(undefined4 *)puVar11[10] != puVar11 + 0x10" (cast_expression "(undefined4 *)puVar11[10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[10]" identifier [ number_literal ])) != (binary_expression "puVar11 + 0x10" identifier + number_literal)) )) (compound_statement "{\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }" { (expression_statement "(**(code **)(puVar22 + 0x1ac03c))();" (call_expression "(**(code **)(puVar22 + 0x1ac03c))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac03c))" ( (pointer_expression "**(code **)(puVar22 + 0x1ac03c)" * (pointer_expression "*(code **)(puVar22 + 0x1ac03c)" * (cast_expression "(code **)(puVar22 + 0x1ac03c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x1ac03c)" ( (binary_expression "puVar22 + 0x1ac03c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }))) (if_statement "if (uVar10 == 0) {\n              trap(7);\n            }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 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 "puVar11[0xb] = uVar10;" (assignment_expression "puVar11[0xb] = uVar10" (subscript_expression "puVar11[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[10] = puVar4;" (assignment_expression "puVar11[10] = puVar4" (subscript_expression "puVar11[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar20[3] = uVar14;" (assignment_expression "piVar20[3] = uVar14" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar3 = puVar4 + uVar14 % uVar10;" (assignment_expression "piVar3 = puVar4 + uVar14 % uVar10" identifier = (binary_expression "puVar4 + uVar14 % uVar10" identifier + (binary_expression "uVar14 % uVar10" identifier % identifier))) ;) (expression_statement "piVar24 = (int *)*piVar3;" (assignment_expression "piVar24 = (int *)*piVar3" identifier = (cast_expression "(int *)*piVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar3" * identifier))) ;) (expression_statement "uVar27 = uStack_a8;" (assignment_expression "uVar27 = uStack_a8" identifier = identifier) ;) (if_statement "if (piVar24 != (int *)0x0) goto LAB_002864c8;" if (parenthesized_expression "(piVar24 != (int *)0x0)" ( (binary_expression "piVar24 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002864c8;" goto statement_identifier ;)) (labeled_statement "LAB_00286470:\n            iVar21 = puVar11[0xc];" statement_identifier : (expression_statement "iVar21 = puVar11[0xc];" (assignment_expression "iVar21 = puVar11[0xc]" identifier = (subscript_expression "puVar11[0xc]" identifier [ number_literal ])) ;)) (expression_statement "puVar11[0xc] = piVar20;" (assignment_expression "puVar11[0xc] = piVar20" (subscript_expression "puVar11[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar20 = iVar21;" (assignment_expression "*piVar20 = iVar21" (pointer_expression "*piVar20" * identifier) = identifier) ;) (if_statement "if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (compound_statement "{\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }" { (if_statement "if (puVar11[0xb] == 0) {\n                trap(7);\n              }" if (parenthesized_expression "(puVar11[0xb] == 0)" ( (binary_expression "puVar11[0xb] == 0" (subscript_expression "puVar11[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                trap(7);\n              }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;" (assignment_expression "puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20" (subscript_expression "puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]]" identifier [ (binary_expression "*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]" (pointer_expression "*(uint *)(iVar21 + 0xc)" * (cast_expression "(uint *)(iVar21 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0xc)" ( (binary_expression "iVar21 + 0xc" identifier + number_literal) )))) % (cast_expression "(uint)puVar11[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar11[0xb]" identifier [ number_literal ]))) ]) = identifier) ;) })) (expression_statement "*piVar3 = (int)(puVar11 + 0xc);" (assignment_expression "*piVar3 = (int)(puVar11 + 0xc)" (pointer_expression "*piVar3" * identifier) = (cast_expression "(int)(puVar11 + 0xc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar11 + 0xc)" ( (binary_expression "puVar11 + 0xc" identifier + number_literal) )))) ;) (expression_statement "uVar27 = uStack_a8;" (assignment_expression "uVar27 = uStack_a8" identifier = identifier) ;) }))) (expression_statement "puVar4 = (undefined4 *)puVar11[6];" (assignment_expression "puVar4 = (undefined4 *)puVar11[6]" identifier = (cast_expression "(undefined4 *)puVar11[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[6]" identifier [ number_literal ]))) ;) (expression_statement "piVar20 = (int *)puVar11[1];" (assignment_expression "piVar20 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar11[0xd] = puVar11[0xd] + 1;" (assignment_expression "puVar11[0xd] = puVar11[0xd] + 1" (subscript_expression "puVar11[0xd]" identifier [ number_literal ]) = (binary_expression "puVar11[0xd] + 1" (subscript_expression "puVar11[0xd]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "puVar15 = puVar11 + 5;" (assignment_expression "puVar15 = puVar11 + 5" identifier = (binary_expression "puVar11 + 5" identifier + number_literal)) ;) (if_statement "if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;" if (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" ( (binary_expression "puVar4 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002862a4;" goto statement_identifier ;)) (do_statement "do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);" do (compound_statement "{\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          }" { (if_statement "if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }" if (parenthesized_expression "(((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc))))" ( (binary_expression "((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))" (parenthesized_expression "((uint)puVar4[4] < uStack_c0)" ( (binary_expression "(uint)puVar4[4] < uStack_c0" (cast_expression "(uint)puVar4[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar4[4]" identifier [ number_literal ])) < identifier) )) || (parenthesized_expression "((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))" ( (parenthesized_expression "(puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc))" ( (binary_expression "puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)" (binary_expression "puVar4[4] == uStack_c0" (subscript_expression "puVar4[4]" identifier [ number_literal ]) == identifier) && (parenthesized_expression "((uint)puVar4[5] < uStack_bc)" ( (binary_expression "(uint)puVar4[5] < uStack_bc" (cast_expression "(uint)puVar4[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar4[5]" identifier [ number_literal ])) < identifier) ))) )) ))) )) (compound_statement "{\n              puVar5 = (undefined4 *)puVar4[3];\n            }" { (expression_statement "puVar5 = (undefined4 *)puVar4[3];" (assignment_expression "puVar5 = (undefined4 *)puVar4[3]" identifier = (cast_expression "(undefined4 *)puVar4[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }" else (compound_statement "{\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }" { (expression_statement "puVar5 = (undefined4 *)puVar4[2];" (assignment_expression "puVar5 = (undefined4 *)puVar4[2]" identifier = (cast_expression "(undefined4 *)puVar4[2]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[2]" identifier [ number_literal ]))) ;) (expression_statement "puVar15 = puVar4;" (assignment_expression "puVar15 = puVar4" identifier = identifier) ;) }))) (expression_statement "puVar4 = puVar5;" (assignment_expression "puVar4 = puVar5" identifier = identifier) ;) }) while (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" ( (binary_expression "puVar5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;" if (parenthesized_expression "(((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5]))))" ( (binary_expression "((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))" (parenthesized_expression "((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4]))" ( (binary_expression "(puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])" (parenthesized_expression "(puVar11 + 5 == puVar15)" ( (binary_expression "puVar11 + 5 == puVar15" (binary_expression "puVar11 + 5" identifier + number_literal) == identifier) )) || (parenthesized_expression "(uStack_c0 < (uint)puVar15[4])" ( (binary_expression "uStack_c0 < (uint)puVar15[4]" identifier < (cast_expression "(uint)puVar15[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar15[4]" identifier [ number_literal ]))) ))) )) || (parenthesized_expression "((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))" ( (parenthesized_expression "(uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5]))" ( (binary_expression "uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])" (binary_expression "uStack_c0 == puVar15[4]" identifier == (subscript_expression "puVar15[4]" identifier [ number_literal ])) && (parenthesized_expression "(uStack_bc < (uint)puVar15[5])" ( (binary_expression "uStack_bc < (uint)puVar15[5]" identifier < (cast_expression "(uint)puVar15[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar15[5]" identifier [ number_literal ]))) ))) )) ))) )) (goto_statement "goto LAB_002862a4;" goto statement_identifier ;)) (expression_statement "piVar24 = (int *)puVar15[8];" (assignment_expression "piVar24 = (int *)puVar15[8]" identifier = (cast_expression "(int *)puVar15[8]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[8]" identifier [ number_literal ]))) ;) (if_statement "if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }" if (parenthesized_expression "(piVar24 == (int *)0x0)" ( (binary_expression "piVar24 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }" { (expression_statement "piVar24 = (int *)*puVar11;" (assignment_expression "piVar24 = (int *)*puVar11" identifier = (cast_expression "(int *)*puVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (goto_statement "goto LAB_002862a8;" goto statement_identifier ;) })) (do_statement "do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);" do (compound_statement "{\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          }" { (if_statement "if (puVar11[0xb] == 0) {\n              trap(7);\n            }" if (parenthesized_expression "(puVar11[0xb] == 0)" ( (binary_expression "puVar11[0xb] == 0" (subscript_expression "puVar11[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              trap(7);\n            }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uStack_a8 = uVar27;" (assignment_expression "uStack_a8 = uVar27" identifier = identifier) ;) (expression_statement "piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);" (assignment_expression "piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29)" identifier = (cast_expression "(int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29)" ( (binary_expression "puVar11 + 10" identifier + number_literal) , (binary_expression "(uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb]" (call_expression "(uint)(piVar24[1] ^ piVar24[2])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar24[1] ^ piVar24[2])" ( (binary_expression "piVar24[1] ^ piVar24[2]" (subscript_expression "piVar24[1]" identifier [ number_literal ]) ^ (subscript_expression "piVar24[2]" identifier [ number_literal ])) ))) % (cast_expression "(uint)puVar11[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar11[0xb]" identifier [ number_literal ]))) , (binary_expression "piVar24 + 1" identifier + number_literal) , (binary_expression "piVar24[1] ^ piVar24[2]" (subscript_expression "piVar24[1]" identifier [ number_literal ]) ^ (subscript_expression "piVar24[2]" identifier [ number_literal ])) , identifier ))))) ;) (expression_statement "uVar27 = uStack_a8;" (assignment_expression "uVar27 = uStack_a8" identifier = identifier) ;) (if_statement "if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }" if (parenthesized_expression "((piVar3 == (int *)0x0) || (*piVar3 == 0))" ( (binary_expression "(piVar3 == (int *)0x0) || (*piVar3 == 0)" (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar3 == 0)" ( (binary_expression "*piVar3 == 0" (pointer_expression "*piVar3" * identifier) == number_literal) ))) )) (compound_statement "{\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }" { (if_statement "if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }" if (parenthesized_expression "(piVar20 == (int *)puVar11[2])" ( (binary_expression "piVar20 == (int *)puVar11[2]" identifier == (cast_expression "(int *)puVar11[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }" { (expression_statement "(*pcStack_b8)(puVar11,piVar20,piVar24 + 1);" (call_expression "(*pcStack_b8)(puVar11,piVar20,piVar24 + 1)" (parenthesized_expression "(*pcStack_b8)" ( (pointer_expression "*pcStack_b8" * identifier) )) (argument_list "(puVar11,piVar20,piVar24 + 1)" ( identifier , identifier , (binary_expression "piVar24 + 1" identifier + number_literal) ))) ;) (expression_statement "piVar20 = (int *)puVar11[1];" (assignment_expression "piVar20 = (int *)puVar11[1]" identifier = (cast_expression "(int *)puVar11[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar27 = uStack_a8;" (assignment_expression "uVar27 = uStack_a8" identifier = identifier) ;) }) (else_clause "else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }" else (compound_statement "{\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }" { (expression_statement "iVar21 = piVar24[2];" (assignment_expression "iVar21 = piVar24[2]" identifier = (subscript_expression "piVar24[2]" identifier [ number_literal ])) ;) (expression_statement "*piVar20 = piVar24[1];" (assignment_expression "*piVar20 = piVar24[1]" (pointer_expression "*piVar20" * identifier) = (subscript_expression "piVar24[1]" identifier [ number_literal ])) ;) (expression_statement "piVar20[1] = iVar21;" (assignment_expression "piVar20[1] = iVar21" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[1] = piVar20 + 2;" (assignment_expression "puVar11[1] = piVar20 + 2" (subscript_expression "puVar11[1]" identifier [ number_literal ]) = (binary_expression "piVar20 + 2" identifier + number_literal)) ;) (expression_statement "piVar20 = piVar20 + 2;" (assignment_expression "piVar20 = piVar20 + 2" identifier = (binary_expression "piVar20 + 2" identifier + number_literal)) ;) }))) })) (expression_statement "piVar24 = (int *)*piVar24;" (assignment_expression "piVar24 = (int *)*piVar24" identifier = (cast_expression "(int *)*piVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar24" * identifier))) ;) }) while (parenthesized_expression "(piVar24 != (int *)0x0)" ( (binary_expression "piVar24 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (if_statement "if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }" if (parenthesized_expression "(*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195)" * (cast_expression "(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195" (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }" { (expression_statement "uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);" (assignment_expression "uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + 0x26c4)" ( (binary_expression "PTR_DAT_0043226c + 0x26c4" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_gold_warning_0043245c)(uVar2);" (call_expression "(*(code *)PTR_gold_warning_0043245c)(uVar2)" (parenthesized_expression "(*(code *)PTR_gold_warning_0043245c)" ( (pointer_expression "*(code *)PTR_gold_warning_0043245c" * (cast_expression "(code *)PTR_gold_warning_0043245c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2)" ( identifier ))) ;) })) (goto_statement "goto LAB_00286094;" goto statement_identifier ;) })) (expression_statement "puVar1 = (uint *)param_2[8];" (assignment_expression "puVar1 = (uint *)param_2[8]" identifier = (cast_expression "(uint *)param_2[8]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[8]" identifier [ number_literal ]))) ;) }))) (if_statement "if (puVar1 != (uint *)0x0) {\n    uVar9 = *puVar1;\n    uVar13 = puVar1[1];\n    uVar14 = local_38;\n    uVar25 = local_34;\n    uVar10 = uVar9;\n    uVar26 = uVar13;\n    if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }\n    *puVar1 = uVar10;\n    puVar1[1] = uVar26;\n  }" if (parenthesized_expression "(puVar1 != (uint *)0x0)" ( (binary_expression "puVar1 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar9 = *puVar1;\n    uVar13 = puVar1[1];\n    uVar14 = local_38;\n    uVar25 = local_34;\n    uVar10 = uVar9;\n    uVar26 = uVar13;\n    if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }\n    *puVar1 = uVar10;\n    puVar1[1] = uVar26;\n  }" { (expression_statement "uVar9 = *puVar1;" (assignment_expression "uVar9 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar13 = puVar1[1];" (assignment_expression "uVar13 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar14 = local_38;" (assignment_expression "uVar14 = local_38" identifier = identifier) ;) (expression_statement "uVar25 = local_34;" (assignment_expression "uVar25 = local_34" identifier = identifier) ;) (expression_statement "uVar10 = uVar9;" (assignment_expression "uVar10 = uVar9" identifier = identifier) ;) (expression_statement "uVar26 = uVar13;" (assignment_expression "uVar26 = uVar13" identifier = identifier) ;) (if_statement "if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }" if (parenthesized_expression "((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27))))" ( (binary_expression "(puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))" (parenthesized_expression "(puVar11 < puVar4)" ( (binary_expression "puVar11 < puVar4" identifier < identifier) )) || (parenthesized_expression "(((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))" ( (parenthesized_expression "((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27))" ( (binary_expression "(puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)" (parenthesized_expression "(puVar4 == puVar11 && ((uint)uVar27 < local_28))" ( (binary_expression "puVar4 == puVar11 && ((uint)uVar27 < local_28)" (binary_expression "puVar4 == puVar11" identifier == identifier) && (parenthesized_expression "((uint)uVar27 < local_28)" ( (binary_expression "(uint)uVar27 < local_28" (cast_expression "(uint)uVar27" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))) )) || (parenthesized_expression "(uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)" ( (comma_expression "uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27" (assignment_expression "uVar14 = local_40" identifier = identifier) , (comma_expression "uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27" (assignment_expression "uVar25 = local_3c" identifier = identifier) , (binary_expression "CONCAT44(puVar4,local_28) < uVar27" (call_expression "CONCAT44(puVar4,local_28)" identifier (argument_list "(puVar4,local_28)" ( identifier , identifier ))) < identifier))) ))) )) ))) )) (compound_statement "{\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }" { (expression_statement "uVar10 = uVar14;" (assignment_expression "uVar10 = uVar14" identifier = identifier) ;) (expression_statement "uVar26 = uVar25;" (assignment_expression "uVar26 = uVar25" identifier = identifier) ;) (if_statement "if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }" if (parenthesized_expression "(((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25))" ( (binary_expression "((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)" (parenthesized_expression "((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9))" ( (binary_expression "(uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)" (parenthesized_expression "(uVar14 <= uVar9)" ( (binary_expression "uVar14 <= uVar9" identifier <= identifier) )) && (parenthesized_expression "(uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)" ( (comma_expression "uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9" (assignment_expression "uVar10 = uVar9" identifier = identifier) , (comma_expression "uVar26 = uVar13, uVar14 == uVar9" (assignment_expression "uVar26 = uVar13" identifier = identifier) , (binary_expression "uVar14 == uVar9" identifier == identifier))) ))) )) && (parenthesized_expression "(uVar13 < uVar25)" ( (binary_expression "uVar13 < uVar25" identifier < identifier) ))) )) (compound_statement "{\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }" { (expression_statement "uVar10 = uVar14;" (assignment_expression "uVar10 = uVar14" identifier = identifier) ;) (expression_statement "uVar26 = uVar25;" (assignment_expression "uVar26 = uVar25" identifier = identifier) ;) })) }) (else_clause "else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }" else (compound_statement "{\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }" { (if_statement "if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }" if (parenthesized_expression "((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34))))" ( (binary_expression "(local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))" (parenthesized_expression "(local_40 <= local_38)" ( (binary_expression "local_40 <= local_38" identifier <= identifier) )) && (parenthesized_expression "((local_40 != local_38 || (local_3c <= local_34)))" ( (parenthesized_expression "(local_40 != local_38 || (local_3c <= local_34))" ( (binary_expression "local_40 != local_38 || (local_3c <= local_34)" (binary_expression "local_40 != local_38" identifier != identifier) || (parenthesized_expression "(local_3c <= local_34)" ( (binary_expression "local_3c <= local_34" identifier <= identifier) ))) )) ))) )) (compound_statement "{\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }" { (expression_statement "local_40 = local_38;" (assignment_expression "local_40 = local_38" identifier = identifier) ;) (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" identifier = identifier) ;) (expression_statement "puVar19 = &local_38;" (assignment_expression "puVar19 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) })) (if_statement "if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }" if (parenthesized_expression "((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c))))" ( (binary_expression "(uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))" (parenthesized_expression "(uVar9 < local_40)" ( (binary_expression "uVar9 < local_40" identifier < identifier) )) || (parenthesized_expression "((local_40 == uVar9 && (uVar13 < local_3c)))" ( (parenthesized_expression "(local_40 == uVar9 && (uVar13 < local_3c))" ( (binary_expression "local_40 == uVar9 && (uVar13 < local_3c)" (binary_expression "local_40 == uVar9" identifier == identifier) && (parenthesized_expression "(uVar13 < local_3c)" ( (binary_expression "uVar13 < local_3c" identifier < identifier) ))) )) ))) )) (compound_statement "{\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }" { (expression_statement "uVar14 = puVar19[1];" (assignment_expression "uVar14 = puVar19[1]" identifier = (subscript_expression "puVar19[1]" identifier [ number_literal ])) ;) (expression_statement "*puVar1 = *puVar19;" (assignment_expression "*puVar1 = *puVar19" (pointer_expression "*puVar1" * identifier) = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "puVar1[1] = uVar14;" (assignment_expression "puVar1[1] = uVar14" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_002860cc;" goto statement_identifier ;) })) }))) (expression_statement "*puVar1 = uVar10;" (assignment_expression "*puVar1 = uVar10" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = uVar26;" (assignment_expression "puVar1[1] = uVar26" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) })) (labeled_statement "LAB_002860cc:\n  puVar15 = puVar11;" statement_identifier : (expression_statement "puVar15 = puVar11;" (assignment_expression "puVar15 = puVar11" identifier = identifier) ;)) (if_statement "if (((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28)) {\n    puVar4 = puVar15;\n  }" if (parenthesized_expression "(((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28))" ( (binary_expression "((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28)" (parenthesized_expression "((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11))" ( (binary_expression "(puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)" (parenthesized_expression "(puVar11 < puVar4)" ( (binary_expression "puVar11 < puVar4" identifier < identifier) )) || (parenthesized_expression "(puVar15 = puVar4, puVar4 != puVar11)" ( (comma_expression "puVar15 = puVar4, puVar4 != puVar11" (assignment_expression "puVar15 = puVar4" identifier = identifier) , (binary_expression "puVar4 != puVar11" identifier != identifier)) ))) )) || (parenthesized_expression "(puVar15 = puVar11, (uint)uVar27 < local_28)" ( (comma_expression "puVar15 = puVar11, (uint)uVar27 < local_28" (assignment_expression "puVar15 = puVar11" identifier = identifier) , (binary_expression "(uint)uVar27 < local_28" (cast_expression "(uint)uVar27" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier)) ))) )) (compound_statement "{\n    puVar4 = puVar15;\n  }" { (expression_statement "puVar4 = puVar15;" (assignment_expression "puVar4 = puVar15" identifier = identifier) ;) })) (return_statement "return puVar4;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (ERROR (assignment_expression IDENT = IDENT) : :) (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT ))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , IDENT )))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) , BOOL , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (ERROR (assignment_expression IDENT = IDENT) : :) (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT ))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , IDENT )))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) , BOOL , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT % (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) , IDENT ))))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * IDENT) != LIT))) ))) )) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) >> LIT) )) + LIT) )) * LIT))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) >> LIT) )) + LIT) )) * 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) % IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT % IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) % (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ]) = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == IDENT) )) || (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (subscript_expression IDENT [ LIT ])) && (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (goto_statement goto statement_identifier ;) })) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ (subscript_expression IDENT [ LIT ])) ))) % (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) , (binary_expression IDENT + LIT) , (binary_expression (subscript_expression IDENT [ LIT ]) ^ (subscript_expression IDENT [ LIT ])) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) }) while (parenthesized_expression ( BOOL )) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (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) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression 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 = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) < IDENT))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == IDENT))) ))) )) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != IDENT) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != IDENT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (return_statement return IDENT ;) })))
(function_definition "undefined4 * FUN_00285f50(int param_1,undefined4 *param_2)\n\n{\n  uint *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  uint uVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  char *pcVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  code *pcVar18;\n  uint *puVar19;\n  int *piVar20;\n  int iVar21;\n  undefined *puVar22;\n  code *pcVar23;\n  int *piVar24;\n  uint uVar25;\n  uint uVar26;\n  ulonglong uVar27;\n  undefined8 uVar28;\n  undefined4 uVar29;\n  char acStack_c8 [4];\n  uint uStack_c4;\n  uint uStack_c0;\n  uint uStack_bc;\n  code *pcStack_b8;\n  undefined4 *puStack_b0;\n  undefined4 *puStack_ac;\n  ulonglong uStack_a8;\n  uint *puStack_a0;\n  uint *puStack_9c;\n  int iStack_98;\n  undefined4 in_stack_ffffff8c;\n  uint local_40;\n  uint local_3c;\n  uint local_38;\n  uint local_34;\n  int local_30;\n  int local_2c;\n  uint local_28;\n  \n  puVar19 = &local_40;\n  uVar27 = gold::Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0);\n  puVar11 = (undefined4 *)(uVar27 >> 0x20);\n  uVar28 = gold::Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0);\n  puVar4 = (undefined4 *)((ulonglong)uVar28 >> 0x20);\n  local_28 = (uint)uVar28;\n  if (local_2c == local_30) {\n    if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }\nLAB_00286094:\n    puVar1 = (uint *)param_2[8];\n  }\n  else {\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }\n  if (puVar1 != (uint *)0x0) {\n    uVar9 = *puVar1;\n    uVar13 = puVar1[1];\n    uVar14 = local_38;\n    uVar25 = local_34;\n    uVar10 = uVar9;\n    uVar26 = uVar13;\n    if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }\n    *puVar1 = uVar10;\n    puVar1[1] = uVar26;\n  }\nLAB_002860cc:\n  puVar15 = puVar11;\n  if (((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28)) {\n    puVar4 = puVar15;\n  }\n  return puVar4;\n}" (type_identifier "undefined4") (pointer_declarator "* FUN_00285f50(int param_1,undefined4 *param_2)" (* "*") (function_declarator "FUN_00285f50(int param_1,undefined4 *param_2)" (identifier "FUN_00285f50") (parameter_list "(int param_1,undefined4 *param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")")))) (compound_statement "{\n  uint *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  uint uVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  char *pcVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  code *pcVar18;\n  uint *puVar19;\n  int *piVar20;\n  int iVar21;\n  undefined *puVar22;\n  code *pcVar23;\n  int *piVar24;\n  uint uVar25;\n  uint uVar26;\n  ulonglong uVar27;\n  undefined8 uVar28;\n  undefined4 uVar29;\n  char acStack_c8 [4];\n  uint uStack_c4;\n  uint uStack_c0;\n  uint uStack_bc;\n  code *pcStack_b8;\n  undefined4 *puStack_b0;\n  undefined4 *puStack_ac;\n  ulonglong uStack_a8;\n  uint *puStack_a0;\n  uint *puStack_9c;\n  int iStack_98;\n  undefined4 in_stack_ffffff8c;\n  uint local_40;\n  uint local_3c;\n  uint local_38;\n  uint local_34;\n  int local_30;\n  int local_2c;\n  uint local_28;\n  \n  puVar19 = &local_40;\n  uVar27 = gold::Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0);\n  puVar11 = (undefined4 *)(uVar27 >> 0x20);\n  uVar28 = gold::Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0);\n  puVar4 = (undefined4 *)((ulonglong)uVar28 >> 0x20);\n  local_28 = (uint)uVar28;\n  if (local_2c == local_30) {\n    if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }\nLAB_00286094:\n    puVar1 = (uint *)param_2[8];\n  }\n  else {\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }\n  if (puVar1 != (uint *)0x0) {\n    uVar9 = *puVar1;\n    uVar13 = puVar1[1];\n    uVar14 = local_38;\n    uVar25 = local_34;\n    uVar10 = uVar9;\n    uVar26 = uVar13;\n    if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }\n    *puVar1 = uVar10;\n    puVar1[1] = uVar26;\n  }\nLAB_002860cc:\n  puVar15 = puVar11;\n  if (((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28)) {\n    puVar4 = puVar15;\n  }\n  return puVar4;\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "undefined4 *puVar11;" (type_identifier "undefined4") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "char *pcVar12;" (primitive_type "char") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "undefined4 *puVar15;" (type_identifier "undefined4") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "undefined4 *puVar16;" (type_identifier "undefined4") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "undefined4 *puVar17;" (type_identifier "undefined4") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "code *pcVar18;" (type_identifier "code") (pointer_declarator "*pcVar18" (* "*") (identifier "pcVar18")) (; ";")) (declaration "uint *puVar19;" (type_identifier "uint") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "int *piVar20;" (primitive_type "int") (pointer_declarator "*piVar20" (* "*") (identifier "piVar20")) (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "undefined *puVar22;" (type_identifier "undefined") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "code *pcVar23;" (type_identifier "code") (pointer_declarator "*pcVar23" (* "*") (identifier "pcVar23")) (; ";")) (declaration "int *piVar24;" (primitive_type "int") (pointer_declarator "*piVar24" (* "*") (identifier "piVar24")) (; ";")) (declaration "uint uVar25;" (type_identifier "uint") (identifier "uVar25") (; ";")) (declaration "uint uVar26;" (type_identifier "uint") (identifier "uVar26") (; ";")) (declaration "ulonglong uVar27;" (type_identifier "ulonglong") (identifier "uVar27") (; ";")) (declaration "undefined8 uVar28;" (type_identifier "undefined8") (identifier "uVar28") (; ";")) (declaration "undefined4 uVar29;" (type_identifier "undefined4") (identifier "uVar29") (; ";")) (declaration "char acStack_c8 [4];" (primitive_type "char") (array_declarator "acStack_c8 [4]" (identifier "acStack_c8") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "uint uStack_c4;" (type_identifier "uint") (identifier "uStack_c4") (; ";")) (declaration "uint uStack_c0;" (type_identifier "uint") (identifier "uStack_c0") (; ";")) (declaration "uint uStack_bc;" (type_identifier "uint") (identifier "uStack_bc") (; ";")) (declaration "code *pcStack_b8;" (type_identifier "code") (pointer_declarator "*pcStack_b8" (* "*") (identifier "pcStack_b8")) (; ";")) (declaration "undefined4 *puStack_b0;" (type_identifier "undefined4") (pointer_declarator "*puStack_b0" (* "*") (identifier "puStack_b0")) (; ";")) (declaration "undefined4 *puStack_ac;" (type_identifier "undefined4") (pointer_declarator "*puStack_ac" (* "*") (identifier "puStack_ac")) (; ";")) (declaration "ulonglong uStack_a8;" (type_identifier "ulonglong") (identifier "uStack_a8") (; ";")) (declaration "uint *puStack_a0;" (type_identifier "uint") (pointer_declarator "*puStack_a0" (* "*") (identifier "puStack_a0")) (; ";")) (declaration "uint *puStack_9c;" (type_identifier "uint") (pointer_declarator "*puStack_9c" (* "*") (identifier "puStack_9c")) (; ";")) (declaration "int iStack_98;" (primitive_type "int") (identifier "iStack_98") (; ";")) (declaration "undefined4 in_stack_ffffff8c;" (type_identifier "undefined4") (identifier "in_stack_ffffff8c") (; ";")) (declaration "uint local_40;" (type_identifier "uint") (identifier "local_40") (; ";")) (declaration "uint local_3c;" (type_identifier "uint") (identifier "local_3c") (; ";")) (declaration "uint local_38;" (type_identifier "uint") (identifier "local_38") (; ";")) (declaration "uint local_34;" (type_identifier "uint") (identifier "local_34") (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (declaration "uint local_28;" (type_identifier "uint") (identifier "local_28") (; ";")) (expression_statement "puVar19 = &local_40;" (assignment_expression "puVar19 = &local_40" (identifier "puVar19") (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (ERROR "uVar27 = gold::" (assignment_expression "uVar27 = gold" (identifier "uVar27") (= "=") (identifier "gold")) (: ":") (: ":")) (labeled_statement "Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0);" (statement_identifier "Expression") (: ":") (ERROR ":" (: ":")) (expression_statement "eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0);" (call_expression "eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0)" (identifier "eval_maybe_dot") (argument_list "(*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,\n                      (bool *)0x0)" (( "(") (pointer_expression "*(Symbol_table **)(param_1 + 4)" (* "*") (cast_expression "(Symbol_table **)(param_1 + 4)" (( "(") (type_descriptor "Symbol_table **" (type_identifier "Symbol_table") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (, ",") (cast_expression "(Layout *)*param_2" (( "(") (type_descriptor "Layout *" (type_identifier "Layout") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (, ",") (call_expression "SUB41(param_2[1],0)" (identifier "SUB41") (argument_list "(param_2[1],0)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "0") () ")"))) (, ",") (pointer_expression "*(bool *)(param_2 + 2)" (* "*") (cast_expression "(bool *)(param_2 + 2)" (( "(") (type_descriptor "bool *" (primitive_type "bool") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 2)" (( "(") (binary_expression "param_2 + 2" (identifier "param_2") (+ "+") (number_literal "2")) () ")")))) (, ",") (cast_expression "(ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (call_expression "CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" (identifier "CONCAT14") (argument_list "(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" (( "(") (pointer_expression "*(undefined1 *)((int)param_2 + 9)" (* "*") (cast_expression "(undefined1 *)((int)param_2 + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 9)" (( "(") (binary_expression "(int)param_2 + 9" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "9")) () ")")))) (, ",") (identifier "in_stack_ffffff8c") () ")")))) (, ",") (cast_expression "(Output_section *)param_2[4]" (( "(") (type_descriptor "Output_section *" (type_identifier "Output_section") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]"))) (, ",") (cast_expression "(Output_section **)param_2[5]" (( "(") (type_descriptor "Output_section **" (type_identifier "Output_section") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]"))) (, ",") (cast_expression "(ulonglong *)param_2[6]" (( "(") (type_descriptor "ulonglong *" (type_identifier "ulonglong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]"))) (, ",") (cast_expression "(STT *)&local_2c" (( "(") (type_descriptor "STT *" (type_identifier "STT") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_2c" (& "&") (identifier "local_2c"))) (, ",") (cast_expression "(STV *)&local_38" (( "(") (type_descriptor "STV *" (type_identifier "STV") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) (, ",") (cast_expression "(uchar *)0x0" (( "(") (type_descriptor "uchar *" (type_identifier "uchar") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (, ",") (false "false") (, ",") (cast_expression "(bool *)0x0" (( "(") (type_descriptor "bool *" (primitive_type "bool") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) () ")"))) (; ";"))) (expression_statement "puVar11 = (undefined4 *)(uVar27 >> 0x20);" (assignment_expression "puVar11 = (undefined4 *)(uVar27 >> 0x20)" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)(uVar27 >> 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar27 >> 0x20)" (( "(") (binary_expression "uVar27 >> 0x20" (identifier "uVar27") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (ERROR "uVar28 = gold::" (assignment_expression "uVar28 = gold" (identifier "uVar28") (= "=") (identifier "gold")) (: ":") (: ":")) (labeled_statement "Expression::eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0);" (statement_identifier "Expression") (: ":") (ERROR ":" (: ":")) (expression_statement "eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0);" (call_expression "eval_maybe_dot\n                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0)" (identifier "eval_maybe_dot") (argument_list "(*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),\n                      *(bool *)(param_2 + 2),\n                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),\n                      (Output_section *)param_2[4],(Output_section **)param_2[5],\n                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,\n                      (bool *)0x0)" (( "(") (pointer_expression "*(Symbol_table **)(param_1 + 8)" (* "*") (cast_expression "(Symbol_table **)(param_1 + 8)" (( "(") (type_descriptor "Symbol_table **" (type_identifier "Symbol_table") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (, ",") (cast_expression "(Layout *)*param_2" (( "(") (type_descriptor "Layout *" (type_identifier "Layout") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (, ",") (call_expression "SUB41(param_2[1],0)" (identifier "SUB41") (argument_list "(param_2[1],0)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "0") () ")"))) (, ",") (pointer_expression "*(bool *)(param_2 + 2)" (* "*") (cast_expression "(bool *)(param_2 + 2)" (( "(") (type_descriptor "bool *" (primitive_type "bool") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 2)" (( "(") (binary_expression "param_2 + 2" (identifier "param_2") (+ "+") (number_literal "2")) () ")")))) (, ",") (cast_expression "(ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (call_expression "CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" (identifier "CONCAT14") (argument_list "(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c)" (( "(") (pointer_expression "*(undefined1 *)((int)param_2 + 9)" (* "*") (cast_expression "(undefined1 *)((int)param_2 + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 9)" (( "(") (binary_expression "(int)param_2 + 9" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "9")) () ")")))) (, ",") (identifier "in_stack_ffffff8c") () ")")))) (, ",") (cast_expression "(Output_section *)param_2[4]" (( "(") (type_descriptor "Output_section *" (type_identifier "Output_section") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]"))) (, ",") (cast_expression "(Output_section **)param_2[5]" (( "(") (type_descriptor "Output_section **" (type_identifier "Output_section") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]"))) (, ",") (cast_expression "(ulonglong *)param_2[6]" (( "(") (type_descriptor "ulonglong *" (type_identifier "ulonglong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]"))) (, ",") (cast_expression "(STT *)&local_30" (( "(") (type_descriptor "STT *" (type_identifier "STT") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_30" (& "&") (identifier "local_30"))) (, ",") (cast_expression "(STV *)puVar19" (( "(") (type_descriptor "STV *" (type_identifier "STV") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar19")) (, ",") (cast_expression "(uchar *)0x0" (( "(") (type_descriptor "uchar *" (type_identifier "uchar") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (, ",") (false "false") (, ",") (cast_expression "(bool *)0x0" (( "(") (type_descriptor "bool *" (primitive_type "bool") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) () ")"))) (; ";"))) (expression_statement "puVar4 = (undefined4 *)((ulonglong)uVar28 >> 0x20);" (assignment_expression "puVar4 = (undefined4 *)((ulonglong)uVar28 >> 0x20)" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)((ulonglong)uVar28 >> 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar28")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_28 = (uint)uVar28;" (assignment_expression "local_28 = (uint)uVar28" (identifier "local_28") (= "=") (cast_expression "(uint)uVar28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar28"))) (; ";")) (if_statement "if (local_2c == local_30) {\n    if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }\nLAB_00286094:\n    puVar1 = (uint *)param_2[8];\n  }\n  else {\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }" (if "if") (parenthesized_expression "(local_2c == local_30)" (( "(") (binary_expression "local_2c == local_30" (identifier "local_2c") (== "==") (identifier "local_30")) () ")")) (compound_statement "{\n    if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }\nLAB_00286094:\n    puVar1 = (uint *)param_2[8];\n  }" ({ "{") (if_statement "if ((int *)param_2[7] != (int *)0x0) {\n      *(int *)param_2[7] = local_2c;\n    }" (if "if") (parenthesized_expression "((int *)param_2[7] != (int *)0x0)" (( "(") (binary_expression "(int *)param_2[7] != (int *)0x0" (cast_expression "(int *)param_2[7]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]"))) (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *(int *)param_2[7] = local_2c;\n    }" ({ "{") (expression_statement "*(int *)param_2[7] = local_2c;" (assignment_expression "*(int *)param_2[7] = local_2c" (pointer_expression "*(int *)param_2[7]" (* "*") (cast_expression "(int *)param_2[7]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")))) (= "=") (identifier "local_2c")) (; ";")) (} "}"))) (labeled_statement "LAB_00286094:\n    puVar1 = (uint *)param_2[8];" (statement_identifier "LAB_00286094") (: ":") (expression_statement "puVar1 = (uint *)param_2[8];" (assignment_expression "puVar1 = (uint *)param_2[8]" (identifier "puVar1") (= "=") (cast_expression "(uint *)param_2[8]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[8]" (identifier "param_2") ([ "[") (number_literal "8") (] "]")))) (; ";"))) (} "}")) (else_clause "else {\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }" (else "else") (compound_statement "{\n    if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }\n    puVar1 = (uint *)param_2[8];\n  }" ({ "{") (if_statement "if ((local_2c != 0) || (local_30 != 0)) {\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }" (if "if") (parenthesized_expression "((local_2c != 0) || (local_30 != 0))" (( "(") (binary_expression "(local_2c != 0) || (local_30 != 0)" (parenthesized_expression "(local_2c != 0)" (( "(") (binary_expression "local_2c != 0" (identifier "local_2c") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_30 != 0)" (( "(") (binary_expression "local_30 != 0" (identifier "local_30") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }\n      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }\n      goto LAB_00286094;\n    }" ({ "{") (if_statement "if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }" (if "if") (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0)" (( "(") (binary_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" (* "*") (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" (( "(") (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" (* "*") (cast_expression "(int *)PTR_parameters_00432be0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_00432be0"))) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n        puVar22 = PTR_do_gold_unreachable_004323c4;\n        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);\n        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);\n        piVar20 = (int *)puVar11[1];\n        puStack_b0 = param_2;\n        puStack_ac = puVar4;\n        puStack_a0 = &local_38;\n        puStack_9c = puVar19;\n        iStack_98 = param_1;\nLAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );\n      }" ({ "{") (expression_statement "puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);" (assignment_expression "puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec)" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_alize_xindex_004323b4 + -0x5cec)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x5cec")) () ")")))) (; ";")) (expression_statement "puVar22 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar22 = PTR_do_gold_unreachable_004323c4" (identifier "puVar22") (= "=") (identifier "PTR_do_gold_unreachable_004323c4")) (; ";")) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(puVar11,0x5c,PTR_DAT_0043226c + 0x2730)" (( "(") (identifier "puVar11") (, ",") (number_literal "0x5c") (, ",") (binary_expression "PTR_DAT_0043226c + 0x2730" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x2730")) () ")"))) (; ";")) (expression_statement "pcStack_b8 = *(code **)(puVar22 + 0x1af82c);" (assignment_expression "pcStack_b8 = *(code **)(puVar22 + 0x1af82c)" (identifier "pcStack_b8") (= "=") (pointer_expression "*(code **)(puVar22 + 0x1af82c)" (* "*") (cast_expression "(code **)(puVar22 + 0x1af82c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x1af82c)" (( "(") (binary_expression "puVar22 + 0x1af82c" (identifier "puVar22") (+ "+") (number_literal "0x1af82c")) () ")"))))) (; ";")) (expression_statement "piVar20 = (int *)puVar11[1];" (assignment_expression "piVar20 = (int *)puVar11[1]" (identifier "piVar20") (= "=") (cast_expression "(int *)puVar11[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "puStack_b0 = param_2;" (assignment_expression "puStack_b0 = param_2" (identifier "puStack_b0") (= "=") (identifier "param_2")) (; ";")) (expression_statement "puStack_ac = puVar4;" (assignment_expression "puStack_ac = puVar4" (identifier "puStack_ac") (= "=") (identifier "puVar4")) (; ";")) (expression_statement "puStack_a0 = &local_38;" (assignment_expression "puStack_a0 = &local_38" (identifier "puStack_a0") (= "=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) (; ";")) (expression_statement "puStack_9c = puVar19;" (assignment_expression "puStack_9c = puVar19" (identifier "puStack_9c") (= "=") (identifier "puVar19")) (; ";")) (expression_statement "iStack_98 = param_1;" (assignment_expression "iStack_98 = param_1" (identifier "iStack_98") (= "=") (identifier "param_1")) (; ";")) (labeled_statement "LAB_002862a4:\n        do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );" (statement_identifier "LAB_002862a4") (: ":") (do_statement "do {\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        } while( true );" (do "do") (compound_statement "{\n          piVar24 = (int *)*puVar11;\nLAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));\n          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);\n          puVar4 = puVar11 + 0xe;\n          pcVar12 = acStack_c8;\n          puVar15 = (undefined4 *)puVar11[0xb];\n          *piVar20 = 0;\n          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);\n          uVar2 = puVar11[0xf];\n          piVar20[1] = uStack_c0;\n          piVar20[2] = uStack_bc;\n          uVar29 = 1;\n          (*pcVar23)();\n          uVar10 = uStack_c4;\n          if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }\n          puVar4 = (undefined4 *)puVar11[6];\n          piVar20 = (int *)puVar11[1];\n          puVar11[0xd] = puVar11[0xd] + 1;\n          puVar15 = puVar11 + 5;\n          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;\n          do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);\n          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;\n          piVar24 = (int *)puVar15[8];\n          if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }\n          do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);\n        }" ({ "{") (expression_statement "piVar24 = (int *)*puVar11;" (assignment_expression "piVar24 = (int *)*puVar11" (identifier "piVar24") (= "=") (cast_expression "(int *)*puVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")))) (; ";")) (labeled_statement "LAB_002862a8:\n          do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));" (statement_identifier "LAB_002862a8") (: ":") (do_statement "do {\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          } while ((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));" (do "do") (compound_statement "{\n            if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }\n            uStack_c0 = piVar20[-2];\n            pcVar18 = *(code **)(puVar22 + 0x1acdb0);\n            uStack_bc = piVar20[-1];\n            puVar11[1] = piVar20 + -2;\n            uVar14 = uStack_c0 ^ uStack_bc;\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uVar25 = uVar14 % (uint)puVar11[0xb];\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);\n          }" ({ "{") (if_statement "if (piVar20 == piVar24) {\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }" (if "if") (parenthesized_expression "(piVar20 == piVar24)" (( "(") (binary_expression "piVar20 == piVar24" (identifier "piVar20") (== "==") (identifier "piVar24")) () ")")) (compound_statement "{\n              *(undefined1 *)(puVar11 + 3) = 1;\n              return (undefined4 *)0x1;\n            }" ({ "{") (expression_statement "*(undefined1 *)(puVar11 + 3) = 1;" (assignment_expression "*(undefined1 *)(puVar11 + 3) = 1" (pointer_expression "*(undefined1 *)(puVar11 + 3)" (* "*") (cast_expression "(undefined1 *)(puVar11 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 3)" (( "(") (binary_expression "puVar11 + 3" (identifier "puVar11") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "1")) (; ";")) (return_statement "return (undefined4 *)0x1;" (return "return") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (; ";")) (} "}"))) (expression_statement "uStack_c0 = piVar20[-2];" (assignment_expression "uStack_c0 = piVar20[-2]" (identifier "uStack_c0") (= "=") (subscript_expression "piVar20[-2]" (identifier "piVar20") ([ "[") (number_literal "-2") (] "]"))) (; ";")) (expression_statement "pcVar18 = *(code **)(puVar22 + 0x1acdb0);" (assignment_expression "pcVar18 = *(code **)(puVar22 + 0x1acdb0)" (identifier "pcVar18") (= "=") (pointer_expression "*(code **)(puVar22 + 0x1acdb0)" (* "*") (cast_expression "(code **)(puVar22 + 0x1acdb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x1acdb0)" (( "(") (binary_expression "puVar22 + 0x1acdb0" (identifier "puVar22") (+ "+") (number_literal "0x1acdb0")) () ")"))))) (; ";")) (expression_statement "uStack_bc = piVar20[-1];" (assignment_expression "uStack_bc = piVar20[-1]" (identifier "uStack_bc") (= "=") (subscript_expression "piVar20[-1]" (identifier "piVar20") ([ "[") (number_literal "-1") (] "]"))) (; ";")) (expression_statement "puVar11[1] = piVar20 + -2;" (assignment_expression "puVar11[1] = piVar20 + -2" (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "piVar20 + -2" (identifier "piVar20") (+ "+") (number_literal "-2"))) (; ";")) (expression_statement "uVar14 = uStack_c0 ^ uStack_bc;" (assignment_expression "uVar14 = uStack_c0 ^ uStack_bc" (identifier "uVar14") (= "=") (binary_expression "uStack_c0 ^ uStack_bc" (identifier "uStack_c0") (^ "^") (identifier "uStack_bc"))) (; ";")) (if_statement "if (puVar11[0xb] == 0) {\n              trap(7);\n            }" (if "if") (parenthesized_expression "(puVar11[0xb] == 0)" (( "(") (binary_expression "puVar11[0xb] == 0" (subscript_expression "puVar11[0xb]" (identifier "puVar11") ([ "[") (number_literal "0xb") (] "]")) (== "==") (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 "uVar25 = uVar14 % (uint)puVar11[0xb];" (assignment_expression "uVar25 = uVar14 % (uint)puVar11[0xb]" (identifier "uVar25") (= "=") (binary_expression "uVar14 % (uint)puVar11[0xb]" (identifier "uVar14") (% "%") (cast_expression "(uint)puVar11[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar11[0xb]" (identifier "puVar11") ([ "[") (number_literal "0xb") (] "]"))))) (; ";")) (expression_statement "uStack_a8 = uVar27;" (assignment_expression "uStack_a8 = uVar27" (identifier "uStack_a8") (= "=") (identifier "uVar27")) (; ";")) (expression_statement "piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);" (assignment_expression "piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14)" (identifier "piVar3") (= "=") (cast_expression "(int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14)" (parenthesized_expression "(*pcVar18)" (( "(") (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) () ")")) (argument_list "(puVar11 + 10,uVar25,&uStack_c0,uVar14)" (( "(") (binary_expression "puVar11 + 10" (identifier "puVar11") (+ "+") (number_literal "10")) (, ",") (identifier "uVar25") (, ",") (pointer_expression "&uStack_c0" (& "&") (identifier "uStack_c0")) (, ",") (identifier "uVar14") () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0))" (( "(") (binary_expression "(piVar3 != (int *)0x0) &&\n                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0)" (parenthesized_expression "(piVar3 != (int *)0x0)" (( "(") (binary_expression "piVar3 != (int *)0x0" (identifier "piVar3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0)" (( "(") (comma_expression "piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0" (assignment_expression "piVar20 = piVar20 + -2" (identifier "piVar20") (= "=") (binary_expression "piVar20 + -2" (identifier "piVar20") (+ "+") (number_literal "-2"))) (, ",") (comma_expression "uVar27 = uStack_a8, *piVar3 != 0" (assignment_expression "uVar27 = uStack_a8" (identifier "uVar27") (= "=") (identifier "uStack_a8")) (, ",") (binary_expression "*piVar3 != 0" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (!= "!=") (number_literal "0")))) () ")"))) () ")")) (; ";"))) (expression_statement "piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);" (assignment_expression "piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10)" (identifier "piVar20") (= "=") (cast_expression "(int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar22 + 0x1ac0ec))(0x10)" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac0ec))" (( "(") (pointer_expression "**(code **)(puVar22 + 0x1ac0ec)" (* "*") (pointer_expression "*(code **)(puVar22 + 0x1ac0ec)" (* "*") (cast_expression "(code **)(puVar22 + 0x1ac0ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x1ac0ec)" (( "(") (binary_expression "puVar22 + 0x1ac0ec" (identifier "puVar22") (+ "+") (number_literal "0x1ac0ec")) () ")"))))) () ")")) (argument_list "(0x10)" (( "(") (number_literal "0x10") () ")"))))) (; ";")) (expression_statement "puVar4 = puVar11 + 0xe;" (assignment_expression "puVar4 = puVar11 + 0xe" (identifier "puVar4") (= "=") (binary_expression "puVar11 + 0xe" (identifier "puVar11") (+ "+") (number_literal "0xe"))) (; ";")) (expression_statement "pcVar12 = acStack_c8;" (assignment_expression "pcVar12 = acStack_c8" (identifier "pcVar12") (= "=") (identifier "acStack_c8")) (; ";")) (expression_statement "puVar15 = (undefined4 *)puVar11[0xb];" (assignment_expression "puVar15 = (undefined4 *)puVar11[0xb]" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)puVar11[0xb]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[0xb]" (identifier "puVar11") ([ "[") (number_literal "0xb") (] "]")))) (; ";")) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar23 = *(code **)(puVar22 + 0x1ac8e0);" (assignment_expression "pcVar23 = *(code **)(puVar22 + 0x1ac8e0)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(puVar22 + 0x1ac8e0)" (* "*") (cast_expression "(code **)(puVar22 + 0x1ac8e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x1ac8e0)" (( "(") (binary_expression "puVar22 + 0x1ac8e0" (identifier "puVar22") (+ "+") (number_literal "0x1ac8e0")) () ")"))))) (; ";")) (expression_statement "uVar2 = puVar11[0xf];" (assignment_expression "uVar2 = puVar11[0xf]" (identifier "uVar2") (= "=") (subscript_expression "puVar11[0xf]" (identifier "puVar11") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "piVar20[1] = uStack_c0;" (assignment_expression "piVar20[1] = uStack_c0" (subscript_expression "piVar20[1]" (identifier "piVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uStack_c0")) (; ";")) (expression_statement "piVar20[2] = uStack_bc;" (assignment_expression "piVar20[2] = uStack_bc" (subscript_expression "piVar20[2]" (identifier "piVar20") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uStack_bc")) (; ";")) (expression_statement "uVar29 = 1;" (assignment_expression "uVar29 = 1" (identifier "uVar29") (= "=") (number_literal "1")) (; ";")) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar10 = uStack_c4;" (assignment_expression "uVar10 = uStack_c4" (identifier "uVar10") (= "=") (identifier "uStack_c4")) (; ";")) (if_statement "if (acStack_c8[0] == '\0') {\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }\n          else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }" (if "if") (parenthesized_expression "(acStack_c8[0] == '\0')" (( "(") (binary_expression "acStack_c8[0] == '\0'" (subscript_expression "acStack_c8[0]" (identifier "acStack_c8") ([ "[") (number_literal "0") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            puVar4 = (undefined4 *)puVar11[10];\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar25;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 == (int *)0x0) goto LAB_00286470;\nLAB_002864c8:\n            *piVar20 = *piVar24;\n            *(int **)*piVar3 = piVar20;\n          }" ({ "{") (expression_statement "puVar4 = (undefined4 *)puVar11[10];" (assignment_expression "puVar4 = (undefined4 *)puVar11[10]" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)puVar11[10]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[10]" (identifier "puVar11") ([ "[") (number_literal "10") (] "]")))) (; ";")) (expression_statement "piVar20[3] = uVar14;" (assignment_expression "piVar20[3] = uVar14" (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar14")) (; ";")) (expression_statement "piVar3 = puVar4 + uVar25;" (assignment_expression "piVar3 = puVar4 + uVar25" (identifier "piVar3") (= "=") (binary_expression "puVar4 + uVar25" (identifier "puVar4") (+ "+") (identifier "uVar25"))) (; ";")) (expression_statement "piVar24 = (int *)*piVar3;" (assignment_expression "piVar24 = (int *)*piVar3" (identifier "piVar24") (= "=") (cast_expression "(int *)*piVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar3" (* "*") (identifier "piVar3")))) (; ";")) (expression_statement "uVar27 = uStack_a8;" (assignment_expression "uVar27 = uStack_a8" (identifier "uVar27") (= "=") (identifier "uStack_a8")) (; ";")) (if_statement "if (piVar24 == (int *)0x0) goto LAB_00286470;" (if "if") (parenthesized_expression "(piVar24 == (int *)0x0)" (( "(") (binary_expression "piVar24 == (int *)0x0" (identifier "piVar24") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00286470;" (goto "goto") (statement_identifier "LAB_00286470") (; ";"))) (labeled_statement "LAB_002864c8:\n            *piVar20 = *piVar24;" (statement_identifier "LAB_002864c8") (: ":") (expression_statement "*piVar20 = *piVar24;" (assignment_expression "*piVar20 = *piVar24" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (pointer_expression "*piVar24" (* "*") (identifier "piVar24"))) (; ";"))) (expression_statement "*(int **)*piVar3 = piVar20;" (assignment_expression "*(int **)*piVar3 = piVar20" (pointer_expression "*(int **)*piVar3" (* "*") (cast_expression "(int **)*piVar3" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*piVar3" (* "*") (identifier "piVar3")))) (= "=") (identifier "piVar20")) (; ";")) (} "}")) (else_clause "else {\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }" (else "else") (compound_statement "{\n            if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }\n            piVar24 = (int *)puVar11[0xc];\n            puVar11[0xc] = 0;\n            if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }\nLAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }\n            if (uVar10 == 0) {\n              trap(7);\n            }\n            puVar11[0xb] = uVar10;\n            puVar11[10] = puVar4;\n            piVar20[3] = uVar14;\n            piVar3 = puVar4 + uVar14 % uVar10;\n            piVar24 = (int *)*piVar3;\n            uVar27 = uStack_a8;\n            if (piVar24 != (int *)0x0) goto LAB_002864c8;\nLAB_00286470:\n            iVar21 = puVar11[0xc];\n            puVar11[0xc] = piVar20;\n            *piVar20 = iVar21;\n            if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }\n            *piVar3 = (int)(puVar11 + 0xc);\n            uVar27 = uStack_a8;\n          }" ({ "{") (if_statement "if (uStack_c4 == 1) {\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }\n            else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }" (if "if") (parenthesized_expression "(uStack_c4 == 1)" (( "(") (binary_expression "uStack_c4 == 1" (identifier "uStack_c4") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n              puVar4 = puVar11 + 0x10;\n              puVar11[0x10] = 0;\n            }" ({ "{") (expression_statement "puVar4 = puVar11 + 0x10;" (assignment_expression "puVar4 = puVar11 + 0x10" (identifier "puVar4") (= "=") (binary_expression "puVar11 + 0x10" (identifier "puVar11") (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "puVar11[0x10] = 0;" (assignment_expression "puVar11[0x10] = 0" (subscript_expression "puVar11[0x10]" (identifier "puVar11") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }" (else "else") (compound_statement "{\n              iVar21 = uStack_c4 << 2;\n              if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }\n              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);\n              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);\n            }" ({ "{") (expression_statement "iVar21 = uStack_c4 << 2;" (assignment_expression "iVar21 = uStack_c4 << 2" (identifier "iVar21") (= "=") (binary_expression "uStack_c4 << 2" (identifier "uStack_c4") (<< "<<") (number_literal "2"))) (; ";")) (if_statement "if (0x3fffffff < uStack_c4) {\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }" (if "if") (parenthesized_expression "(0x3fffffff < uStack_c4)" (( "(") (binary_expression "0x3fffffff < uStack_c4" (number_literal "0x3fffffff") (< "<") (identifier "uStack_c4")) () ")")) (compound_statement "{\n                (**(code **)(puVar22 + 0x1ac1b4))();\n                (**(code **)(puVar22 + 0x1ac7cc))();\n                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);\n                puVar11[0xf] = uVar2;\n                (*pcVar18)();\n                pcStack_b8 = (code *)pcVar12;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);\n                (**(code **)(puVar22 + 0x1ac03c))();\n                (**(code **)(puVar22 + 0x1ac7d0))();\n                pcStack_b8 = (code *)piVar20;\n                (**(code **)(puVar22 + 0x1ac7d4))();\n                pcVar23 = *(code **)(puVar22 + 0x1ac008);\n                pcVar18 = pcStack_b8;\n                (*pcVar23)();\n                puVar5 = *(undefined4 **)pcVar18;\n                puVar11 = *(undefined4 **)((int)pcVar18 + 4);\n                uVar14 = (int)puVar11 - (int)puVar5 >> 3;\n                if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }\n                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);\n                iVar21 = (int)puVar6 + iVar21;\n                puVar17 = puVar6 + 2;\nLAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));\n                uVar2 = puVar15[1];\n                *puVar7 = *puVar15;\n                puVar7[1] = uVar2;\n                puVar15 = puVar5;\n                puVar16 = puVar6;\n                if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }\n                puVar15 = puVar4;\n                puVar16 = puVar17;\n                if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }\n                if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }\n                *(undefined4 **)pcVar18 = puVar6;\n                *(undefined4 **)((int)pcVar18 + 4) = puVar17;\n                *(int *)((int)pcVar18 + 8) = iVar21;\n                return puVar7;\n              }" ({ "{") (expression_statement "(**(code **)(puVar22 + 0x1ac1b4))();" (call_expression "(**(code **)(puVar22 + 0x1ac1b4))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac1b4))" (( "(") (pointer_expression "**(code **)(puVar22 + 0x1ac1b4)" (* "*") (pointer_expression "*(code **)(puVar22 + 0x1ac1b4)" (* "*") (cast_expression "(code **)(puVar22 + 0x1ac1b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x1ac1b4)" (( "(") (binary_expression "puVar22 + 0x1ac1b4" (identifier "puVar22") (+ "+") (number_literal "0x1ac1b4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar22 + 0x1ac7cc))();" (call_expression "(**(code **)(puVar22 + 0x1ac7cc))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac7cc))" (( "(") (pointer_expression "**(code **)(puVar22 + 0x1ac7cc)" (* "*") (pointer_expression "*(code **)(puVar22 + 0x1ac7cc)" (* "*") (cast_expression "(code **)(puVar22 + 0x1ac7cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x1ac7cc)" (( "(") (binary_expression "puVar22 + 0x1ac7cc" (identifier "puVar22") (+ "+") (number_literal "0x1ac7cc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar18 = *(code **)(puVar22 + 0x1ac7d0);" (assignment_expression "pcVar18 = *(code **)(puVar22 + 0x1ac7d0)" (identifier "pcVar18") (= "=") (pointer_expression "*(code **)(puVar22 + 0x1ac7d0)" (* "*") (cast_expression "(code **)(puVar22 + 0x1ac7d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x1ac7d0)" (( "(") (binary_expression "puVar22 + 0x1ac7d0" (identifier "puVar22") (+ "+") (number_literal "0x1ac7d0")) () ")"))))) (; ";")) (expression_statement "puVar11[0xf] = uVar2;" (assignment_expression "puVar11[0xf] = uVar2" (subscript_expression "puVar11[0xf]" (identifier "puVar11") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "(*pcVar18)();" (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" (( "(") (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_b8 = (code *)pcVar12;" (assignment_expression "pcStack_b8 = (code *)pcVar12" (identifier "pcStack_b8") (= "=") (cast_expression "(code *)pcVar12" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar12"))) (; ";")) (expression_statement "(**(code **)(puVar22 + 0x1ac7d4))();" (call_expression "(**(code **)(puVar22 + 0x1ac7d4))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac7d4))" (( "(") (pointer_expression "**(code **)(puVar22 + 0x1ac7d4)" (* "*") (pointer_expression "*(code **)(puVar22 + 0x1ac7d4)" (* "*") (cast_expression "(code **)(puVar22 + 0x1ac7d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x1ac7d4)" (( "(") (binary_expression "puVar22 + 0x1ac7d4" (identifier "puVar22") (+ "+") (number_literal "0x1ac7d4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);" (call_expression "(**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8)" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac7cc))" (( "(") (pointer_expression "**(code **)(puVar22 + 0x1ac7cc)" (* "*") (pointer_expression "*(code **)(puVar22 + 0x1ac7cc)" (* "*") (cast_expression "(code **)(puVar22 + 0x1ac7cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x1ac7cc)" (( "(") (binary_expression "puVar22 + 0x1ac7cc" (identifier "puVar22") (+ "+") (number_literal "0x1ac7cc")) () ")"))))) () ")")) (argument_list "(pcStack_b8)" (( "(") (identifier "pcStack_b8") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar22 + 0x1ac03c))();" (call_expression "(**(code **)(puVar22 + 0x1ac03c))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac03c))" (( "(") (pointer_expression "**(code **)(puVar22 + 0x1ac03c)" (* "*") (pointer_expression "*(code **)(puVar22 + 0x1ac03c)" (* "*") (cast_expression "(code **)(puVar22 + 0x1ac03c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x1ac03c)" (( "(") (binary_expression "puVar22 + 0x1ac03c" (identifier "puVar22") (+ "+") (number_literal "0x1ac03c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar22 + 0x1ac7d0))();" (call_expression "(**(code **)(puVar22 + 0x1ac7d0))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac7d0))" (( "(") (pointer_expression "**(code **)(puVar22 + 0x1ac7d0)" (* "*") (pointer_expression "*(code **)(puVar22 + 0x1ac7d0)" (* "*") (cast_expression "(code **)(puVar22 + 0x1ac7d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x1ac7d0)" (( "(") (binary_expression "puVar22 + 0x1ac7d0" (identifier "puVar22") (+ "+") (number_literal "0x1ac7d0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_b8 = (code *)piVar20;" (assignment_expression "pcStack_b8 = (code *)piVar20" (identifier "pcStack_b8") (= "=") (cast_expression "(code *)piVar20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar20"))) (; ";")) (expression_statement "(**(code **)(puVar22 + 0x1ac7d4))();" (call_expression "(**(code **)(puVar22 + 0x1ac7d4))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac7d4))" (( "(") (pointer_expression "**(code **)(puVar22 + 0x1ac7d4)" (* "*") (pointer_expression "*(code **)(puVar22 + 0x1ac7d4)" (* "*") (cast_expression "(code **)(puVar22 + 0x1ac7d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x1ac7d4)" (( "(") (binary_expression "puVar22 + 0x1ac7d4" (identifier "puVar22") (+ "+") (number_literal "0x1ac7d4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar23 = *(code **)(puVar22 + 0x1ac008);" (assignment_expression "pcVar23 = *(code **)(puVar22 + 0x1ac008)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(puVar22 + 0x1ac008)" (* "*") (cast_expression "(code **)(puVar22 + 0x1ac008)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x1ac008)" (( "(") (binary_expression "puVar22 + 0x1ac008" (identifier "puVar22") (+ "+") (number_literal "0x1ac008")) () ")"))))) (; ";")) (expression_statement "pcVar18 = pcStack_b8;" (assignment_expression "pcVar18 = pcStack_b8" (identifier "pcVar18") (= "=") (identifier "pcStack_b8")) (; ";")) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar5 = *(undefined4 **)pcVar18;" (assignment_expression "puVar5 = *(undefined4 **)pcVar18" (identifier "puVar5") (= "=") (pointer_expression "*(undefined4 **)pcVar18" (* "*") (cast_expression "(undefined4 **)pcVar18" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar18")))) (; ";")) (expression_statement "puVar11 = *(undefined4 **)((int)pcVar18 + 4);" (assignment_expression "puVar11 = *(undefined4 **)((int)pcVar18 + 4)" (identifier "puVar11") (= "=") (pointer_expression "*(undefined4 **)((int)pcVar18 + 4)" (* "*") (cast_expression "(undefined4 **)((int)pcVar18 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pcVar18 + 4)" (( "(") (binary_expression "(int)pcVar18 + 4" (cast_expression "(int)pcVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar18")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar14 = (int)puVar11 - (int)puVar5 >> 3;" (assignment_expression "uVar14 = (int)puVar11 - (int)puVar5 >> 3" (identifier "uVar14") (= "=") (binary_expression "(int)puVar11 - (int)puVar5 >> 3" (binary_expression "(int)puVar11 - (int)puVar5" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (- "-") (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5"))) (>> ">>") (number_literal "3"))) (; ";")) (if_statement "if (uVar14 == 0) {\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }\n                else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }" (if "if") (parenthesized_expression "(uVar14 == 0)" (( "(") (binary_expression "uVar14 == 0" (identifier "uVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar25 = 1;\nLAB_00286884:\n                  iVar21 = uVar25 << 3;\n                }" ({ "{") (expression_statement "uVar25 = 1;" (assignment_expression "uVar25 = 1" (identifier "uVar25") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00286884:\n                  iVar21 = uVar25 << 3;" (statement_identifier "LAB_00286884") (: ":") (expression_statement "iVar21 = uVar25 << 3;" (assignment_expression "iVar21 = uVar25 << 3" (identifier "iVar21") (= "=") (binary_expression "uVar25 << 3" (identifier "uVar25") (<< "<<") (number_literal "3"))) (; ";"))) (} "}")) (else_clause "else {\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }" (else "else") (compound_statement "{\n                  uVar25 = uVar14 << 1;\n                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }\n                  iVar21 = -8;\n                }" ({ "{") (expression_statement "uVar25 = uVar14 << 1;" (assignment_expression "uVar25 = uVar14 << 1" (identifier "uVar25") (= "=") (binary_expression "uVar14 << 1" (identifier "uVar14") (<< "<<") (number_literal "1"))) (; ";")) (if_statement "if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }" (if "if") (parenthesized_expression "((uVar14 <= uVar25) && (uVar25 < 0x20000000))" (( "(") (binary_expression "(uVar14 <= uVar25) && (uVar25 < 0x20000000)" (parenthesized_expression "(uVar14 <= uVar25)" (( "(") (binary_expression "uVar14 <= uVar25" (identifier "uVar14") (<= "<=") (identifier "uVar25")) () ")")) (&& "&&") (parenthesized_expression "(uVar25 < 0x20000000)" (( "(") (binary_expression "uVar25 < 0x20000000" (identifier "uVar25") (< "<") (number_literal "0x20000000")) () ")"))) () ")")) (compound_statement "{\n                    puVar17 = (undefined4 *)0x8;\n                    if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }\n                    goto LAB_00286884;\n                  }" ({ "{") (expression_statement "puVar17 = (undefined4 *)0x8;" (assignment_expression "puVar17 = (undefined4 *)0x8" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)0x8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x8"))) (; ";")) (if_statement "if (uVar25 == 0) {\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }" (if "if") (parenthesized_expression "(uVar25 == 0)" (( "(") (binary_expression "uVar25 == 0" (identifier "uVar25") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      iVar21 = 0;\n                      puVar6 = (undefined4 *)0x0;\n                      goto LAB_00286780;\n                    }" ({ "{") (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" (identifier "iVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6 = (undefined4 *)0x0;" (assignment_expression "puVar6 = (undefined4 *)0x0" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_00286780;" (goto "goto") (statement_identifier "LAB_00286780") (; ";")) (} "}"))) (goto_statement "goto LAB_00286884;" (goto "goto") (statement_identifier "LAB_00286884") (; ";")) (} "}"))) (expression_statement "iVar21 = -8;" (assignment_expression "iVar21 = -8" (identifier "iVar21") (= "=") (number_literal "-8")) (; ";")) (} "}")))) (expression_statement "puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);" (assignment_expression "puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar23 + 0x1abc4c))(iVar21)" (parenthesized_expression "(**(code **)(pcVar23 + 0x1abc4c))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x1abc4c)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x1abc4c)" (* "*") (cast_expression "(code **)(pcVar23 + 0x1abc4c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x1abc4c)" (( "(") (binary_expression "pcVar23 + 0x1abc4c" (identifier "pcVar23") (+ "+") (number_literal "0x1abc4c")) () ")"))))) () ")")) (argument_list "(iVar21)" (( "(") (identifier "iVar21") () ")"))))) (; ";")) (expression_statement "iVar21 = (int)puVar6 + iVar21;" (assignment_expression "iVar21 = (int)puVar6 + iVar21" (identifier "iVar21") (= "=") (binary_expression "(int)puVar6 + iVar21" (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6")) (+ "+") (identifier "iVar21"))) (; ";")) (expression_statement "puVar17 = puVar6 + 2;" (assignment_expression "puVar17 = puVar6 + 2" (identifier "puVar17") (= "=") (binary_expression "puVar6 + 2" (identifier "puVar6") (+ "+") (number_literal "2"))) (; ";")) (labeled_statement "LAB_00286780:\n                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));" (statement_identifier "LAB_00286780") (: ":") (expression_statement "puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));" (assignment_expression "puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5))" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar6 + ((int)puVar4 - (int)puVar5))" (( "(") (binary_expression "(int)puVar6 + ((int)puVar4 - (int)puVar5)" (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6")) (+ "+") (parenthesized_expression "((int)puVar4 - (int)puVar5)" (( "(") (binary_expression "(int)puVar4 - (int)puVar5" (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4")) (- "-") (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5"))) () ")"))) () ")")))) (; ";"))) (expression_statement "uVar2 = puVar15[1];" (assignment_expression "uVar2 = puVar15[1]" (identifier "uVar2") (= "=") (subscript_expression "puVar15[1]" (identifier "puVar15") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*puVar7 = *puVar15;" (assignment_expression "*puVar7 = *puVar15" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (pointer_expression "*puVar15" (* "*") (identifier "puVar15"))) (; ";")) (expression_statement "puVar7[1] = uVar2;" (assignment_expression "puVar7[1] = uVar2" (subscript_expression "puVar7[1]" (identifier "puVar7") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "puVar15 = puVar5;" (assignment_expression "puVar15 = puVar5" (identifier "puVar15") (= "=") (identifier "puVar5")) (; ";")) (expression_statement "puVar16 = puVar6;" (assignment_expression "puVar16 = puVar6" (identifier "puVar16") (= "=") (identifier "puVar6")) (; ";")) (if_statement "if (puVar5 != puVar4) {\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }" (if "if") (parenthesized_expression "(puVar5 != puVar4)" (( "(") (binary_expression "puVar5 != puVar4" (identifier "puVar5") (!= "!=") (identifier "puVar4")) () ")")) (compound_statement "{\n                  do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);\n                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;\n                }" ({ "{") (do_statement "do {\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar4 != puVar17);" (do "do") (compound_statement "{\n                    puVar17 = puVar15 + 2;\n                    uVar2 = puVar15[1];\n                    *puVar16 = *puVar15;\n                    puVar16[1] = uVar2;\n                    puVar15 = puVar17;\n                    puVar16 = puVar16 + 2;\n                  }" ({ "{") (expression_statement "puVar17 = puVar15 + 2;" (assignment_expression "puVar17 = puVar15 + 2" (identifier "puVar17") (= "=") (binary_expression "puVar15 + 2" (identifier "puVar15") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar2 = puVar15[1];" (assignment_expression "uVar2 = puVar15[1]" (identifier "uVar2") (= "=") (subscript_expression "puVar15[1]" (identifier "puVar15") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*puVar16 = *puVar15;" (assignment_expression "*puVar16 = *puVar15" (pointer_expression "*puVar16" (* "*") (identifier "puVar16")) (= "=") (pointer_expression "*puVar15" (* "*") (identifier "puVar15"))) (; ";")) (expression_statement "puVar16[1] = uVar2;" (assignment_expression "puVar16[1] = uVar2" (subscript_expression "puVar16[1]" (identifier "puVar16") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "puVar15 = puVar17;" (assignment_expression "puVar15 = puVar17" (identifier "puVar15") (= "=") (identifier "puVar17")) (; ";")) (expression_statement "puVar16 = puVar16 + 2;" (assignment_expression "puVar16 = puVar16 + 2" (identifier "puVar16") (= "=") (binary_expression "puVar16 + 2" (identifier "puVar16") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar4 != puVar17)" (( "(") (binary_expression "puVar4 != puVar17" (identifier "puVar4") (!= "!=") (identifier "puVar17")) () ")")) (; ";")) (expression_statement "puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;" (assignment_expression "puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2" (identifier "puVar17") (= "=") (binary_expression "puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2" (identifier "puVar6") (+ "+") (binary_expression "(((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2" (parenthesized_expression "(((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2)" (( "(") (binary_expression "((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2" (parenthesized_expression "((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3)" (( "(") (binary_expression "(uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3" (call_expression "(uint)((int)puVar4 + (-8 - (int)puVar5))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)puVar4 + (-8 - (int)puVar5))" (( "(") (binary_expression "(int)puVar4 + (-8 - (int)puVar5)" (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4")) (+ "+") (parenthesized_expression "(-8 - (int)puVar5)" (( "(") (binary_expression "-8 - (int)puVar5" (number_literal "-8") (- "-") (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5"))) () ")"))) () ")"))) (>> ">>") (number_literal "3")) () ")")) (+ "+") (number_literal "2")) () ")")) (* "*") (number_literal "2")))) (; ";")) (} "}"))) (expression_statement "puVar15 = puVar4;" (assignment_expression "puVar15 = puVar4" (identifier "puVar15") (= "=") (identifier "puVar4")) (; ";")) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" (identifier "puVar16") (= "=") (identifier "puVar17")) (; ";")) (if_statement "if (puVar11 != puVar4) {\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }" (if "if") (parenthesized_expression "(puVar11 != puVar4)" (( "(") (binary_expression "puVar11 != puVar4" (identifier "puVar11") (!= "!=") (identifier "puVar4")) () ")")) (compound_statement "{\n                  do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);\n                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;\n                }" ({ "{") (do_statement "do {\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  } while (puVar11 != puVar8);" (do "do") (compound_statement "{\n                    puVar8 = puVar15 + 2;\n                    *puVar16 = *puVar15;\n                    puVar16[1] = puVar15[1];\n                    puVar15 = puVar8;\n                    puVar16 = puVar16 + 2;\n                  }" ({ "{") (expression_statement "puVar8 = puVar15 + 2;" (assignment_expression "puVar8 = puVar15 + 2" (identifier "puVar8") (= "=") (binary_expression "puVar15 + 2" (identifier "puVar15") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*puVar16 = *puVar15;" (assignment_expression "*puVar16 = *puVar15" (pointer_expression "*puVar16" (* "*") (identifier "puVar16")) (= "=") (pointer_expression "*puVar15" (* "*") (identifier "puVar15"))) (; ";")) (expression_statement "puVar16[1] = puVar15[1];" (assignment_expression "puVar16[1] = puVar15[1]" (subscript_expression "puVar16[1]" (identifier "puVar16") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "puVar15[1]" (identifier "puVar15") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar15 = puVar8;" (assignment_expression "puVar15 = puVar8" (identifier "puVar15") (= "=") (identifier "puVar8")) (; ";")) (expression_statement "puVar16 = puVar16 + 2;" (assignment_expression "puVar16 = puVar16 + 2" (identifier "puVar16") (= "=") (binary_expression "puVar16 + 2" (identifier "puVar16") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar11 != puVar8)" (( "(") (binary_expression "puVar11 != puVar8" (identifier "puVar11") (!= "!=") (identifier "puVar8")) () ")")) (; ";")) (expression_statement "puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;" (assignment_expression "puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2" (identifier "puVar17") (= "=") (binary_expression "puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2" (identifier "puVar17") (+ "+") (binary_expression "(((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2" (parenthesized_expression "(((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1)" (( "(") (binary_expression "((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1" (parenthesized_expression "((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3)" (( "(") (binary_expression "(uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3" (call_expression "(uint)((int)puVar11 + (-8 - (int)puVar4))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)puVar11 + (-8 - (int)puVar4))" (( "(") (binary_expression "(int)puVar11 + (-8 - (int)puVar4)" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (parenthesized_expression "(-8 - (int)puVar4)" (( "(") (binary_expression "-8 - (int)puVar4" (number_literal "-8") (- "-") (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4"))) () ")"))) () ")"))) (>> ">>") (number_literal "3")) () ")")) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "2")))) (; ";")) (} "}"))) (if_statement "if (puVar5 != (undefined4 *)0x0) {\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }" (if "if") (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar5 != (undefined4 *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);\n                }" ({ "{") (expression_statement "puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);" (assignment_expression "puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5)" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar23 + 0x1abb9c))(puVar5)" (parenthesized_expression "(**(code **)(pcVar23 + 0x1abb9c))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x1abb9c)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x1abb9c)" (* "*") (cast_expression "(code **)(pcVar23 + 0x1abb9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x1abb9c)" (( "(") (binary_expression "pcVar23 + 0x1abb9c" (identifier "pcVar23") (+ "+") (number_literal "0x1abb9c")) () ")"))))) () ")")) (argument_list "(puVar5)" (( "(") (identifier "puVar5") () ")"))))) (; ";")) (} "}"))) (expression_statement "*(undefined4 **)pcVar18 = puVar6;" (assignment_expression "*(undefined4 **)pcVar18 = puVar6" (pointer_expression "*(undefined4 **)pcVar18" (* "*") (cast_expression "(undefined4 **)pcVar18" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar18"))) (= "=") (identifier "puVar6")) (; ";")) (expression_statement "*(undefined4 **)((int)pcVar18 + 4) = puVar17;" (assignment_expression "*(undefined4 **)((int)pcVar18 + 4) = puVar17" (pointer_expression "*(undefined4 **)((int)pcVar18 + 4)" (* "*") (cast_expression "(undefined4 **)((int)pcVar18 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pcVar18 + 4)" (( "(") (binary_expression "(int)pcVar18 + 4" (cast_expression "(int)pcVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar18")) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "puVar17")) (; ";")) (expression_statement "*(int *)((int)pcVar18 + 8) = iVar21;" (assignment_expression "*(int *)((int)pcVar18 + 8) = iVar21" (pointer_expression "*(int *)((int)pcVar18 + 8)" (* "*") (cast_expression "(int *)((int)pcVar18 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pcVar18 + 8)" (( "(") (binary_expression "(int)pcVar18 + 8" (cast_expression "(int)pcVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar18")) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar21")) (; ";")) (return_statement "return puVar7;" (return "return") (identifier "puVar7") (; ";")) (} "}"))) (expression_statement "puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);" (assignment_expression "puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21)" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar22 + 0x1ac0ec))(iVar21)" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac0ec))" (( "(") (pointer_expression "**(code **)(puVar22 + 0x1ac0ec)" (* "*") (pointer_expression "*(code **)(puVar22 + 0x1ac0ec)" (* "*") (cast_expression "(code **)(puVar22 + 0x1ac0ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x1ac0ec)" (( "(") (binary_expression "puVar22 + 0x1ac0ec" (identifier "puVar22") (+ "+") (number_literal "0x1ac0ec")) () ")"))))) () ")")) (argument_list "(iVar21)" (( "(") (identifier "iVar21") () ")"))))) (; ";")) (expression_statement "(**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);" (call_expression "(**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21)" (parenthesized_expression "(**(code **)(puVar22 + 0x1b0600))" (( "(") (pointer_expression "**(code **)(puVar22 + 0x1b0600)" (* "*") (pointer_expression "*(code **)(puVar22 + 0x1b0600)" (* "*") (cast_expression "(code **)(puVar22 + 0x1b0600)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x1b0600)" (( "(") (binary_expression "puVar22 + 0x1b0600" (identifier "puVar22") (+ "+") (number_literal "0x1b0600")) () ")"))))) () ")")) (argument_list "(puVar4,0,iVar21)" (( "(") (identifier "puVar4") (, ",") (number_literal "0") (, ",") (identifier "iVar21") () ")"))) (; ";")) (} "}")))) (expression_statement "piVar24 = (int *)puVar11[0xc];" (assignment_expression "piVar24 = (int *)puVar11[0xc]" (identifier "piVar24") (= "=") (cast_expression "(int *)puVar11[0xc]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[0xc]" (identifier "puVar11") ([ "[") (number_literal "0xc") (] "]")))) (; ";")) (expression_statement "puVar11[0xc] = 0;" (assignment_expression "puVar11[0xc] = 0" (subscript_expression "puVar11[0xc]" (identifier "puVar11") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar24 != (int *)0x0) {\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }" (if "if") (parenthesized_expression "(piVar24 != (int *)0x0)" (( "(") (binary_expression "piVar24 != (int *)0x0" (identifier "piVar24") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              uVar25 = 0;\n              do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);\n            }" ({ "{") (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" (identifier "uVar25") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              } while (piVar3 != (int *)0x0);" (do "do") (compound_statement "{\n                while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }\n                *piVar24 = puVar11[0xc];\n                puVar11[0xc] = piVar24;\n                *puVar15 = puVar11 + 0xc;\n                if (*piVar24 == 0) goto LAB_002863d0;\n                puVar4[uVar25] = piVar24;\n                piVar24 = piVar3;\n                uVar25 = uVar26;\n              }" ({ "{") (while_statement "while( true ) {\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                  if (uVar10 == 0) {\n                    trap(7);\n                  }\n                  uVar26 = (uint)piVar24[3] % uVar10;\n                  puVar15 = puVar4 + uVar26;\n                  piVar3 = (int *)*piVar24;\n                  if ((int *)*puVar15 == (int *)0x0) break;\n                  *piVar24 = *(int *)*puVar15;\n                  *(int **)*puVar15 = piVar24;\n                  uVar26 = uVar25;\nLAB_002863d0:\n                  piVar24 = piVar3;\n                  uVar25 = uVar26;\n                  if (piVar3 == (int *)0x0) goto LAB_0028642c;\n                }" ({ "{") (if_statement "if (uVar10 == 0) {\n                    trap(7);\n                  }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    trap(7);\n                  }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar26 = (uint)piVar24[3] % uVar10;" (assignment_expression "uVar26 = (uint)piVar24[3] % uVar10" (identifier "uVar26") (= "=") (binary_expression "(uint)piVar24[3] % uVar10" (cast_expression "(uint)piVar24[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar24[3]" (identifier "piVar24") ([ "[") (number_literal "3") (] "]"))) (% "%") (identifier "uVar10"))) (; ";")) (expression_statement "puVar15 = puVar4 + uVar26;" (assignment_expression "puVar15 = puVar4 + uVar26" (identifier "puVar15") (= "=") (binary_expression "puVar4 + uVar26" (identifier "puVar4") (+ "+") (identifier "uVar26"))) (; ";")) (expression_statement "piVar3 = (int *)*piVar24;" (assignment_expression "piVar3 = (int *)*piVar24" (identifier "piVar3") (= "=") (cast_expression "(int *)*piVar24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar24" (* "*") (identifier "piVar24")))) (; ";")) (if_statement "if ((int *)*puVar15 == (int *)0x0) break;" (if "if") (parenthesized_expression "((int *)*puVar15 == (int *)0x0)" (( "(") (binary_expression "(int *)*puVar15 == (int *)0x0" (cast_expression "(int *)*puVar15" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar15" (* "*") (identifier "puVar15"))) (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "*piVar24 = *(int *)*puVar15;" (assignment_expression "*piVar24 = *(int *)*puVar15" (pointer_expression "*piVar24" (* "*") (identifier "piVar24")) (= "=") (pointer_expression "*(int *)*puVar15" (* "*") (cast_expression "(int *)*puVar15" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar15" (* "*") (identifier "puVar15"))))) (; ";")) (expression_statement "*(int **)*puVar15 = piVar24;" (assignment_expression "*(int **)*puVar15 = piVar24" (pointer_expression "*(int **)*puVar15" (* "*") (cast_expression "(int **)*puVar15" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*puVar15" (* "*") (identifier "puVar15")))) (= "=") (identifier "piVar24")) (; ";")) (expression_statement "uVar26 = uVar25;" (assignment_expression "uVar26 = uVar25" (identifier "uVar26") (= "=") (identifier "uVar25")) (; ";")) (labeled_statement "LAB_002863d0:\n                  piVar24 = piVar3;" (statement_identifier "LAB_002863d0") (: ":") (expression_statement "piVar24 = piVar3;" (assignment_expression "piVar24 = piVar3" (identifier "piVar24") (= "=") (identifier "piVar3")) (; ";"))) (expression_statement "uVar25 = uVar26;" (assignment_expression "uVar25 = uVar26" (identifier "uVar25") (= "=") (identifier "uVar26")) (; ";")) (if_statement "if (piVar3 == (int *)0x0) goto LAB_0028642c;" (if "if") (parenthesized_expression "(piVar3 == (int *)0x0)" (( "(") (binary_expression "piVar3 == (int *)0x0" (identifier "piVar3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0028642c;" (goto "goto") (statement_identifier "LAB_0028642c") (; ";"))) (} "}"))) (expression_statement "*piVar24 = puVar11[0xc];" (assignment_expression "*piVar24 = puVar11[0xc]" (pointer_expression "*piVar24" (* "*") (identifier "piVar24")) (= "=") (subscript_expression "puVar11[0xc]" (identifier "puVar11") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "puVar11[0xc] = piVar24;" (assignment_expression "puVar11[0xc] = piVar24" (subscript_expression "puVar11[0xc]" (identifier "puVar11") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "piVar24")) (; ";")) (expression_statement "*puVar15 = puVar11 + 0xc;" (assignment_expression "*puVar15 = puVar11 + 0xc" (pointer_expression "*puVar15" (* "*") (identifier "puVar15")) (= "=") (binary_expression "puVar11 + 0xc" (identifier "puVar11") (+ "+") (number_literal "0xc"))) (; ";")) (if_statement "if (*piVar24 == 0) goto LAB_002863d0;" (if "if") (parenthesized_expression "(*piVar24 == 0)" (( "(") (binary_expression "*piVar24 == 0" (pointer_expression "*piVar24" (* "*") (identifier "piVar24")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002863d0;" (goto "goto") (statement_identifier "LAB_002863d0") (; ";"))) (expression_statement "puVar4[uVar25] = piVar24;" (assignment_expression "puVar4[uVar25] = piVar24" (subscript_expression "puVar4[uVar25]" (identifier "puVar4") ([ "[") (identifier "uVar25") (] "]")) (= "=") (identifier "piVar24")) (; ";")) (expression_statement "piVar24 = piVar3;" (assignment_expression "piVar24 = piVar3" (identifier "piVar24") (= "=") (identifier "piVar3")) (; ";")) (expression_statement "uVar25 = uVar26;" (assignment_expression "uVar25 = uVar26" (identifier "uVar25") (= "=") (identifier "uVar26")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar3 != (int *)0x0)" (( "(") (binary_expression "piVar3 != (int *)0x0" (identifier "piVar3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0028642c:\n            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }" (statement_identifier "LAB_0028642c") (: ":") (if_statement "if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }" (if "if") (parenthesized_expression "((undefined4 *)puVar11[10] != puVar11 + 0x10)" (( "(") (binary_expression "(undefined4 *)puVar11[10] != puVar11 + 0x10" (cast_expression "(undefined4 *)puVar11[10]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[10]" (identifier "puVar11") ([ "[") (number_literal "10") (] "]"))) (!= "!=") (binary_expression "puVar11 + 0x10" (identifier "puVar11") (+ "+") (number_literal "0x10"))) () ")")) (compound_statement "{\n              (**(code **)(puVar22 + 0x1ac03c))();\n            }" ({ "{") (expression_statement "(**(code **)(puVar22 + 0x1ac03c))();" (call_expression "(**(code **)(puVar22 + 0x1ac03c))()" (parenthesized_expression "(**(code **)(puVar22 + 0x1ac03c))" (( "(") (pointer_expression "**(code **)(puVar22 + 0x1ac03c)" (* "*") (pointer_expression "*(code **)(puVar22 + 0x1ac03c)" (* "*") (cast_expression "(code **)(puVar22 + 0x1ac03c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x1ac03c)" (( "(") (binary_expression "puVar22 + 0x1ac03c" (identifier "puVar22") (+ "+") (number_literal "0x1ac03c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (if_statement "if (uVar10 == 0) {\n              trap(7);\n            }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (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 "puVar11[0xb] = uVar10;" (assignment_expression "puVar11[0xb] = uVar10" (subscript_expression "puVar11[0xb]" (identifier "puVar11") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "puVar11[10] = puVar4;" (assignment_expression "puVar11[10] = puVar4" (subscript_expression "puVar11[10]" (identifier "puVar11") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "puVar4")) (; ";")) (expression_statement "piVar20[3] = uVar14;" (assignment_expression "piVar20[3] = uVar14" (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar14")) (; ";")) (expression_statement "piVar3 = puVar4 + uVar14 % uVar10;" (assignment_expression "piVar3 = puVar4 + uVar14 % uVar10" (identifier "piVar3") (= "=") (binary_expression "puVar4 + uVar14 % uVar10" (identifier "puVar4") (+ "+") (binary_expression "uVar14 % uVar10" (identifier "uVar14") (% "%") (identifier "uVar10")))) (; ";")) (expression_statement "piVar24 = (int *)*piVar3;" (assignment_expression "piVar24 = (int *)*piVar3" (identifier "piVar24") (= "=") (cast_expression "(int *)*piVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar3" (* "*") (identifier "piVar3")))) (; ";")) (expression_statement "uVar27 = uStack_a8;" (assignment_expression "uVar27 = uStack_a8" (identifier "uVar27") (= "=") (identifier "uStack_a8")) (; ";")) (if_statement "if (piVar24 != (int *)0x0) goto LAB_002864c8;" (if "if") (parenthesized_expression "(piVar24 != (int *)0x0)" (( "(") (binary_expression "piVar24 != (int *)0x0" (identifier "piVar24") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002864c8;" (goto "goto") (statement_identifier "LAB_002864c8") (; ";"))) (labeled_statement "LAB_00286470:\n            iVar21 = puVar11[0xc];" (statement_identifier "LAB_00286470") (: ":") (expression_statement "iVar21 = puVar11[0xc];" (assignment_expression "iVar21 = puVar11[0xc]" (identifier "iVar21") (= "=") (subscript_expression "puVar11[0xc]" (identifier "puVar11") ([ "[") (number_literal "0xc") (] "]"))) (; ";"))) (expression_statement "puVar11[0xc] = piVar20;" (assignment_expression "puVar11[0xc] = piVar20" (subscript_expression "puVar11[0xc]" (identifier "puVar11") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "piVar20")) (; ";")) (expression_statement "*piVar20 = iVar21;" (assignment_expression "*piVar20 = iVar21" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (identifier "iVar21")) (; ";")) (if_statement "if (iVar21 != 0) {\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }" (if "if") (parenthesized_expression "(iVar21 != 0)" (( "(") (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              if (puVar11[0xb] == 0) {\n                trap(7);\n              }\n              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;\n            }" ({ "{") (if_statement "if (puVar11[0xb] == 0) {\n                trap(7);\n              }" (if "if") (parenthesized_expression "(puVar11[0xb] == 0)" (( "(") (binary_expression "puVar11[0xb] == 0" (subscript_expression "puVar11[0xb]" (identifier "puVar11") ([ "[") (number_literal "0xb") (] "]")) (== "==") (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 "puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;" (assignment_expression "puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20" (subscript_expression "puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]]" (identifier "puVar4") ([ "[") (binary_expression "*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]" (pointer_expression "*(uint *)(iVar21 + 0xc)" (* "*") (cast_expression "(uint *)(iVar21 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0xc)" (( "(") (binary_expression "iVar21 + 0xc" (identifier "iVar21") (+ "+") (number_literal "0xc")) () ")")))) (% "%") (cast_expression "(uint)puVar11[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar11[0xb]" (identifier "puVar11") ([ "[") (number_literal "0xb") (] "]")))) (] "]")) (= "=") (identifier "piVar20")) (; ";")) (} "}"))) (expression_statement "*piVar3 = (int)(puVar11 + 0xc);" (assignment_expression "*piVar3 = (int)(puVar11 + 0xc)" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (= "=") (cast_expression "(int)(puVar11 + 0xc)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar11 + 0xc)" (( "(") (binary_expression "puVar11 + 0xc" (identifier "puVar11") (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (expression_statement "uVar27 = uStack_a8;" (assignment_expression "uVar27 = uStack_a8" (identifier "uVar27") (= "=") (identifier "uStack_a8")) (; ";")) (} "}")))) (expression_statement "puVar4 = (undefined4 *)puVar11[6];" (assignment_expression "puVar4 = (undefined4 *)puVar11[6]" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)puVar11[6]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[6]" (identifier "puVar11") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "piVar20 = (int *)puVar11[1];" (assignment_expression "piVar20 = (int *)puVar11[1]" (identifier "piVar20") (= "=") (cast_expression "(int *)puVar11[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "puVar11[0xd] = puVar11[0xd] + 1;" (assignment_expression "puVar11[0xd] = puVar11[0xd] + 1" (subscript_expression "puVar11[0xd]" (identifier "puVar11") ([ "[") (number_literal "0xd") (] "]")) (= "=") (binary_expression "puVar11[0xd] + 1" (subscript_expression "puVar11[0xd]" (identifier "puVar11") ([ "[") (number_literal "0xd") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar15 = puVar11 + 5;" (assignment_expression "puVar15 = puVar11 + 5" (identifier "puVar15") (= "=") (binary_expression "puVar11 + 5" (identifier "puVar11") (+ "+") (number_literal "5"))) (; ";")) (if_statement "if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;" (if "if") (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar4 == (undefined4 *)0x0" (identifier "puVar4") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002862a4;" (goto "goto") (statement_identifier "LAB_002862a4") (; ";"))) (do_statement "do {\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          } while (puVar5 != (undefined4 *)0x0);" (do "do") (compound_statement "{\n            if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }\n            puVar4 = puVar5;\n          }" ({ "{") (if_statement "if (((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {\n              puVar5 = (undefined4 *)puVar4[3];\n            }\n            else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }" (if "if") (parenthesized_expression "(((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc))))" (( "(") (binary_expression "((uint)puVar4[4] < uStack_c0) ||\n               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))" (parenthesized_expression "((uint)puVar4[4] < uStack_c0)" (( "(") (binary_expression "(uint)puVar4[4] < uStack_c0" (cast_expression "(uint)puVar4[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar4[4]" (identifier "puVar4") ([ "[") (number_literal "4") (] "]"))) (< "<") (identifier "uStack_c0")) () ")")) (|| "||") (parenthesized_expression "((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))" (( "(") (parenthesized_expression "(puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc))" (( "(") (binary_expression "puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)" (binary_expression "puVar4[4] == uStack_c0" (subscript_expression "puVar4[4]" (identifier "puVar4") ([ "[") (number_literal "4") (] "]")) (== "==") (identifier "uStack_c0")) (&& "&&") (parenthesized_expression "((uint)puVar4[5] < uStack_bc)" (( "(") (binary_expression "(uint)puVar4[5] < uStack_bc" (cast_expression "(uint)puVar4[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar4[5]" (identifier "puVar4") ([ "[") (number_literal "5") (] "]"))) (< "<") (identifier "uStack_bc")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n              puVar5 = (undefined4 *)puVar4[3];\n            }" ({ "{") (expression_statement "puVar5 = (undefined4 *)puVar4[3];" (assignment_expression "puVar5 = (undefined4 *)puVar4[3]" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)puVar4[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar4[3]" (identifier "puVar4") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }" (else "else") (compound_statement "{\n              puVar5 = (undefined4 *)puVar4[2];\n              puVar15 = puVar4;\n            }" ({ "{") (expression_statement "puVar5 = (undefined4 *)puVar4[2];" (assignment_expression "puVar5 = (undefined4 *)puVar4[2]" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)puVar4[2]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar4[2]" (identifier "puVar4") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "puVar15 = puVar4;" (assignment_expression "puVar15 = puVar4" (identifier "puVar15") (= "=") (identifier "puVar4")) (; ";")) (} "}")))) (expression_statement "puVar4 = puVar5;" (assignment_expression "puVar4 = puVar5" (identifier "puVar4") (= "=") (identifier "puVar5")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar5 != (undefined4 *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (if_statement "if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;" (if "if") (parenthesized_expression "(((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5]))))" (( "(") (binary_expression "((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||\n             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))" (parenthesized_expression "((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4]))" (( "(") (binary_expression "(puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])" (parenthesized_expression "(puVar11 + 5 == puVar15)" (( "(") (binary_expression "puVar11 + 5 == puVar15" (binary_expression "puVar11 + 5" (identifier "puVar11") (+ "+") (number_literal "5")) (== "==") (identifier "puVar15")) () ")")) (|| "||") (parenthesized_expression "(uStack_c0 < (uint)puVar15[4])" (( "(") (binary_expression "uStack_c0 < (uint)puVar15[4]" (identifier "uStack_c0") (< "<") (cast_expression "(uint)puVar15[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar15[4]" (identifier "puVar15") ([ "[") (number_literal "4") (] "]")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))" (( "(") (parenthesized_expression "(uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5]))" (( "(") (binary_expression "uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])" (binary_expression "uStack_c0 == puVar15[4]" (identifier "uStack_c0") (== "==") (subscript_expression "puVar15[4]" (identifier "puVar15") ([ "[") (number_literal "4") (] "]"))) (&& "&&") (parenthesized_expression "(uStack_bc < (uint)puVar15[5])" (( "(") (binary_expression "uStack_bc < (uint)puVar15[5]" (identifier "uStack_bc") (< "<") (cast_expression "(uint)puVar15[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar15[5]" (identifier "puVar15") ([ "[") (number_literal "5") (] "]")))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_002862a4;" (goto "goto") (statement_identifier "LAB_002862a4") (; ";"))) (expression_statement "piVar24 = (int *)puVar15[8];" (assignment_expression "piVar24 = (int *)puVar15[8]" (identifier "piVar24") (= "=") (cast_expression "(int *)puVar15[8]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar15[8]" (identifier "puVar15") ([ "[") (number_literal "8") (] "]")))) (; ";")) (if_statement "if (piVar24 == (int *)0x0) {\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }" (if "if") (parenthesized_expression "(piVar24 == (int *)0x0)" (( "(") (binary_expression "piVar24 == (int *)0x0" (identifier "piVar24") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            piVar24 = (int *)*puVar11;\n            goto LAB_002862a8;\n          }" ({ "{") (expression_statement "piVar24 = (int *)*puVar11;" (assignment_expression "piVar24 = (int *)*puVar11" (identifier "piVar24") (= "=") (cast_expression "(int *)*puVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")))) (; ";")) (goto_statement "goto LAB_002862a8;" (goto "goto") (statement_identifier "LAB_002862a8") (; ";")) (} "}"))) (do_statement "do {\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          } while (piVar24 != (int *)0x0);" (do "do") (compound_statement "{\n            if (puVar11[0xb] == 0) {\n              trap(7);\n            }\n            uStack_a8 = uVar27;\n            piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);\n            uVar27 = uStack_a8;\n            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }\n            piVar24 = (int *)*piVar24;\n          }" ({ "{") (if_statement "if (puVar11[0xb] == 0) {\n              trap(7);\n            }" (if "if") (parenthesized_expression "(puVar11[0xb] == 0)" (( "(") (binary_expression "puVar11[0xb] == 0" (subscript_expression "puVar11[0xb]" (identifier "puVar11") ([ "[") (number_literal "0xb") (] "]")) (== "==") (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 "uStack_a8 = uVar27;" (assignment_expression "uStack_a8 = uVar27" (identifier "uStack_a8") (= "=") (identifier "uVar27")) (; ";")) (expression_statement "piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);" (assignment_expression "piVar3 = (int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29)" (identifier "piVar3") (= "=") (cast_expression "(int *)(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar18)(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29)" (parenthesized_expression "(*pcVar18)" (( "(") (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) () ")")) (argument_list "(puVar11 + 10,\n                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],\n                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29)" (( "(") (binary_expression "puVar11 + 10" (identifier "puVar11") (+ "+") (number_literal "10")) (, ",") (binary_expression "(uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb]" (call_expression "(uint)(piVar24[1] ^ piVar24[2])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar24[1] ^ piVar24[2])" (( "(") (binary_expression "piVar24[1] ^ piVar24[2]" (subscript_expression "piVar24[1]" (identifier "piVar24") ([ "[") (number_literal "1") (] "]")) (^ "^") (subscript_expression "piVar24[2]" (identifier "piVar24") ([ "[") (number_literal "2") (] "]"))) () ")"))) (% "%") (cast_expression "(uint)puVar11[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar11[0xb]" (identifier "puVar11") ([ "[") (number_literal "0xb") (] "]")))) (, ",") (binary_expression "piVar24 + 1" (identifier "piVar24") (+ "+") (number_literal "1")) (, ",") (binary_expression "piVar24[1] ^ piVar24[2]" (subscript_expression "piVar24[1]" (identifier "piVar24") ([ "[") (number_literal "1") (] "]")) (^ "^") (subscript_expression "piVar24[2]" (identifier "piVar24") ([ "[") (number_literal "2") (] "]"))) (, ",") (identifier "uVar29") () ")"))))) (; ";")) (expression_statement "uVar27 = uStack_a8;" (assignment_expression "uVar27 = uStack_a8" (identifier "uVar27") (= "=") (identifier "uStack_a8")) (; ";")) (if_statement "if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }" (if "if") (parenthesized_expression "((piVar3 == (int *)0x0) || (*piVar3 == 0))" (( "(") (binary_expression "(piVar3 == (int *)0x0) || (*piVar3 == 0)" (parenthesized_expression "(piVar3 == (int *)0x0)" (( "(") (binary_expression "piVar3 == (int *)0x0" (identifier "piVar3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*piVar3 == 0)" (( "(") (binary_expression "*piVar3 == 0" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }\n            }" ({ "{") (if_statement "if (piVar20 == (int *)puVar11[2]) {\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }\n              else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }" (if "if") (parenthesized_expression "(piVar20 == (int *)puVar11[2])" (( "(") (binary_expression "piVar20 == (int *)puVar11[2]" (identifier "piVar20") (== "==") (cast_expression "(int *)puVar11[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[2]" (identifier "puVar11") ([ "[") (number_literal "2") (] "]")))) () ")")) (compound_statement "{\n                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);\n                piVar20 = (int *)puVar11[1];\n                uVar27 = uStack_a8;\n              }" ({ "{") (expression_statement "(*pcStack_b8)(puVar11,piVar20,piVar24 + 1);" (call_expression "(*pcStack_b8)(puVar11,piVar20,piVar24 + 1)" (parenthesized_expression "(*pcStack_b8)" (( "(") (pointer_expression "*pcStack_b8" (* "*") (identifier "pcStack_b8")) () ")")) (argument_list "(puVar11,piVar20,piVar24 + 1)" (( "(") (identifier "puVar11") (, ",") (identifier "piVar20") (, ",") (binary_expression "piVar24 + 1" (identifier "piVar24") (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "piVar20 = (int *)puVar11[1];" (assignment_expression "piVar20 = (int *)puVar11[1]" (identifier "piVar20") (= "=") (cast_expression "(int *)puVar11[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "uVar27 = uStack_a8;" (assignment_expression "uVar27 = uStack_a8" (identifier "uVar27") (= "=") (identifier "uStack_a8")) (; ";")) (} "}")) (else_clause "else {\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }" (else "else") (compound_statement "{\n                iVar21 = piVar24[2];\n                *piVar20 = piVar24[1];\n                piVar20[1] = iVar21;\n                puVar11[1] = piVar20 + 2;\n                piVar20 = piVar20 + 2;\n              }" ({ "{") (expression_statement "iVar21 = piVar24[2];" (assignment_expression "iVar21 = piVar24[2]" (identifier "iVar21") (= "=") (subscript_expression "piVar24[2]" (identifier "piVar24") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "*piVar20 = piVar24[1];" (assignment_expression "*piVar20 = piVar24[1]" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (subscript_expression "piVar24[1]" (identifier "piVar24") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar20[1] = iVar21;" (assignment_expression "piVar20[1] = iVar21" (subscript_expression "piVar20[1]" (identifier "piVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar21")) (; ";")) (expression_statement "puVar11[1] = piVar20 + 2;" (assignment_expression "puVar11[1] = piVar20 + 2" (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "piVar20 + 2" (identifier "piVar20") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "piVar20 = piVar20 + 2;" (assignment_expression "piVar20 = piVar20 + 2" (identifier "piVar20") (= "=") (binary_expression "piVar20 + 2" (identifier "piVar20") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "piVar24 = (int *)*piVar24;" (assignment_expression "piVar24 = (int *)*piVar24" (identifier "piVar24") (= "=") (cast_expression "(int *)*piVar24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar24" (* "*") (identifier "piVar24")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar24 != (int *)0x0)" (( "(") (binary_expression "piVar24 != (int *)0x0" (identifier "piVar24") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}"))) (if_statement "if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195)" (* "*") (cast_expression "(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195)" (( "(") (binary_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195" (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" (* "*") (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" (( "(") (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" (* "*") (cast_expression "(int *)PTR_parameters_00432be0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_00432be0"))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x3195")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);\n        (*(code *)PTR_gold_warning_0043245c)(uVar2);\n      }" ({ "{") (expression_statement "uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);" (assignment_expression "uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4)" (identifier "uVar2") (= "=") (call_expression "(*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" (( "(") (pointer_expression "*(code *)PTR_gettext_00436818" (* "*") (cast_expression "(code *)PTR_gettext_00436818" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gettext_00436818"))) () ")")) (argument_list "(PTR_DAT_0043226c + 0x26c4)" (( "(") (binary_expression "PTR_DAT_0043226c + 0x26c4" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x26c4")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_gold_warning_0043245c)(uVar2);" (call_expression "(*(code *)PTR_gold_warning_0043245c)(uVar2)" (parenthesized_expression "(*(code *)PTR_gold_warning_0043245c)" (( "(") (pointer_expression "*(code *)PTR_gold_warning_0043245c" (* "*") (cast_expression "(code *)PTR_gold_warning_0043245c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gold_warning_0043245c"))) () ")")) (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00286094;" (goto "goto") (statement_identifier "LAB_00286094") (; ";")) (} "}"))) (expression_statement "puVar1 = (uint *)param_2[8];" (assignment_expression "puVar1 = (uint *)param_2[8]" (identifier "puVar1") (= "=") (cast_expression "(uint *)param_2[8]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[8]" (identifier "param_2") ([ "[") (number_literal "8") (] "]")))) (; ";")) (} "}")))) (if_statement "if (puVar1 != (uint *)0x0) {\n    uVar9 = *puVar1;\n    uVar13 = puVar1[1];\n    uVar14 = local_38;\n    uVar25 = local_34;\n    uVar10 = uVar9;\n    uVar26 = uVar13;\n    if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }\n    *puVar1 = uVar10;\n    puVar1[1] = uVar26;\n  }" (if "if") (parenthesized_expression "(puVar1 != (uint *)0x0)" (( "(") (binary_expression "puVar1 != (uint *)0x0" (identifier "puVar1") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar9 = *puVar1;\n    uVar13 = puVar1[1];\n    uVar14 = local_38;\n    uVar25 = local_34;\n    uVar10 = uVar9;\n    uVar26 = uVar13;\n    if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }\n    *puVar1 = uVar10;\n    puVar1[1] = uVar26;\n  }" ({ "{") (expression_statement "uVar9 = *puVar1;" (assignment_expression "uVar9 = *puVar1" (identifier "uVar9") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "uVar13 = puVar1[1];" (assignment_expression "uVar13 = puVar1[1]" (identifier "uVar13") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar14 = local_38;" (assignment_expression "uVar14 = local_38" (identifier "uVar14") (= "=") (identifier "local_38")) (; ";")) (expression_statement "uVar25 = local_34;" (assignment_expression "uVar25 = local_34" (identifier "uVar25") (= "=") (identifier "local_34")) (; ";")) (expression_statement "uVar10 = uVar9;" (assignment_expression "uVar10 = uVar9" (identifier "uVar10") (= "=") (identifier "uVar9")) (; ";")) (expression_statement "uVar26 = uVar13;" (assignment_expression "uVar26 = uVar13" (identifier "uVar26") (= "=") (identifier "uVar13")) (; ";")) (if_statement "if ((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }\n    else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }" (if "if") (parenthesized_expression "((puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27))))" (( "(") (binary_expression "(puVar11 < puVar4) ||\n       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))" (parenthesized_expression "(puVar11 < puVar4)" (( "(") (binary_expression "puVar11 < puVar4" (identifier "puVar11") (< "<") (identifier "puVar4")) () ")")) (|| "||") (parenthesized_expression "(((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))" (( "(") (parenthesized_expression "((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27))" (( "(") (binary_expression "(puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||\n        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)" (parenthesized_expression "(puVar4 == puVar11 && ((uint)uVar27 < local_28))" (( "(") (binary_expression "puVar4 == puVar11 && ((uint)uVar27 < local_28)" (binary_expression "puVar4 == puVar11" (identifier "puVar4") (== "==") (identifier "puVar11")) (&& "&&") (parenthesized_expression "((uint)uVar27 < local_28)" (( "(") (binary_expression "(uint)uVar27 < local_28" (cast_expression "(uint)uVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar27")) (< "<") (identifier "local_28")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)" (( "(") (comma_expression "uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27" (assignment_expression "uVar14 = local_40" (identifier "uVar14") (= "=") (identifier "local_40")) (, ",") (comma_expression "uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27" (assignment_expression "uVar25 = local_3c" (identifier "uVar25") (= "=") (identifier "local_3c")) (, ",") (binary_expression "CONCAT44(puVar4,local_28) < uVar27" (call_expression "CONCAT44(puVar4,local_28)" (identifier "CONCAT44") (argument_list "(puVar4,local_28)" (( "(") (identifier "puVar4") (, ",") (identifier "local_28") () ")"))) (< "<") (identifier "uVar27")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      uVar10 = uVar14;\n      uVar26 = uVar25;\n      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }\n    }" ({ "{") (expression_statement "uVar10 = uVar14;" (assignment_expression "uVar10 = uVar14" (identifier "uVar10") (= "=") (identifier "uVar14")) (; ";")) (expression_statement "uVar26 = uVar25;" (assignment_expression "uVar26 = uVar25" (identifier "uVar26") (= "=") (identifier "uVar25")) (; ";")) (if_statement "if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)) {\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }" (if "if") (parenthesized_expression "(((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25))" (( "(") (binary_expression "((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&\n         (uVar13 < uVar25)" (parenthesized_expression "((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9))" (( "(") (binary_expression "(uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)" (parenthesized_expression "(uVar14 <= uVar9)" (( "(") (binary_expression "uVar14 <= uVar9" (identifier "uVar14") (<= "<=") (identifier "uVar9")) () ")")) (&& "&&") (parenthesized_expression "(uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)" (( "(") (comma_expression "uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9" (assignment_expression "uVar10 = uVar9" (identifier "uVar10") (= "=") (identifier "uVar9")) (, ",") (comma_expression "uVar26 = uVar13, uVar14 == uVar9" (assignment_expression "uVar26 = uVar13" (identifier "uVar26") (= "=") (identifier "uVar13")) (, ",") (binary_expression "uVar14 == uVar9" (identifier "uVar14") (== "==") (identifier "uVar9")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(uVar13 < uVar25)" (( "(") (binary_expression "uVar13 < uVar25" (identifier "uVar13") (< "<") (identifier "uVar25")) () ")"))) () ")")) (compound_statement "{\n        uVar10 = uVar14;\n        uVar26 = uVar25;\n      }" ({ "{") (expression_statement "uVar10 = uVar14;" (assignment_expression "uVar10 = uVar14" (identifier "uVar10") (= "=") (identifier "uVar14")) (; ";")) (expression_statement "uVar26 = uVar25;" (assignment_expression "uVar26 = uVar25" (identifier "uVar26") (= "=") (identifier "uVar25")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }" (else "else") (compound_statement "{\n      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }\n      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }\n    }" ({ "{") (if_statement "if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }" (if "if") (parenthesized_expression "((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34))))" (( "(") (binary_expression "(local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))" (parenthesized_expression "(local_40 <= local_38)" (( "(") (binary_expression "local_40 <= local_38" (identifier "local_40") (<= "<=") (identifier "local_38")) () ")")) (&& "&&") (parenthesized_expression "((local_40 != local_38 || (local_3c <= local_34)))" (( "(") (parenthesized_expression "(local_40 != local_38 || (local_3c <= local_34))" (( "(") (binary_expression "local_40 != local_38 || (local_3c <= local_34)" (binary_expression "local_40 != local_38" (identifier "local_40") (!= "!=") (identifier "local_38")) (|| "||") (parenthesized_expression "(local_3c <= local_34)" (( "(") (binary_expression "local_3c <= local_34" (identifier "local_3c") (<= "<=") (identifier "local_34")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        local_40 = local_38;\n        local_3c = local_34;\n        puVar19 = &local_38;\n      }" ({ "{") (expression_statement "local_40 = local_38;" (assignment_expression "local_40 = local_38" (identifier "local_40") (= "=") (identifier "local_38")) (; ";")) (expression_statement "local_3c = local_34;" (assignment_expression "local_3c = local_34" (identifier "local_3c") (= "=") (identifier "local_34")) (; ";")) (expression_statement "puVar19 = &local_38;" (assignment_expression "puVar19 = &local_38" (identifier "puVar19") (= "=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) (; ";")) (} "}"))) (if_statement "if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }" (if "if") (parenthesized_expression "((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c))))" (( "(") (binary_expression "(uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))" (parenthesized_expression "(uVar9 < local_40)" (( "(") (binary_expression "uVar9 < local_40" (identifier "uVar9") (< "<") (identifier "local_40")) () ")")) (|| "||") (parenthesized_expression "((local_40 == uVar9 && (uVar13 < local_3c)))" (( "(") (parenthesized_expression "(local_40 == uVar9 && (uVar13 < local_3c))" (( "(") (binary_expression "local_40 == uVar9 && (uVar13 < local_3c)" (binary_expression "local_40 == uVar9" (identifier "local_40") (== "==") (identifier "uVar9")) (&& "&&") (parenthesized_expression "(uVar13 < local_3c)" (( "(") (binary_expression "uVar13 < local_3c" (identifier "uVar13") (< "<") (identifier "local_3c")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        uVar14 = puVar19[1];\n        *puVar1 = *puVar19;\n        puVar1[1] = uVar14;\n        goto LAB_002860cc;\n      }" ({ "{") (expression_statement "uVar14 = puVar19[1];" (assignment_expression "uVar14 = puVar19[1]" (identifier "uVar14") (= "=") (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*puVar1 = *puVar19;" (assignment_expression "*puVar1 = *puVar19" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (pointer_expression "*puVar19" (* "*") (identifier "puVar19"))) (; ";")) (expression_statement "puVar1[1] = uVar14;" (assignment_expression "puVar1[1] = uVar14" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar14")) (; ";")) (goto_statement "goto LAB_002860cc;" (goto "goto") (statement_identifier "LAB_002860cc") (; ";")) (} "}"))) (} "}")))) (expression_statement "*puVar1 = uVar10;" (assignment_expression "*puVar1 = uVar10" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "puVar1[1] = uVar26;" (assignment_expression "puVar1[1] = uVar26" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar26")) (; ";")) (} "}"))) (labeled_statement "LAB_002860cc:\n  puVar15 = puVar11;" (statement_identifier "LAB_002860cc") (: ":") (expression_statement "puVar15 = puVar11;" (assignment_expression "puVar15 = puVar11" (identifier "puVar15") (= "=") (identifier "puVar11")) (; ";"))) (if_statement "if (((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28)) {\n    puVar4 = puVar15;\n  }" (if "if") (parenthesized_expression "(((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28))" (( "(") (binary_expression "((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||\n     (puVar15 = puVar11, (uint)uVar27 < local_28)" (parenthesized_expression "((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11))" (( "(") (binary_expression "(puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)" (parenthesized_expression "(puVar11 < puVar4)" (( "(") (binary_expression "puVar11 < puVar4" (identifier "puVar11") (< "<") (identifier "puVar4")) () ")")) (|| "||") (parenthesized_expression "(puVar15 = puVar4, puVar4 != puVar11)" (( "(") (comma_expression "puVar15 = puVar4, puVar4 != puVar11" (assignment_expression "puVar15 = puVar4" (identifier "puVar15") (= "=") (identifier "puVar4")) (, ",") (binary_expression "puVar4 != puVar11" (identifier "puVar4") (!= "!=") (identifier "puVar11"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(puVar15 = puVar11, (uint)uVar27 < local_28)" (( "(") (comma_expression "puVar15 = puVar11, (uint)uVar27 < local_28" (assignment_expression "puVar15 = puVar11" (identifier "puVar15") (= "=") (identifier "puVar11")) (, ",") (binary_expression "(uint)uVar27 < local_28" (cast_expression "(uint)uVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar27")) (< "<") (identifier "local_28"))) () ")"))) () ")")) (compound_statement "{\n    puVar4 = puVar15;\n  }" ({ "{") (expression_statement "puVar4 = puVar15;" (assignment_expression "puVar4 = puVar15" (identifier "puVar4") (= "=") (identifier "puVar15")) (; ";")) (} "}"))) (return_statement "return puVar4;" (return "return") (identifier "puVar4") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier)))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (ERROR (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal))) (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))))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) (identifier)))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (subscript_expression argument: (identifier) index: (number_literal))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) (false) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (ERROR (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal))) (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))))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) (identifier)))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (subscript_expression argument: (identifier) index: (number_literal))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) (false) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (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 (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_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))))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (pointer_expression argument: (identifier)) (identifier))))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (identifier)))) right: (identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) right: (number_literal))) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) right: (number_literal))) right: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (number_literal))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (identifier)))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) right: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) condition: (parenthesized_expression (true)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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)))))) (expression_statement (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 (identifier)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))) right: (identifier)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (return_statement (identifier)))))

/* WARNING: Removing unreachable block (ram,0x00286140) */

undefined4 * MASKED(int param_1,undefined4 *param_2)

{
  uint *puVar1;
  undefined4 uVar2;
  int *piVar3;
  undefined4 *puVar4;
  undefined4 *puVar5;
  undefined4 *puVar6;
  undefined4 *puVar7;
  undefined4 *puVar8;
  uint uVar9;
  uint uVar10;
  undefined4 *puVar11;
  char *pcVar12;
  uint uVar13;
  uint uVar14;
  undefined4 *puVar15;
  undefined4 *puVar16;
  undefined4 *puVar17;
  code *pcVar18;
  uint *puVar19;
  int *piVar20;
  int iVar21;
  undefined *puVar22;
  code *pcVar23;
  int *piVar24;
  uint uVar25;
  uint uVar26;
  ulonglong uVar27;
  undefined8 uVar28;
  undefined4 uVar29;
  char acStack_c8 [4];
  uint uStack_c4;
  uint uStack_c0;
  uint uStack_bc;
  code *pcStack_b8;
  undefined4 *puStack_b0;
  undefined4 *puStack_ac;
  ulonglong uStack_a8;
  uint *puStack_a0;
  uint *puStack_9c;
  int iStack_98;
  undefined4 in_stack_ffffff8c;
  uint local_40;
  uint local_3c;
  uint local_38;
  uint local_34;
  int local_30;
  int local_2c;
  uint local_28;
  
  puVar19 = &local_40;
  uVar27 = gold::Expression::eval_maybe_dot
                     (*(Symbol_table **)(param_1 + 4),(Layout *)*param_2,SUB41(param_2[1],0),
                      *(bool *)(param_2 + 2),
                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),
                      (Output_section *)param_2[4],(Output_section **)param_2[5],
                      (ulonglong *)param_2[6],(STT *)&local_2c,(STV *)&local_38,(uchar *)0x0,false,
                      (bool *)0x0);
  puVar11 = (undefined4 *)(uVar27 >> 0x20);
  uVar28 = gold::Expression::eval_maybe_dot
                     (*(Symbol_table **)(param_1 + 8),(Layout *)*param_2,SUB41(param_2[1],0),
                      *(bool *)(param_2 + 2),
                      (ulonglong)CONCAT14(*(undefined1 *)((int)param_2 + 9),in_stack_ffffff8c),
                      (Output_section *)param_2[4],(Output_section **)param_2[5],
                      (ulonglong *)param_2[6],(STT *)&local_30,(STV *)puVar19,(uchar *)0x0,false,
                      (bool *)0x0);
  puVar4 = (undefined4 *)((ulonglong)uVar28 >> 0x20);
  local_28 = (uint)uVar28;
  if (local_2c == local_30) {
    if ((int *)param_2[7] != (int *)0x0) {
      *(int *)param_2[7] = local_2c;
    }
LAB_00286094:
    puVar1 = (uint *)param_2[8];
  }
  else {
    if ((local_2c != 0) || (local_30 != 0)) {
      if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {
        puVar11 = (undefined4 *)(PTR_s_alize_xindex_004323b4 + -0x5cec);
        puVar22 = PTR_do_gold_unreachable_004323c4;
        (*(code *)PTR_do_gold_unreachable_004323c4)(puVar11,0x5c,PTR_DAT_0043226c + 0x2730);
        pcStack_b8 = *(code **)(puVar22 + 0x1af82c);
        piVar20 = (int *)puVar11[1];
        puStack_b0 = param_2;
        puStack_ac = puVar4;
        puStack_a0 = &local_38;
        puStack_9c = puVar19;
        iStack_98 = param_1;
LAB_002862a4:
        do {
          piVar24 = (int *)*puVar11;
LAB_002862a8:
          do {
            if (piVar20 == piVar24) {
              *(undefined1 *)(puVar11 + 3) = 1;
              return (undefined4 *)0x1;
            }
            uStack_c0 = piVar20[-2];
            pcVar18 = *(code **)(puVar22 + 0x1acdb0);
            uStack_bc = piVar20[-1];
            puVar11[1] = piVar20 + -2;
            uVar14 = uStack_c0 ^ uStack_bc;
            if (puVar11[0xb] == 0) {
              trap(7);
            }
            uVar25 = uVar14 % (uint)puVar11[0xb];
            uStack_a8 = uVar27;
            piVar3 = (int *)(*pcVar18)(puVar11 + 10,uVar25,&uStack_c0,uVar14);
          } while ((piVar3 != (int *)0x0) &&
                  (piVar20 = piVar20 + -2, uVar27 = uStack_a8, *piVar3 != 0));
          piVar20 = (int *)(**(code **)(puVar22 + 0x1ac0ec))(0x10);
          puVar4 = puVar11 + 0xe;
          pcVar12 = acStack_c8;
          puVar15 = (undefined4 *)puVar11[0xb];
          *piVar20 = 0;
          pcVar23 = *(code **)(puVar22 + 0x1ac8e0);
          uVar2 = puVar11[0xf];
          piVar20[1] = uStack_c0;
          piVar20[2] = uStack_bc;
          uVar29 = 1;
          (*pcVar23)();
          uVar10 = uStack_c4;
          if (acStack_c8[0] == '\0') {
            puVar4 = (undefined4 *)puVar11[10];
            piVar20[3] = uVar14;
            piVar3 = puVar4 + uVar25;
            piVar24 = (int *)*piVar3;
            uVar27 = uStack_a8;
            if (piVar24 == (int *)0x0) goto LAB_00286470;
LAB_002864c8:
            *piVar20 = *piVar24;
            *(int **)*piVar3 = piVar20;
          }
          else {
            if (uStack_c4 == 1) {
              puVar4 = puVar11 + 0x10;
              puVar11[0x10] = 0;
            }
            else {
              iVar21 = uStack_c4 << 2;
              if (0x3fffffff < uStack_c4) {
                (**(code **)(puVar22 + 0x1ac1b4))();
                (**(code **)(puVar22 + 0x1ac7cc))();
                pcVar18 = *(code **)(puVar22 + 0x1ac7d0);
                puVar11[0xf] = uVar2;
                (*pcVar18)();
                pcStack_b8 = (code *)pcVar12;
                (**(code **)(puVar22 + 0x1ac7d4))();
                (**(code **)(puVar22 + 0x1ac7cc))(pcStack_b8);
                (**(code **)(puVar22 + 0x1ac03c))();
                (**(code **)(puVar22 + 0x1ac7d0))();
                pcStack_b8 = (code *)piVar20;
                (**(code **)(puVar22 + 0x1ac7d4))();
                pcVar23 = *(code **)(puVar22 + 0x1ac008);
                pcVar18 = pcStack_b8;
                (*pcVar23)();
                puVar5 = *(undefined4 **)pcVar18;
                puVar11 = *(undefined4 **)((int)pcVar18 + 4);
                uVar14 = (int)puVar11 - (int)puVar5 >> 3;
                if (uVar14 == 0) {
                  uVar25 = 1;
LAB_00286884:
                  iVar21 = uVar25 << 3;
                }
                else {
                  uVar25 = uVar14 << 1;
                  if ((uVar14 <= uVar25) && (uVar25 < 0x20000000)) {
                    puVar17 = (undefined4 *)0x8;
                    if (uVar25 == 0) {
                      iVar21 = 0;
                      puVar6 = (undefined4 *)0x0;
                      goto LAB_00286780;
                    }
                    goto LAB_00286884;
                  }
                  iVar21 = -8;
                }
                puVar6 = (undefined4 *)(**(code **)(pcVar23 + 0x1abc4c))(iVar21);
                iVar21 = (int)puVar6 + iVar21;
                puVar17 = puVar6 + 2;
LAB_00286780:
                puVar7 = (undefined4 *)((int)puVar6 + ((int)puVar4 - (int)puVar5));
                uVar2 = puVar15[1];
                *puVar7 = *puVar15;
                puVar7[1] = uVar2;
                puVar15 = puVar5;
                puVar16 = puVar6;
                if (puVar5 != puVar4) {
                  do {
                    puVar17 = puVar15 + 2;
                    uVar2 = puVar15[1];
                    *puVar16 = *puVar15;
                    puVar16[1] = uVar2;
                    puVar15 = puVar17;
                    puVar16 = puVar16 + 2;
                  } while (puVar4 != puVar17);
                  puVar17 = puVar6 + (((uint)((int)puVar4 + (-8 - (int)puVar5)) >> 3) + 2) * 2;
                }
                puVar15 = puVar4;
                puVar16 = puVar17;
                if (puVar11 != puVar4) {
                  do {
                    puVar8 = puVar15 + 2;
                    *puVar16 = *puVar15;
                    puVar16[1] = puVar15[1];
                    puVar15 = puVar8;
                    puVar16 = puVar16 + 2;
                  } while (puVar11 != puVar8);
                  puVar17 = puVar17 + (((uint)((int)puVar11 + (-8 - (int)puVar4)) >> 3) + 1) * 2;
                }
                if (puVar5 != (undefined4 *)0x0) {
                  puVar7 = (undefined4 *)(**(code **)(pcVar23 + 0x1abb9c))(puVar5);
                }
                *(undefined4 **)pcVar18 = puVar6;
                *(undefined4 **)((int)pcVar18 + 4) = puVar17;
                *(int *)((int)pcVar18 + 8) = iVar21;
                return puVar7;
              }
              puVar4 = (undefined4 *)(**(code **)(puVar22 + 0x1ac0ec))(iVar21);
              (**(code **)(puVar22 + 0x1b0600))(puVar4,0,iVar21);
            }
            piVar24 = (int *)puVar11[0xc];
            puVar11[0xc] = 0;
            if (piVar24 != (int *)0x0) {
              uVar25 = 0;
              do {
                while( true ) {
                  if (uVar10 == 0) {
                    trap(7);
                  }
                  uVar26 = (uint)piVar24[3] % uVar10;
                  puVar15 = puVar4 + uVar26;
                  piVar3 = (int *)*piVar24;
                  if ((int *)*puVar15 == (int *)0x0) break;
                  *piVar24 = *(int *)*puVar15;
                  *(int **)*puVar15 = piVar24;
                  uVar26 = uVar25;
LAB_002863d0:
                  piVar24 = piVar3;
                  uVar25 = uVar26;
                  if (piVar3 == (int *)0x0) goto LAB_0028642c;
                }
                *piVar24 = puVar11[0xc];
                puVar11[0xc] = piVar24;
                *puVar15 = puVar11 + 0xc;
                if (*piVar24 == 0) goto LAB_002863d0;
                puVar4[uVar25] = piVar24;
                piVar24 = piVar3;
                uVar25 = uVar26;
              } while (piVar3 != (int *)0x0);
            }
LAB_0028642c:
            if ((undefined4 *)puVar11[10] != puVar11 + 0x10) {
              (**(code **)(puVar22 + 0x1ac03c))();
            }
            if (uVar10 == 0) {
              trap(7);
            }
            puVar11[0xb] = uVar10;
            puVar11[10] = puVar4;
            piVar20[3] = uVar14;
            piVar3 = puVar4 + uVar14 % uVar10;
            piVar24 = (int *)*piVar3;
            uVar27 = uStack_a8;
            if (piVar24 != (int *)0x0) goto LAB_002864c8;
LAB_00286470:
            iVar21 = puVar11[0xc];
            puVar11[0xc] = piVar20;
            *piVar20 = iVar21;
            if (iVar21 != 0) {
              if (puVar11[0xb] == 0) {
                trap(7);
              }
              puVar4[*(uint *)(iVar21 + 0xc) % (uint)puVar11[0xb]] = piVar20;
            }
            *piVar3 = (int)(puVar11 + 0xc);
            uVar27 = uStack_a8;
          }
          puVar4 = (undefined4 *)puVar11[6];
          piVar20 = (int *)puVar11[1];
          puVar11[0xd] = puVar11[0xd] + 1;
          puVar15 = puVar11 + 5;
          if (puVar4 == (undefined4 *)0x0) goto LAB_002862a4;
          do {
            if (((uint)puVar4[4] < uStack_c0) ||
               ((puVar4[4] == uStack_c0 && ((uint)puVar4[5] < uStack_bc)))) {
              puVar5 = (undefined4 *)puVar4[3];
            }
            else {
              puVar5 = (undefined4 *)puVar4[2];
              puVar15 = puVar4;
            }
            puVar4 = puVar5;
          } while (puVar5 != (undefined4 *)0x0);
          if (((puVar11 + 5 == puVar15) || (uStack_c0 < (uint)puVar15[4])) ||
             ((uStack_c0 == puVar15[4] && (uStack_bc < (uint)puVar15[5])))) goto LAB_002862a4;
          piVar24 = (int *)puVar15[8];
          if (piVar24 == (int *)0x0) {
            piVar24 = (int *)*puVar11;
            goto LAB_002862a8;
          }
          do {
            if (puVar11[0xb] == 0) {
              trap(7);
            }
            uStack_a8 = uVar27;
            piVar3 = (int *)(*pcVar18)(puVar11 + 10,
                                       (uint)(piVar24[1] ^ piVar24[2]) % (uint)puVar11[0xb],
                                       piVar24 + 1,piVar24[1] ^ piVar24[2],uVar29);
            uVar27 = uStack_a8;
            if ((piVar3 == (int *)0x0) || (*piVar3 == 0)) {
              if (piVar20 == (int *)puVar11[2]) {
                (*pcStack_b8)(puVar11,piVar20,piVar24 + 1);
                piVar20 = (int *)puVar11[1];
                uVar27 = uStack_a8;
              }
              else {
                iVar21 = piVar24[2];
                *piVar20 = piVar24[1];
                piVar20[1] = iVar21;
                puVar11[1] = piVar20 + 2;
                piVar20 = piVar20 + 2;
              }
            }
            piVar24 = (int *)*piVar24;
          } while (piVar24 != (int *)0x0);
        } while( true );
      }
      if (*(char *)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x3195) != '\0') {
        uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x26c4);
        (*(code *)PTR_gold_warning_0043245c)(uVar2);
      }
      goto LAB_00286094;
    }
    puVar1 = (uint *)param_2[8];
  }
  if (puVar1 != (uint *)0x0) {
    uVar9 = *puVar1;
    uVar13 = puVar1[1];
    uVar14 = local_38;
    uVar25 = local_34;
    uVar10 = uVar9;
    uVar26 = uVar13;
    if ((puVar11 < puVar4) ||
       (((puVar4 == puVar11 && ((uint)uVar27 < local_28)) ||
        (uVar14 = local_40, uVar25 = local_3c, CONCAT44(puVar4,local_28) < uVar27)))) {
      uVar10 = uVar14;
      uVar26 = uVar25;
      if (((uVar14 <= uVar9) && (uVar10 = uVar9, uVar26 = uVar13, uVar14 == uVar9)) &&
         (uVar13 < uVar25)) {
        uVar10 = uVar14;
        uVar26 = uVar25;
      }
    }
    else {
      if ((local_40 <= local_38) && ((local_40 != local_38 || (local_3c <= local_34)))) {
        local_40 = local_38;
        local_3c = local_34;
        puVar19 = &local_38;
      }
      if ((uVar9 < local_40) || ((local_40 == uVar9 && (uVar13 < local_3c)))) {
        uVar14 = puVar19[1];
        *puVar1 = *puVar19;
        puVar1[1] = uVar14;
        goto LAB_002860cc;
      }
    }
    *puVar1 = uVar10;
    puVar1[1] = uVar26;
  }
LAB_002860cc:
  puVar15 = puVar11;
  if (((puVar11 < puVar4) || (puVar15 = puVar4, puVar4 != puVar11)) ||
     (puVar15 = puVar11, (uint)uVar27 < local_28)) {
    puVar4 = puVar15;
  }
  return puVar4;
}

