
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Enum "STB": Some values do not have unique names */
/* DWARF original prototype: Sized_symbol<32> * get_sized_symbol<32>(Symbol_table * this, Symbol *
   sym) */

Sized_symbol<32> * __thiscall
gold::Symbol_table::get_sized_symbol<32>(Symbol_table *this,Symbol *sym)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  byte bVar15;
  byte bVar16;
  byte bVar17;
  byte bVar18;
  byte bVar19;
  undefined4 uVar20;
  char *msg;
  int iVar21;
  uint uVar22;
  Sized_symbol<32> *pSVar23;
  uint uVar24;
  Symbol *to;
  uint uVar25;
  STB binding;
  undefined4 uVar26;
  bool is_dynamic;
  int iVar27;
  int iVar28;
  uint in_a3;
  undefined1 *defined;
  bool is_ordinary;
  undefined *puVar29;
  code *pcVar30;
  code *pcVar31;
  undefined8 uVar32;
  undefined1 *puStack_9c;
  undefined1 *puStack_98;
  uint uStack_94;
  undefined1 auStack_90 [20];
  
  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228
              );
  }
  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {
    return (Sized_symbol<32> *)this;
  }
  pSVar23 = (Sized_symbol<32> *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860);
  puVar29 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(pSVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);
  if (*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) == 0) {
    (**(code **)(puVar29 + 0x1b5130))
              (*(int *)(puVar29 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar29 + 0x1b49dc) + -0x7228);
  }
  else if (**(int **)(*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) + 4) == 0x40) {
    return pSVar23;
  }
  uVar26 = 0x7f4;
  pcVar30 = *(code **)(puVar29 + 0x1b5130);
  iVar27 = *(int *)(puVar29 + 0x1b49dc) + -0x72b8;
  uVar24 = *(int *)(puVar29 + 0x1b497c) + 0x3860;
  (*pcVar30)();
  if (uVar24 < 0x40000000) {
    uVar26 = (**(code **)(pcVar30 + 0x1b4a28))(uVar24 << 2);
    pSVar23 = (Sized_symbol<32> *)(**(code **)(pcVar30 + 0x1b92e8))(uVar26,0,uVar24 << 2);
    return pSVar23;
  }
  pcVar30 = *(code **)(pcVar30 + 0x1b5140);
  (*pcVar30)();
  (**(code **)(pcVar30 + 0x1b52dc))(&puStack_98,iVar27);
  iVar27 = (**(code **)(pcVar30 + 0x1b91b0))(uVar26);
  iVar27 = uStack_94 + 10 + iVar27;
  uVar20 = (**(code **)(pcVar30 + 0x1b4960))(iVar27);
  defined = puStack_98;
  (**(code **)(pcVar30 + 0x1b90a8))(uVar20,iVar27,uVar26);
  if (in_a3 < 7) {
                    /* WARNING: Could not recover jumptable at 0x0030caac. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    pSVar23 = (Sized_symbol<32> *)
              (*(code *)((int)&((Object *)(pcVar30 + 0x1bc854))->_vptr_Object +
                        *(int *)(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4)))();
    return pSVar23;
  }
  iVar28 = *(int *)(pcVar30 + 0x1b48f0) + -0x71dc;
  (**(code **)(pcVar30 + 0x1b5044))(*(int *)(pcVar30 + 0x1b48f0) + -0x7758,0x3a6);
  iVar27 = 0xa1;
  iVar28 = iVar28 + -0x71bc;
  to = (Symbol *)(*(int *)(pcVar30 + 0x1b4890) + 0x3860);
  (**(code **)(pcVar30 + 0x1b5044))();
  if (puStack_98 != auStack_90) {
    (**(code **)(pcVar30 + 0x1b4910))(puStack_98);
  }
  pcVar31 = *(code **)(pcVar30 + 0x1b48dc);
  (*pcVar31)();
  pSVar23 = (Sized_symbol<32> *)(uStack_94 & 0xff);
  *puStack_9c = 0;
  *puStack_98 = 0;
  uVar25 = *(uint *)&to->field_0x28;
  uVar24 = (uVar25 << 0x10) >> 0x1d;
  if (uVar24 == 4) {
    is_ordinary = true;
    uVar24 = 0;
    is_dynamic = false;
    binding = (uVar25 << 4) >> 0x1c;
  }
  else if (uVar24 == 0) {
    is_ordinary = SUB41((uVar25 << 0x1d) >> 0x1f,0);
    if ((uVar25 & 0xe000) != 0) {
      iVar27 = *(int *)(pcVar31 + 0x1b4658) + -0x71a8;
      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xaa,iVar27);
      iVar27 = iVar27 + -0x71bc;
      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xa1,iVar27);
      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + -0x9b8,0x5c,iVar27 + -0x71c4)
      ;
      iVar28 = 0x1ea;
      pcVar30 = *(code **)(pcVar31 + 0x1b4dac);
      iVar27 = *(int *)(pcVar31 + 0x1b45f8) + 0x4570;
      (*pcVar30)(iVar27,0x1ea,*(int *)(pcVar31 + 0x1b4658) + -0x71b4);
      if ((*(int *)(iVar27 + 0x10) == 0) && (*(int *)(iVar28 + 0x10) == 0)) {
        if ((*(int *)(iVar27 + 0x14) == 0) && (*(int *)(iVar28 + 0x14) == 0)) {
          iVar21 = *(int *)(iVar27 + 0x1c);
          if (iVar21 == -1) goto LAB_0030d1a4;
          goto LAB_0030d188;
        }
        iVar28 = 0x3c1;
      }
      else {
        iVar28 = 0x3c0;
      }
      while( true ) {
        while( true ) {
          iVar27 = *(int *)(pcVar30 + 0x1b41a8) + -0x7758;
          iVar21 = (**(code **)(pcVar30 + 0x1b48fc))
                             (iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4);
LAB_0030d1a4:
          if (*(int *)(iVar28 + 0x1c) == iVar21) break;
LAB_0030d188:
          iVar28 = 0x3c3;
        }
        if ((*(int *)(iVar27 + 0x18) == *(int *)(iVar28 + 0x1c)) &&
           (*(int *)(iVar28 + 0x18) == *(int *)(iVar27 + 0x18))) break;
        iVar28 = 0x3c4;
      }
      if (*(int *)(iVar28 + 4) == 0) {
        *(undefined4 *)(iVar27 + 4) = 0;
      }
      uVar22 = *(uint *)(iVar27 + 0x28);
      uVar26 = *(undefined4 *)(iVar28 + 8);
      uVar24 = *(uint *)(iVar28 + 0x28) & 0xf0000000;
      *(undefined4 *)(iVar27 + 0xc) = *(undefined4 *)(iVar28 + 0xc);
      *(undefined4 *)(iVar27 + 8) = uVar26;
      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfffffff | uVar24;
      uVar25 = ((uint)(*(int *)(iVar28 + 0x28) << 4) >> 0x1c) << 0x18;
      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;
      uVar1 = ((uint)(*(int *)(iVar28 + 0x28) << 8) >> 0x1e) << 0x16;
      *(uint *)(iVar27 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar1;
      uVar2 = ((uint)(*(int *)(iVar28 + 0x28) << 10) >> 0x1a) << 0x10;
      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar1 | uVar2;
      uVar3 = ((uint)(*(int *)(iVar28 + 0x28) << 0x10) >> 0x1d) << 0xd;
      *(uint *)(iVar27 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3;
      uVar4 = ((uint)(*(int *)(iVar28 + 0x28) << 0x13) >> 0x1f) << 0xc;
      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4;
      uVar5 = ((uint)(*(int *)(iVar28 + 0x28) << 0x14) >> 0x1f) << 0xb;
      *(uint *)(iVar27 + 0x28) =
           uVar22 & 0x7ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5;
      uVar6 = ((uint)(*(int *)(iVar28 + 0x28) << 0x15) >> 0x1f) << 10;
      *(uint *)(iVar27 + 0x28) =
           uVar22 & 0x3ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6;
      uVar7 = ((uint)(*(int *)(iVar28 + 0x28) << 0x16) >> 0x1f) << 9;
      *(uint *)(iVar27 + 0x28) =
           uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7;
      uVar8 = ((uint)(*(int *)(iVar28 + 0x28) << 0x17) >> 0x1f) << 8;
      *(uint *)(iVar27 + 0x28) =
           uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |
           uVar8;
      uVar9 = ((uint)(*(int *)(iVar28 + 0x28) << 0x18) >> 0x1f) << 7;
      *(uint *)(iVar27 + 0x28) =
           uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |
           uVar8 | uVar9;
      uVar10 = ((uint)(*(int *)(iVar28 + 0x28) << 0x19) >> 0x1f) << 6;
      *(uint *)(iVar27 + 0x28) =
           uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |
           uVar8 | uVar9 | uVar10;
      uVar11 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1a) >> 0x1f) << 5;
      *(uint *)(iVar27 + 0x28) =
           uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |
           uVar8 | uVar9 | uVar10 | uVar11;
      uVar12 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1b) >> 0x1f) << 4;
      *(uint *)(iVar27 + 0x28) =
           uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |
           uVar8 | uVar9 | uVar10 | uVar11 | uVar12;
      bVar15 = *(byte *)(iVar27 + 0x2c);
      uVar13 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1d) >> 0x1f) << 2;
      *(uint *)(iVar27 + 0x28) =
           uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |
           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;
      uVar14 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1e) >> 0x1f) << 1;
      *(uint *)(iVar27 + 0x28) =
           uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |
           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14;
      uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7
               | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14 |
               *(uint *)(iVar28 + 0x28) & 1;
      *(uint *)(iVar27 + 0x28) = uVar24;
      bVar16 = (byte)((*(uint *)(iVar28 + 0x2c) >> 0x1f) << 7);
      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x7f | bVar16;
      bVar17 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 1) >> 0x1f) << 6);
      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x3f | bVar16 | bVar17;
      bVar18 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 2) >> 0x1f) << 5);
      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x1f | bVar16 | bVar17 | bVar18;
      bVar19 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 3) >> 0x1f) << 4);
      *(byte *)(iVar27 + 0x2c) = bVar15 & 0xf | bVar16 | bVar17 | bVar18 | bVar19;
      *(byte *)(iVar27 + 0x2c) =
           bVar15 & 7 | bVar16 | bVar17 | bVar18 | bVar19 |
           (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f) << 3);
      if ((int)(uVar24 << 0x1c) < 0) {
        pSVar23 = (Sized_symbol<32> *)0x0;
      }
      else {
        pSVar23 = (Sized_symbol<32> *)((uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f);
      }
      return pSVar23;
    }
    uVar24 = (to->u2_).shndx;
    binding = (uVar25 << 4) >> 0x1c;
    is_dynamic = SUB41((uint)((to->u1_).output_segment)->output_lists_[3].
                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>
                             ._M_impl._M_end_of_storage >> 0x1f,0);
  }
  else {
    is_ordinary = false;
    uVar24 = 0xfff1;
    is_dynamic = false;
    binding = (uVar25 << 4) >> 0x1c;
  }
  uVar24 = symbol_to_bits(binding,is_dynamic,uVar24,is_ordinary);
  if ((*(uint *)&to->field_0x28 >> 0x1c == 6) != (iVar28 == 6)) {
    iVar28 = *(int *)(pcVar31 + 0x1b4658);
    if ((*(uint *)&to->field_0x28 & 0xe000) == 0) {
      iVar28 = (*((to->u1_).object)->_vptr_Object[5])((to->u1_).object);
      if (iVar28 != 0) goto LAB_0030cd70;
      iVar28 = *(int *)(pcVar31 + 0x1b4658);
    }
    msg = (char *)(**(code **)(pcVar31 + 0x1b8fac))(iVar28 + -0x76f0);
    report_resolve_problem(true,msg,to,(Defined)defined,(Object *)(pcVar30 + 0x1bc854));
  }
LAB_0030cd70:
  uVar24 = uVar24 * 0x10 + iVar27;
  if (0xbb < uVar24) {
    uVar32 = (**(code **)(pcVar31 + 0x1b4dac))
                       (*(int *)(pcVar31 + 0x1b4658) + -0x7758,0x379,
                        *(int *)(pcVar31 + 0x1b4658) + -0x71a0);
    if ((to->version_ != (char *)0x0) || (pSVar23 == (Sized_symbol<32> *)0x0)) {
      if (((int)((ulonglong)uVar32 >> 0x20) << 0x17 < 0) &&
         ((*(int *)&to->field_0x2c << 1 < 0 &&
          (iVar27 = *(int *)((int)uVar32 + 0x2c), iVar27 << 6 < 0)))) {
        pSVar23 = (Sized_symbol<32> *)((uint)(iVar27 << 1) >> 0x1f ^ 1);
      }
      else {
        pSVar23 = (Sized_symbol<32> *)0x0;
      }
    }
    return pSVar23;
  }
                    /* WARNING: Could not recover jumptable at 0x0030cd98. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  pSVar23 = (Sized_symbol<32> *)
            (*(pcVar31 + *(int *)(*(int *)(pcVar31 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))
                      ();
  return pSVar23;
}



undefined * FUN_0030c880(undefined *param_1,undefined4 param_2,undefined4 param_3,uint param_4)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  uint uVar13;
  byte bVar14;
  byte bVar15;
  byte bVar16;
  byte bVar17;
  byte bVar18;
  undefined *puVar19;
  undefined4 uVar20;
  int iVar21;
  uint uVar22;
  undefined *puVar23;
  uint uVar24;
  uint uVar25;
  undefined4 uVar26;
  int iVar27;
  uint uVar28;
  int iVar29;
  int iVar30;
  undefined1 *puVar31;
  code *pcVar32;
  code *pcVar33;
  undefined8 uVar34;
  undefined1 *puStack_9c;
  undefined1 *puStack_98;
  uint uStack_94;
  undefined1 auStack_90 [20];
  
  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228
              );
  }
  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {
    return param_1;
  }
  puVar23 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860;
  puVar19 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);
  if (*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0) {
    (**(code **)(puVar19 + 0x1b5130))
              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);
  }
  else if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {
    return puVar23;
  }
  uVar26 = 0x7f4;
  pcVar32 = *(code **)(puVar19 + 0x1b5130);
  iVar29 = *(int *)(puVar19 + 0x1b49dc) + -0x72b8;
  uVar24 = *(int *)(puVar19 + 0x1b497c) + 0x3860;
  (*pcVar32)();
  if (uVar24 < 0x40000000) {
    uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);
    puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);
    return puVar19;
  }
  pcVar32 = *(code **)(pcVar32 + 0x1b5140);
  (*pcVar32)();
  (**(code **)(pcVar32 + 0x1b52dc))(&puStack_98,iVar29);
  iVar29 = (**(code **)(pcVar32 + 0x1b91b0))(uVar26);
  iVar29 = uStack_94 + 10 + iVar29;
  uVar20 = (**(code **)(pcVar32 + 0x1b4960))(iVar29);
  puVar31 = puStack_98;
  (**(code **)(pcVar32 + 0x1b90a8))(uVar20,iVar29,uVar26,puStack_98);
  if (param_4 < 7) {
                    /* WARNING: Could not recover jumptable at 0x0030caac. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    puVar19 = (undefined *)
              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)
                ))();
    return puVar19;
  }
  iVar30 = *(int *)(pcVar32 + 0x1b48f0) + -0x71dc;
  (**(code **)(pcVar32 + 0x1b5044))(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6);
  iVar27 = 0xa1;
  iVar30 = iVar30 + -0x71bc;
  iVar29 = *(int *)(pcVar32 + 0x1b4890) + 0x3860;
  (**(code **)(pcVar32 + 0x1b5044))();
  if (puStack_98 != auStack_90) {
    (**(code **)(pcVar32 + 0x1b4910))(puStack_98);
  }
  pcVar33 = *(code **)(pcVar32 + 0x1b48dc);
  (*pcVar33)();
  puVar19 = (undefined *)(uStack_94 & 0xff);
  *puStack_9c = 0;
  *puStack_98 = 0;
  uVar25 = *(uint *)(iVar29 + 0x28);
  uVar24 = (uVar25 << 0x10) >> 0x1d;
  if (uVar24 == 4) {
    uVar24 = 1;
    uVar26 = 0;
    uVar28 = 0;
    uVar25 = (uVar25 << 4) >> 0x1c;
  }
  else if (uVar24 == 0) {
    uVar24 = (uVar25 << 0x1d) >> 0x1f;
    if ((uVar25 & 0xe000) != 0) {
      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;
      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);
      iVar29 = iVar29 + -0x71bc;
      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);
      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)
      ;
      iVar27 = 0x1ea;
      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);
      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;
      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);
      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {
        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {
          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {
            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {
              if (*(int *)(iVar27 + 4) == 0) {
                *(undefined4 *)(iVar29 + 4) = 0;
              }
              uVar22 = *(uint *)(iVar29 + 0x28);
              uVar26 = *(undefined4 *)(iVar27 + 8);
              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;
              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);
              *(undefined4 *)(iVar29 + 8) = uVar26;
              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;
              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;
              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;
              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;
              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;
              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;
              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;
              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;
              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;
              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;
              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;
              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5
              ;
              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5
                   | uVar6;
              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5
                   | uVar6 | uVar7;
              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5
                   | uVar6 | uVar7 | uVar8;
              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5
                   | uVar6 | uVar7 | uVar8 | uVar9;
              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5
                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;
              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |
                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;
              bVar14 = *(byte *)(iVar29 + 0x2c);
              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |
                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;
              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |
                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;
              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5
                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |
                       *(uint *)(iVar27 + 0x28) & 1;
              *(uint *)(iVar29 + 0x28) = uVar24;
              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);
              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;
              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);
              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;
              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);
              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;
              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);
              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;
              *(byte *)(iVar29 + 0x2c) =
                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |
                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);
              if ((int)(uVar24 << 0x1c) < 0) {
                puVar19 = (undefined *)0x0;
              }
              else {
                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);
              }
              return puVar19;
            }
            uVar26 = 0x3c4;
          }
          else {
            uVar26 = 0x3c3;
          }
        }
        else {
          uVar26 = 0x3c1;
        }
      }
      else {
        uVar26 = 0x3c0;
      }
      puVar19 = (undefined *)
                (**(code **)(pcVar32 + 0x1b48fc))
                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,
                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);
      return puVar19;
    }
    uVar26 = *(undefined4 *)(iVar29 + 0xc);
    uVar25 = (uVar25 << 4) >> 0x1c;
    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;
  }
  else {
    uVar24 = 0;
    uVar26 = 0xfff1;
    uVar28 = 0;
    uVar25 = (uVar25 << 4) >> 0x1c;
  }
  iVar21 = FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24);
  if ((*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6)) {
    iVar30 = *(int *)(pcVar33 + 0x1b4658);
    if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {
      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));
      if (iVar30 != 0) goto LAB_0030cd70;
      iVar30 = *(int *)(pcVar33 + 0x1b4658);
    }
    uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);
    gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);
  }
LAB_0030cd70:
  uVar24 = iVar21 * 0x10 + iVar27;
  if (0xbb < uVar24) {
    uVar34 = (**(code **)(pcVar33 + 0x1b4dac))
                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,
                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);
    if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {
      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&
         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&
          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {
        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);
      }
      else {
        puVar19 = (undefined *)0x0;
      }
    }
    return puVar19;
  }
                    /* WARNING: Could not recover jumptable at 0x0030cd98. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  puVar19 = (undefined *)
            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))
                      ();
  return puVar19;
}


lui gp,0x1c
addiu gp,gp,-0x3640
addu gp,gp,t9
lw v1,-0x788c(gp)
addiu sp,sp,-0x20
sw gp,0x10(sp)
lw v1,0x0(v1)
sw ra,0x1c(sp)
lw v1,0xc(v1)
beq v1,zero,0x0030c8c8
_li v0,0x20
lw v1,0x4(v1)
lw v1,0x0(v1)
bne v1,v0,0x0030c8e4
_lw ra,0x1c(sp)
or v0,a0,zero
jr ra
_addiu sp,sp,0x20
lw a2,-0x7f64(gp)
li a1,0x69
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x7228
jalr t9
_addiu a0,a0,-0x9b8
lw a2,-0x7f64(gp)
li a1,0x7f4
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x726c
jalr t9
_addiu a0,a0,0x3860
(translation_unit "undefined * FUN_0030c880(undefined *param_1,undefined4 param_2,undefined4 param_3,uint param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  byte bVar14;\n  byte bVar15;\n  byte bVar16;\n  byte bVar17;\n  byte bVar18;\n  undefined *puVar19;\n  undefined4 uVar20;\n  int iVar21;\n  uint uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  uint uVar25;\n  undefined4 uVar26;\n  int iVar27;\n  uint uVar28;\n  int iVar29;\n  int iVar30;\n  undefined1 *puVar31;\n  code *pcVar32;\n  code *pcVar33;\n  undefined8 uVar34;\n  undefined1 *puStack_9c;\n  undefined1 *puStack_98;\n  uint uStack_94;\n  undefined1 auStack_90 [20];\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }\n  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }\n  puVar23 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860;\n  puVar19 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);\n  if (*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0) {\n    (**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);\n  }\n  else if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }\n  uVar26 = 0x7f4;\n  pcVar32 = *(code **)(puVar19 + 0x1b5130);\n  iVar29 = *(int *)(puVar19 + 0x1b49dc) + -0x72b8;\n  uVar24 = *(int *)(puVar19 + 0x1b497c) + 0x3860;\n  (*pcVar32)();\n  if (uVar24 < 0x40000000) {\n    uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);\n    puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return puVar19;\n  }\n  pcVar32 = *(code **)(pcVar32 + 0x1b5140);\n  (*pcVar32)();\n  (**(code **)(pcVar32 + 0x1b52dc))(&puStack_98,iVar29);\n  iVar29 = (**(code **)(pcVar32 + 0x1b91b0))(uVar26);\n  iVar29 = uStack_94 + 10 + iVar29;\n  uVar20 = (**(code **)(pcVar32 + 0x1b4960))(iVar29);\n  puVar31 = puStack_98;\n  (**(code **)(pcVar32 + 0x1b90a8))(uVar20,iVar29,uVar26,puStack_98);\n  if (param_4 < 7) {\n                    /* WARNING: Could not recover jumptable at 0x0030caac. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();\n    return puVar19;\n  }\n  iVar30 = *(int *)(pcVar32 + 0x1b48f0) + -0x71dc;\n  (**(code **)(pcVar32 + 0x1b5044))(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6);\n  iVar27 = 0xa1;\n  iVar30 = iVar30 + -0x71bc;\n  iVar29 = *(int *)(pcVar32 + 0x1b4890) + 0x3860;\n  (**(code **)(pcVar32 + 0x1b5044))();\n  if (puStack_98 != auStack_90) {\n    (**(code **)(pcVar32 + 0x1b4910))(puStack_98);\n  }\n  pcVar33 = *(code **)(pcVar32 + 0x1b48dc);\n  (*pcVar33)();\n  puVar19 = (undefined *)(uStack_94 & 0xff);\n  *puStack_9c = 0;\n  *puStack_98 = 0;\n  uVar25 = *(uint *)(iVar29 + 0x28);\n  uVar24 = (uVar25 << 0x10) >> 0x1d;\n  if (uVar24 == 4) {\n    uVar24 = 1;\n    uVar26 = 0;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  else if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  iVar21 = FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24);\n  if ((*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6)) {\n    iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }\n    uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);\n    gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);\n  }\nLAB_0030cd70:\n  uVar24 = iVar21 * 0x10 + iVar27;\n  if (0xbb < uVar24) {\n    uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);\n    if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }\n    return puVar19;\n  }\n                    /* WARNING: Could not recover jumptable at 0x0030cd98. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  puVar19 = (undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ();\n  return puVar19;\n}\n\n" (function_definition "undefined * FUN_0030c880(undefined *param_1,undefined4 param_2,undefined4 param_3,uint param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  byte bVar14;\n  byte bVar15;\n  byte bVar16;\n  byte bVar17;\n  byte bVar18;\n  undefined *puVar19;\n  undefined4 uVar20;\n  int iVar21;\n  uint uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  uint uVar25;\n  undefined4 uVar26;\n  int iVar27;\n  uint uVar28;\n  int iVar29;\n  int iVar30;\n  undefined1 *puVar31;\n  code *pcVar32;\n  code *pcVar33;\n  undefined8 uVar34;\n  undefined1 *puStack_9c;\n  undefined1 *puStack_98;\n  uint uStack_94;\n  undefined1 auStack_90 [20];\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }\n  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }\n  puVar23 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860;\n  puVar19 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);\n  if (*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0) {\n    (**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);\n  }\n  else if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }\n  uVar26 = 0x7f4;\n  pcVar32 = *(code **)(puVar19 + 0x1b5130);\n  iVar29 = *(int *)(puVar19 + 0x1b49dc) + -0x72b8;\n  uVar24 = *(int *)(puVar19 + 0x1b497c) + 0x3860;\n  (*pcVar32)();\n  if (uVar24 < 0x40000000) {\n    uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);\n    puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return puVar19;\n  }\n  pcVar32 = *(code **)(pcVar32 + 0x1b5140);\n  (*pcVar32)();\n  (**(code **)(pcVar32 + 0x1b52dc))(&puStack_98,iVar29);\n  iVar29 = (**(code **)(pcVar32 + 0x1b91b0))(uVar26);\n  iVar29 = uStack_94 + 10 + iVar29;\n  uVar20 = (**(code **)(pcVar32 + 0x1b4960))(iVar29);\n  puVar31 = puStack_98;\n  (**(code **)(pcVar32 + 0x1b90a8))(uVar20,iVar29,uVar26,puStack_98);\n  if (param_4 < 7) {\n                    /* WARNING: Could not recover jumptable at 0x0030caac. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();\n    return puVar19;\n  }\n  iVar30 = *(int *)(pcVar32 + 0x1b48f0) + -0x71dc;\n  (**(code **)(pcVar32 + 0x1b5044))(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6);\n  iVar27 = 0xa1;\n  iVar30 = iVar30 + -0x71bc;\n  iVar29 = *(int *)(pcVar32 + 0x1b4890) + 0x3860;\n  (**(code **)(pcVar32 + 0x1b5044))();\n  if (puStack_98 != auStack_90) {\n    (**(code **)(pcVar32 + 0x1b4910))(puStack_98);\n  }\n  pcVar33 = *(code **)(pcVar32 + 0x1b48dc);\n  (*pcVar33)();\n  puVar19 = (undefined *)(uStack_94 & 0xff);\n  *puStack_9c = 0;\n  *puStack_98 = 0;\n  uVar25 = *(uint *)(iVar29 + 0x28);\n  uVar24 = (uVar25 << 0x10) >> 0x1d;\n  if (uVar24 == 4) {\n    uVar24 = 1;\n    uVar26 = 0;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  else if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  iVar21 = FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24);\n  if ((*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6)) {\n    iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }\n    uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);\n    gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);\n  }\nLAB_0030cd70:\n  uVar24 = iVar21 * 0x10 + iVar27;\n  if (0xbb < uVar24) {\n    uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);\n    if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }\n    return puVar19;\n  }\n                    /* WARNING: Could not recover jumptable at 0x0030cd98. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  puVar19 = (undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ();\n  return puVar19;\n}" type_identifier (pointer_declarator "* FUN_0030c880(undefined *param_1,undefined4 param_2,undefined4 param_3,uint param_4)" * (function_declarator "FUN_0030c880(undefined *param_1,undefined4 param_2,undefined4 param_3,uint param_4)" identifier (parameter_list "(undefined *param_1,undefined4 param_2,undefined4 param_3,uint param_4)" ( (parameter_declaration "undefined *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) )))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  byte bVar14;\n  byte bVar15;\n  byte bVar16;\n  byte bVar17;\n  byte bVar18;\n  undefined *puVar19;\n  undefined4 uVar20;\n  int iVar21;\n  uint uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  uint uVar25;\n  undefined4 uVar26;\n  int iVar27;\n  uint uVar28;\n  int iVar29;\n  int iVar30;\n  undefined1 *puVar31;\n  code *pcVar32;\n  code *pcVar33;\n  undefined8 uVar34;\n  undefined1 *puStack_9c;\n  undefined1 *puStack_98;\n  uint uStack_94;\n  undefined1 auStack_90 [20];\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }\n  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }\n  puVar23 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860;\n  puVar19 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);\n  if (*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0) {\n    (**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);\n  }\n  else if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }\n  uVar26 = 0x7f4;\n  pcVar32 = *(code **)(puVar19 + 0x1b5130);\n  iVar29 = *(int *)(puVar19 + 0x1b49dc) + -0x72b8;\n  uVar24 = *(int *)(puVar19 + 0x1b497c) + 0x3860;\n  (*pcVar32)();\n  if (uVar24 < 0x40000000) {\n    uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);\n    puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return puVar19;\n  }\n  pcVar32 = *(code **)(pcVar32 + 0x1b5140);\n  (*pcVar32)();\n  (**(code **)(pcVar32 + 0x1b52dc))(&puStack_98,iVar29);\n  iVar29 = (**(code **)(pcVar32 + 0x1b91b0))(uVar26);\n  iVar29 = uStack_94 + 10 + iVar29;\n  uVar20 = (**(code **)(pcVar32 + 0x1b4960))(iVar29);\n  puVar31 = puStack_98;\n  (**(code **)(pcVar32 + 0x1b90a8))(uVar20,iVar29,uVar26,puStack_98);\n  if (param_4 < 7) {\n                    /* WARNING: Could not recover jumptable at 0x0030caac. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();\n    return puVar19;\n  }\n  iVar30 = *(int *)(pcVar32 + 0x1b48f0) + -0x71dc;\n  (**(code **)(pcVar32 + 0x1b5044))(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6);\n  iVar27 = 0xa1;\n  iVar30 = iVar30 + -0x71bc;\n  iVar29 = *(int *)(pcVar32 + 0x1b4890) + 0x3860;\n  (**(code **)(pcVar32 + 0x1b5044))();\n  if (puStack_98 != auStack_90) {\n    (**(code **)(pcVar32 + 0x1b4910))(puStack_98);\n  }\n  pcVar33 = *(code **)(pcVar32 + 0x1b48dc);\n  (*pcVar33)();\n  puVar19 = (undefined *)(uStack_94 & 0xff);\n  *puStack_9c = 0;\n  *puStack_98 = 0;\n  uVar25 = *(uint *)(iVar29 + 0x28);\n  uVar24 = (uVar25 << 0x10) >> 0x1d;\n  if (uVar24 == 4) {\n    uVar24 = 1;\n    uVar26 = 0;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  else if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  iVar21 = FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24);\n  if ((*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6)) {\n    iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }\n    uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);\n    gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);\n  }\nLAB_0030cd70:\n  uVar24 = iVar21 * 0x10 + iVar27;\n  if (0xbb < uVar24) {\n    uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);\n    if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }\n    return puVar19;\n  }\n                    /* WARNING: Could not recover jumptable at 0x0030cd98. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  puVar19 = (undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ();\n  return puVar19;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "byte bVar15;" type_identifier identifier ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "byte bVar18;" type_identifier identifier ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "undefined4 uVar26;" type_identifier identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "undefined1 *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "code *pcVar32;" type_identifier (pointer_declarator "*pcVar32" * identifier) ;) (declaration "code *pcVar33;" type_identifier (pointer_declarator "*pcVar33" * identifier) ;) (declaration "undefined8 uVar34;" type_identifier identifier ;) (declaration "undefined1 *puStack_9c;" type_identifier (pointer_declarator "*puStack_9c" * identifier) ;) (declaration "undefined1 *puStack_98;" type_identifier (pointer_declarator "*puStack_98" * identifier) ;) (declaration "uint uStack_94;" type_identifier identifier ;) (declaration "undefined1 auStack_90 [20];" type_identifier (array_declarator "auStack_90 [20]" identifier [ number_literal ]) ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }\n  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == number_literal) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              )" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              )" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_UINT_004c12dc + -0x7228" identifier + number_literal) ))) ;) }) (else_clause "else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }" else (if_statement "if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }" if (parenthesized_expression "(**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20)" ( (binary_expression "**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20" (pointer_expression "**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (pointer_expression "*(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (cast_expression "(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) ))))) == number_literal) )) (compound_statement "{\n    return param_1;\n  }" { (return_statement "return param_1;" return identifier ;) })))) (expression_statement "puVar23 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860;" (assignment_expression "puVar23 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860" identifier = (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860" identifier + number_literal)) ;) (expression_statement "puVar19 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar19 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c)" ( identifier , number_literal , (binary_expression "PTR_UINT_004c12dc + -0x726c" identifier + number_literal) ))) ;) (if_statement "if (*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0) {\n    (**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);\n  }\n  else if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }" if (parenthesized_expression "(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0)" ( (binary_expression "*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0" (pointer_expression "*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc)" * (cast_expression "(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(puVar19 + 0x1b50b4) + 0xc)" ( (binary_expression "**(int **)(puVar19 + 0x1b50b4) + 0xc" (pointer_expression "**(int **)(puVar19 + 0x1b50b4)" * (pointer_expression "*(int **)(puVar19 + 0x1b50b4)" * (cast_expression "(int **)(puVar19 + 0x1b50b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x1b50b4)" ( (binary_expression "puVar19 + 0x1b50b4" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    (**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);\n  }" { (expression_statement "(**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);" (call_expression "(**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228)" (parenthesized_expression "(**(code **)(puVar19 + 0x1b5130))" ( (pointer_expression "**(code **)(puVar19 + 0x1b5130)" * (pointer_expression "*(code **)(puVar19 + 0x1b5130)" * (cast_expression "(code **)(puVar19 + 0x1b5130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x1b5130)" ( (binary_expression "puVar19 + 0x1b5130" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228)" ( (binary_expression "*(int *)(puVar19 + 0x1b497c) + -0x9b8" (pointer_expression "*(int *)(puVar19 + 0x1b497c)" * (cast_expression "(int *)(puVar19 + 0x1b497c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x1b497c)" ( (binary_expression "puVar19 + 0x1b497c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar19 + 0x1b49dc) + -0x7228" (pointer_expression "*(int *)(puVar19 + 0x1b49dc)" * (cast_expression "(int *)(puVar19 + 0x1b49dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x1b49dc)" ( (binary_expression "puVar19 + 0x1b49dc" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }" else (if_statement "if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }" if (parenthesized_expression "(**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40)" ( (binary_expression "**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40" (pointer_expression "**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4)" * (pointer_expression "*(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4)" * (cast_expression "(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4)" ( (binary_expression "*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4" (pointer_expression "*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc)" * (cast_expression "(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(puVar19 + 0x1b50b4) + 0xc)" ( (binary_expression "**(int **)(puVar19 + 0x1b50b4) + 0xc" (pointer_expression "**(int **)(puVar19 + 0x1b50b4)" * (pointer_expression "*(int **)(puVar19 + 0x1b50b4)" * (cast_expression "(int **)(puVar19 + 0x1b50b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x1b50b4)" ( (binary_expression "puVar19 + 0x1b50b4" identifier + number_literal) ))))) + number_literal) )))) + number_literal) ))))) == number_literal) )) (compound_statement "{\n    return puVar23;\n  }" { (return_statement "return puVar23;" return identifier ;) })))) (expression_statement "uVar26 = 0x7f4;" (assignment_expression "uVar26 = 0x7f4" identifier = number_literal) ;) (expression_statement "pcVar32 = *(code **)(puVar19 + 0x1b5130);" (assignment_expression "pcVar32 = *(code **)(puVar19 + 0x1b5130)" identifier = (pointer_expression "*(code **)(puVar19 + 0x1b5130)" * (cast_expression "(code **)(puVar19 + 0x1b5130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x1b5130)" ( (binary_expression "puVar19 + 0x1b5130" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = *(int *)(puVar19 + 0x1b49dc) + -0x72b8;" (assignment_expression "iVar29 = *(int *)(puVar19 + 0x1b49dc) + -0x72b8" identifier = (binary_expression "*(int *)(puVar19 + 0x1b49dc) + -0x72b8" (pointer_expression "*(int *)(puVar19 + 0x1b49dc)" * (cast_expression "(int *)(puVar19 + 0x1b49dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x1b49dc)" ( (binary_expression "puVar19 + 0x1b49dc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "uVar24 = *(int *)(puVar19 + 0x1b497c) + 0x3860;" (assignment_expression "uVar24 = *(int *)(puVar19 + 0x1b497c) + 0x3860" identifier = (binary_expression "*(int *)(puVar19 + 0x1b497c) + 0x3860" (pointer_expression "*(int *)(puVar19 + 0x1b497c)" * (cast_expression "(int *)(puVar19 + 0x1b497c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x1b497c)" ( (binary_expression "puVar19 + 0x1b497c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar32)();" (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (uVar24 < 0x40000000) {\n    uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);\n    puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return puVar19;\n  }" if (parenthesized_expression "(uVar24 < 0x40000000)" ( (binary_expression "uVar24 < 0x40000000" identifier < number_literal) )) (compound_statement "{\n    uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);\n    puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return puVar19;\n  }" { (expression_statement "uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);" (assignment_expression "uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2)" identifier = (call_expression "(**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b4a28))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b4a28)" * (pointer_expression "*(code **)(pcVar32 + 0x1b4a28)" * (cast_expression "(code **)(pcVar32 + 0x1b4a28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b4a28)" ( (binary_expression "pcVar32 + 0x1b4a28" identifier + number_literal) ))))) )) (argument_list "(uVar24 << 2)" ( (binary_expression "uVar24 << 2" identifier << number_literal) )))) ;) (expression_statement "puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);" (assignment_expression "puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2)" identifier = (cast_expression "(undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b92e8))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b92e8)" * (pointer_expression "*(code **)(pcVar32 + 0x1b92e8)" * (cast_expression "(code **)(pcVar32 + 0x1b92e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b92e8)" ( (binary_expression "pcVar32 + 0x1b92e8" identifier + number_literal) ))))) )) (argument_list "(uVar26,0,uVar24 << 2)" ( identifier , number_literal , (binary_expression "uVar24 << 2" identifier << number_literal) ))))) ;) (return_statement "return puVar19;" return identifier ;) })) (expression_statement "pcVar32 = *(code **)(pcVar32 + 0x1b5140);" (assignment_expression "pcVar32 = *(code **)(pcVar32 + 0x1b5140)" identifier = (pointer_expression "*(code **)(pcVar32 + 0x1b5140)" * (cast_expression "(code **)(pcVar32 + 0x1b5140)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b5140)" ( (binary_expression "pcVar32 + 0x1b5140" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar32)();" (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcVar32 + 0x1b52dc))(&puStack_98,iVar29);" (call_expression "(**(code **)(pcVar32 + 0x1b52dc))(&puStack_98,iVar29)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b52dc))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b52dc)" * (pointer_expression "*(code **)(pcVar32 + 0x1b52dc)" * (cast_expression "(code **)(pcVar32 + 0x1b52dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b52dc)" ( (binary_expression "pcVar32 + 0x1b52dc" identifier + number_literal) ))))) )) (argument_list "(&puStack_98,iVar29)" ( (pointer_expression "&puStack_98" & identifier) , identifier ))) ;) (expression_statement "iVar29 = (**(code **)(pcVar32 + 0x1b91b0))(uVar26);" (assignment_expression "iVar29 = (**(code **)(pcVar32 + 0x1b91b0))(uVar26)" identifier = (call_expression "(**(code **)(pcVar32 + 0x1b91b0))(uVar26)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b91b0))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b91b0)" * (pointer_expression "*(code **)(pcVar32 + 0x1b91b0)" * (cast_expression "(code **)(pcVar32 + 0x1b91b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b91b0)" ( (binary_expression "pcVar32 + 0x1b91b0" identifier + number_literal) ))))) )) (argument_list "(uVar26)" ( identifier )))) ;) (expression_statement "iVar29 = uStack_94 + 10 + iVar29;" (assignment_expression "iVar29 = uStack_94 + 10 + iVar29" identifier = (binary_expression "uStack_94 + 10 + iVar29" (binary_expression "uStack_94 + 10" identifier + number_literal) + identifier)) ;) (expression_statement "uVar20 = (**(code **)(pcVar32 + 0x1b4960))(iVar29);" (assignment_expression "uVar20 = (**(code **)(pcVar32 + 0x1b4960))(iVar29)" identifier = (call_expression "(**(code **)(pcVar32 + 0x1b4960))(iVar29)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b4960))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b4960)" * (pointer_expression "*(code **)(pcVar32 + 0x1b4960)" * (cast_expression "(code **)(pcVar32 + 0x1b4960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b4960)" ( (binary_expression "pcVar32 + 0x1b4960" identifier + number_literal) ))))) )) (argument_list "(iVar29)" ( identifier )))) ;) (expression_statement "puVar31 = puStack_98;" (assignment_expression "puVar31 = puStack_98" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar32 + 0x1b90a8))(uVar20,iVar29,uVar26,puStack_98);" (call_expression "(**(code **)(pcVar32 + 0x1b90a8))(uVar20,iVar29,uVar26,puStack_98)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b90a8))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b90a8)" * (pointer_expression "*(code **)(pcVar32 + 0x1b90a8)" * (cast_expression "(code **)(pcVar32 + 0x1b90a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b90a8)" ( (binary_expression "pcVar32 + 0x1b90a8" identifier + number_literal) ))))) )) (argument_list "(uVar20,iVar29,uVar26,puStack_98)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (param_4 < 7) {\n                    /* WARNING: Could not recover jumptable at 0x0030caac. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();\n    return puVar19;\n  }" if (parenthesized_expression "(param_4 < 7)" ( (binary_expression "param_4 < 7" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0030caac. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();\n    return puVar19;\n  }" { comment comment (expression_statement "puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();" (assignment_expression "puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))()" identifier = (cast_expression "(undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))()" (parenthesized_expression "(*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))" ( (pointer_expression "*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                )" * (parenthesized_expression "(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                )" ( (binary_expression "pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)" (binary_expression "pcVar32 + 0x1bc854" identifier + number_literal) + (pointer_expression "*(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)" * (cast_expression "(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)" ( (binary_expression "*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4" (binary_expression "*(int *)(pcVar32 + 0x1b48f0) + -0x7610" (pointer_expression "*(int *)(pcVar32 + 0x1b48f0)" * (cast_expression "(int *)(pcVar32 + 0x1b48f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x1b48f0)" ( (binary_expression "pcVar32 + 0x1b48f0" identifier + number_literal) )))) + number_literal) + (binary_expression "param_4 * 4" identifier * number_literal)) ))))) ))) )) (argument_list "()" ( ))))) ;) (return_statement "return puVar19;" return identifier ;) })) (expression_statement "iVar30 = *(int *)(pcVar32 + 0x1b48f0) + -0x71dc;" (assignment_expression "iVar30 = *(int *)(pcVar32 + 0x1b48f0) + -0x71dc" identifier = (binary_expression "*(int *)(pcVar32 + 0x1b48f0) + -0x71dc" (pointer_expression "*(int *)(pcVar32 + 0x1b48f0)" * (cast_expression "(int *)(pcVar32 + 0x1b48f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x1b48f0)" ( (binary_expression "pcVar32 + 0x1b48f0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar32 + 0x1b5044))(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6);" (call_expression "(**(code **)(pcVar32 + 0x1b5044))(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b5044))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b5044)" * (pointer_expression "*(code **)(pcVar32 + 0x1b5044)" * (cast_expression "(code **)(pcVar32 + 0x1b5044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b5044)" ( (binary_expression "pcVar32 + 0x1b5044" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6)" ( (binary_expression "*(int *)(pcVar32 + 0x1b48f0) + -0x7758" (pointer_expression "*(int *)(pcVar32 + 0x1b48f0)" * (cast_expression "(int *)(pcVar32 + 0x1b48f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x1b48f0)" ( (binary_expression "pcVar32 + 0x1b48f0" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "iVar27 = 0xa1;" (assignment_expression "iVar27 = 0xa1" identifier = number_literal) ;) (expression_statement "iVar30 = iVar30 + -0x71bc;" (assignment_expression "iVar30 = iVar30 + -0x71bc" identifier = (binary_expression "iVar30 + -0x71bc" identifier + number_literal)) ;) (expression_statement "iVar29 = *(int *)(pcVar32 + 0x1b4890) + 0x3860;" (assignment_expression "iVar29 = *(int *)(pcVar32 + 0x1b4890) + 0x3860" identifier = (binary_expression "*(int *)(pcVar32 + 0x1b4890) + 0x3860" (pointer_expression "*(int *)(pcVar32 + 0x1b4890)" * (cast_expression "(int *)(pcVar32 + 0x1b4890)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x1b4890)" ( (binary_expression "pcVar32 + 0x1b4890" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar32 + 0x1b5044))();" (call_expression "(**(code **)(pcVar32 + 0x1b5044))()" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b5044))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b5044)" * (pointer_expression "*(code **)(pcVar32 + 0x1b5044)" * (cast_expression "(code **)(pcVar32 + 0x1b5044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b5044)" ( (binary_expression "pcVar32 + 0x1b5044" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (puStack_98 != auStack_90) {\n    (**(code **)(pcVar32 + 0x1b4910))(puStack_98);\n  }" if (parenthesized_expression "(puStack_98 != auStack_90)" ( (binary_expression "puStack_98 != auStack_90" identifier != identifier) )) (compound_statement "{\n    (**(code **)(pcVar32 + 0x1b4910))(puStack_98);\n  }" { (expression_statement "(**(code **)(pcVar32 + 0x1b4910))(puStack_98);" (call_expression "(**(code **)(pcVar32 + 0x1b4910))(puStack_98)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b4910))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b4910)" * (pointer_expression "*(code **)(pcVar32 + 0x1b4910)" * (cast_expression "(code **)(pcVar32 + 0x1b4910)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b4910)" ( (binary_expression "pcVar32 + 0x1b4910" identifier + number_literal) ))))) )) (argument_list "(puStack_98)" ( identifier ))) ;) })) (expression_statement "pcVar33 = *(code **)(pcVar32 + 0x1b48dc);" (assignment_expression "pcVar33 = *(code **)(pcVar32 + 0x1b48dc)" identifier = (pointer_expression "*(code **)(pcVar32 + 0x1b48dc)" * (cast_expression "(code **)(pcVar32 + 0x1b48dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b48dc)" ( (binary_expression "pcVar32 + 0x1b48dc" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar33)();" (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar19 = (undefined *)(uStack_94 & 0xff);" (assignment_expression "puVar19 = (undefined *)(uStack_94 & 0xff)" identifier = (cast_expression "(undefined *)(uStack_94 & 0xff)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_94 & 0xff)" ( (binary_expression "uStack_94 & 0xff" identifier & number_literal) )))) ;) (expression_statement "*puStack_9c = 0;" (assignment_expression "*puStack_9c = 0" (pointer_expression "*puStack_9c" * identifier) = number_literal) ;) (expression_statement "*puStack_98 = 0;" (assignment_expression "*puStack_98 = 0" (pointer_expression "*puStack_98" * identifier) = number_literal) ;) (expression_statement "uVar25 = *(uint *)(iVar29 + 0x28);" (assignment_expression "uVar25 = *(uint *)(iVar29 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = (uVar25 << 0x10) >> 0x1d;" (assignment_expression "uVar24 = (uVar25 << 0x10) >> 0x1d" identifier = (binary_expression "(uVar25 << 0x10) >> 0x1d" (parenthesized_expression "(uVar25 << 0x10)" ( (binary_expression "uVar25 << 0x10" identifier << number_literal) )) >> number_literal)) ;) (if_statement "if (uVar24 == 4) {\n    uVar24 = 1;\n    uVar26 = 0;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  else if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" if (parenthesized_expression "(uVar24 == 4)" ( (binary_expression "uVar24 == 4" identifier == number_literal) )) (compound_statement "{\n    uVar24 = 1;\n    uVar26 = 0;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" { (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "uVar25 = (uVar25 << 4) >> 0x1c;" (assignment_expression "uVar25 = (uVar25 << 4) >> 0x1c" identifier = (binary_expression "(uVar25 << 4) >> 0x1c" (parenthesized_expression "(uVar25 << 4)" ( (binary_expression "uVar25 << 4" identifier << number_literal) )) >> number_literal)) ;) }) (else_clause "else if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" else (if_statement "if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }" { (expression_statement "uVar24 = (uVar25 << 0x1d) >> 0x1f;" (assignment_expression "uVar24 = (uVar25 << 0x1d) >> 0x1f" identifier = (binary_expression "(uVar25 << 0x1d) >> 0x1f" (parenthesized_expression "(uVar25 << 0x1d)" ( (binary_expression "uVar25 << 0x1d" identifier << number_literal) )) >> number_literal)) ;) (if_statement "if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }" if (parenthesized_expression "((uVar25 & 0xe000) != 0)" ( (binary_expression "(uVar25 & 0xe000) != 0" (parenthesized_expression "(uVar25 & 0xe000)" ( (binary_expression "uVar25 & 0xe000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }" { (expression_statement "iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;" (assignment_expression "iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8" identifier = (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x71a8" (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" * (cast_expression "(int *)(pcVar33 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b4658)" ( (binary_expression "pcVar33 + 0x1b4658" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);" (call_expression "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1b4dac))" ( (pointer_expression "**(code **)(pcVar33 + 0x1b4dac)" * (pointer_expression "*(code **)(pcVar33 + 0x1b4dac)" * (cast_expression "(code **)(pcVar33 + 0x1b4dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1b4dac)" ( (binary_expression "pcVar33 + 0x1b4dac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24)" ( (binary_expression "*(int *)(pcVar33 + 0x1b45f8) + 0x3860" (pointer_expression "*(int *)(pcVar33 + 0x1b45f8)" * (cast_expression "(int *)(pcVar33 + 0x1b45f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b45f8)" ( (binary_expression "pcVar33 + 0x1b45f8" identifier + number_literal) )))) + number_literal) , number_literal , identifier , identifier ))) ;) (expression_statement "iVar29 = iVar29 + -0x71bc;" (assignment_expression "iVar29 = iVar29 + -0x71bc" identifier = (binary_expression "iVar29 + -0x71bc" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);" (call_expression "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1b4dac))" ( (pointer_expression "**(code **)(pcVar33 + 0x1b4dac)" * (pointer_expression "*(code **)(pcVar33 + 0x1b4dac)" * (cast_expression "(code **)(pcVar33 + 0x1b4dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1b4dac)" ( (binary_expression "pcVar33 + 0x1b4dac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29)" ( (binary_expression "*(int *)(pcVar33 + 0x1b45f8) + 0x3860" (pointer_expression "*(int *)(pcVar33 + 0x1b45f8)" * (cast_expression "(int *)(pcVar33 + 0x1b45f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b45f8)" ( (binary_expression "pcVar33 + 0x1b45f8" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (expression_statement "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;" (call_expression "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1b4dac))" ( (pointer_expression "**(code **)(pcVar33 + 0x1b4dac)" * (pointer_expression "*(code **)(pcVar33 + 0x1b4dac)" * (cast_expression "(code **)(pcVar33 + 0x1b4dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1b4dac)" ( (binary_expression "pcVar33 + 0x1b4dac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)" ( (binary_expression "*(int *)(pcVar33 + 0x1b45f8) + -0x9b8" (pointer_expression "*(int *)(pcVar33 + 0x1b45f8)" * (cast_expression "(int *)(pcVar33 + 0x1b45f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b45f8)" ( (binary_expression "pcVar33 + 0x1b45f8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar29 + -0x71c4" identifier + number_literal) ))) ;) (expression_statement "iVar27 = 0x1ea;" (assignment_expression "iVar27 = 0x1ea" identifier = number_literal) ;) (expression_statement "pcVar32 = *(code **)(pcVar33 + 0x1b4dac);" (assignment_expression "pcVar32 = *(code **)(pcVar33 + 0x1b4dac)" identifier = (pointer_expression "*(code **)(pcVar33 + 0x1b4dac)" * (cast_expression "(code **)(pcVar33 + 0x1b4dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1b4dac)" ( (binary_expression "pcVar33 + 0x1b4dac" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;" (assignment_expression "iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570" identifier = (binary_expression "*(int *)(pcVar33 + 0x1b45f8) + 0x4570" (pointer_expression "*(int *)(pcVar33 + 0x1b45f8)" * (cast_expression "(int *)(pcVar33 + 0x1b45f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b45f8)" ( (binary_expression "pcVar33 + 0x1b45f8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);" (call_expression "(*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x71b4" (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" * (cast_expression "(int *)(pcVar33 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b4658)" ( (binary_expression "pcVar33 + 0x1b4658" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }" if (parenthesized_expression "((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0))" ( (binary_expression "(*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)" (parenthesized_expression "(*(int *)(iVar29 + 0x10) == 0)" ( (binary_expression "*(int *)(iVar29 + 0x10) == 0" (pointer_expression "*(int *)(iVar29 + 0x10)" * (cast_expression "(int *)(iVar29 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x10)" ( (binary_expression "iVar29 + 0x10" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar27 + 0x10) == 0)" ( (binary_expression "*(int *)(iVar27 + 0x10) == 0" (pointer_expression "*(int *)(iVar27 + 0x10)" * (cast_expression "(int *)(iVar27 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x10)" ( (binary_expression "iVar27 + 0x10" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }" { (if_statement "if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }" if (parenthesized_expression "((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0))" ( (binary_expression "(*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)" (parenthesized_expression "(*(int *)(iVar29 + 0x14) == 0)" ( (binary_expression "*(int *)(iVar29 + 0x14) == 0" (pointer_expression "*(int *)(iVar29 + 0x14)" * (cast_expression "(int *)(iVar29 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x14)" ( (binary_expression "iVar29 + 0x14" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar27 + 0x14) == 0)" ( (binary_expression "*(int *)(iVar27 + 0x14) == 0" (pointer_expression "*(int *)(iVar27 + 0x14)" * (cast_expression "(int *)(iVar27 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x14)" ( (binary_expression "iVar27 + 0x14" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }" { (if_statement "if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }" if (parenthesized_expression "((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1))" ( (binary_expression "(*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)" (parenthesized_expression "(*(int *)(iVar29 + 0x1c) == -1)" ( (binary_expression "*(int *)(iVar29 + 0x1c) == -1" (pointer_expression "*(int *)(iVar29 + 0x1c)" * (cast_expression "(int *)(iVar29 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1c)" ( (binary_expression "iVar29 + 0x1c" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar27 + 0x1c) == -1)" ( (binary_expression "*(int *)(iVar27 + 0x1c) == -1" (pointer_expression "*(int *)(iVar27 + 0x1c)" * (cast_expression "(int *)(iVar27 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1c)" ( (binary_expression "iVar27 + 0x1c" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }" { (if_statement "if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }" if (parenthesized_expression "((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1))" ( (binary_expression "(*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)" (parenthesized_expression "(*(int *)(iVar29 + 0x18) == -1)" ( (binary_expression "*(int *)(iVar29 + 0x18) == -1" (pointer_expression "*(int *)(iVar29 + 0x18)" * (cast_expression "(int *)(iVar29 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x18)" ( (binary_expression "iVar29 + 0x18" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar27 + 0x18) == -1)" ( (binary_expression "*(int *)(iVar27 + 0x18) == -1" (pointer_expression "*(int *)(iVar27 + 0x18)" * (cast_expression "(int *)(iVar27 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x18)" ( (binary_expression "iVar27 + 0x18" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }" { (if_statement "if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }" if (parenthesized_expression "(*(int *)(iVar27 + 4) == 0)" ( (binary_expression "*(int *)(iVar27 + 4) == 0" (pointer_expression "*(int *)(iVar27 + 4)" * (cast_expression "(int *)(iVar27 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 4)" ( (binary_expression "iVar27 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }" { (expression_statement "*(undefined4 *)(iVar29 + 4) = 0;" (assignment_expression "*(undefined4 *)(iVar29 + 4) = 0" (pointer_expression "*(undefined4 *)(iVar29 + 4)" * (cast_expression "(undefined4 *)(iVar29 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "uVar22 = *(uint *)(iVar29 + 0x28);" (assignment_expression "uVar22 = *(uint *)(iVar29 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar26 = *(undefined4 *)(iVar27 + 8);" (assignment_expression "uVar26 = *(undefined4 *)(iVar27 + 8)" identifier = (pointer_expression "*(undefined4 *)(iVar27 + 8)" * (cast_expression "(undefined4 *)(iVar27 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 8)" ( (binary_expression "iVar27 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;" (assignment_expression "uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000" identifier = (binary_expression "*(uint *)(iVar27 + 0x28) & 0xf0000000" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);" (assignment_expression "*(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc)" (pointer_expression "*(undefined4 *)(iVar29 + 0xc)" * (cast_expression "(undefined4 *)(iVar29 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xc)" ( (binary_expression "iVar29 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar27 + 0xc)" * (cast_expression "(undefined4 *)(iVar27 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0xc)" ( (binary_expression "iVar27 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar29 + 8) = uVar26;" (assignment_expression "*(undefined4 *)(iVar29 + 8) = uVar26" (pointer_expression "*(undefined4 *)(iVar29 + 8)" * (cast_expression "(undefined4 *)(iVar29 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 8)" ( (binary_expression "iVar29 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xfffffff | uVar24" (binary_expression "uVar22 & 0xfffffff" identifier & number_literal) | identifier)) ;) (expression_statement "uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;" (assignment_expression "uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 4)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 4" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xffffff | uVar24 | uVar25" (binary_expression "uVar22 & 0xffffff | uVar24" (binary_expression "uVar22 & 0xffffff" identifier & number_literal) | identifier) | identifier)) ;) (expression_statement "uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;" (assignment_expression "uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 8)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 8" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x3fffff | uVar24 | uVar25" (binary_expression "uVar22 & 0x3fffff | uVar24" (binary_expression "uVar22 & 0x3fffff" identifier & number_literal) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;" (assignment_expression "uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 10)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 10" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0xffff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0xffff | uVar24 | uVar25" (binary_expression "uVar22 & 0xffff | uVar24" (binary_expression "uVar22 & 0xffff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;" (assignment_expression "uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x10)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x10" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x1fff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x1fff | uVar24 | uVar25" (binary_expression "uVar22 & 0x1fff | uVar24" (binary_expression "uVar22 & 0x1fff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;" (assignment_expression "uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x13)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x13" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0xfff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0xfff | uVar24 | uVar25" (binary_expression "uVar22 & 0xfff | uVar24" (binary_expression "uVar22 & 0xfff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;" (assignment_expression "uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x14)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x14" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25" (binary_expression "uVar22 & 0x7ff | uVar24" (binary_expression "uVar22 & 0x7ff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;" (assignment_expression "uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x15)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x15" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25" (binary_expression "uVar22 & 0x3ff | uVar24" (binary_expression "uVar22 & 0x3ff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;" (assignment_expression "uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x16)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x16" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25" (binary_expression "uVar22 & 0x1ff | uVar24" (binary_expression "uVar22 & 0x1ff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;" (assignment_expression "uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x17)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x17" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0xff | uVar24 | uVar25" (binary_expression "uVar22 & 0xff | uVar24" (binary_expression "uVar22 & 0xff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;" (assignment_expression "uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x18)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x18" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25" (binary_expression "uVar22 & 0x7f | uVar24" (binary_expression "uVar22 & 0x7f" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;" (assignment_expression "uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x19)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x19" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25" (binary_expression "uVar22 & 0x3f | uVar24" (binary_expression "uVar22 & 0x3f" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;" (assignment_expression "uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1a)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x1a)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x1a" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25" (binary_expression "uVar22 & 0x1f | uVar24" (binary_expression "uVar22 & 0x1f" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;" (assignment_expression "uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1b)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x1b)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x1b" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0xf | uVar24 | uVar25" (binary_expression "uVar22 & 0xf | uVar24" (binary_expression "uVar22 & 0xf" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "bVar14 = *(byte *)(iVar29 + 0x2c);" (assignment_expression "bVar14 = *(byte *)(iVar29 + 0x2c)" identifier = (pointer_expression "*(byte *)(iVar29 + 0x2c)" * (cast_expression "(byte *)(iVar29 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;" (assignment_expression "uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1d)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x1d)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x1d" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0xb | uVar24 | uVar25" (binary_expression "uVar22 & 0xb | uVar24" (binary_expression "uVar22 & 0xb" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;" (assignment_expression "uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1e)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x1e)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x1e" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 9 | uVar24 | uVar25" (binary_expression "uVar22 & 9 | uVar24" (binary_expression "uVar22 & 9" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;" (assignment_expression "uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1" identifier = (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 8 | uVar24 | uVar25" (binary_expression "uVar22 & 8 | uVar24" (binary_expression "uVar22 & 8" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | (binary_expression "*(uint *)(iVar27 + 0x28) & 1" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) & number_literal))) ;) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar24;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar24" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);" (assignment_expression "bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7)" identifier = (call_expression "(byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7)" ( (binary_expression "(*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7" (parenthesized_expression "(*(uint *)(iVar27 + 0x2c) >> 0x1f)" ( (binary_expression "*(uint *)(iVar27 + 0x2c) >> 0x1f" (pointer_expression "*(uint *)(iVar27 + 0x2c)" * (cast_expression "(uint *)(iVar27 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) >> number_literal) )) << number_literal) )))) ;) (expression_statement "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;" (assignment_expression "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15" (pointer_expression "*(byte *)(iVar29 + 0x2c)" * (cast_expression "(byte *)(iVar29 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar14 & 0x7f | bVar15" (binary_expression "bVar14 & 0x7f" identifier & number_literal) | identifier)) ;) (expression_statement "bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);" (assignment_expression "bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6)" identifier = (call_expression "(byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6)" ( (binary_expression "((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x2c) << 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x2c) << 1)" ( (binary_expression "*(int *)(iVar27 + 0x2c) << 1" (pointer_expression "*(int *)(iVar27 + 0x2c)" * (cast_expression "(int *)(iVar27 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal) )))) ;) (expression_statement "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;" (assignment_expression "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16" (pointer_expression "*(byte *)(iVar29 + 0x2c)" * (cast_expression "(byte *)(iVar29 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar14 & 0x3f | bVar15 | bVar16" (binary_expression "bVar14 & 0x3f | bVar15" (binary_expression "bVar14 & 0x3f" identifier & number_literal) | identifier) | identifier)) ;) (expression_statement "bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);" (assignment_expression "bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5)" identifier = (call_expression "(byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5)" ( (binary_expression "((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x2c) << 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x2c) << 2)" ( (binary_expression "*(int *)(iVar27 + 0x2c) << 2" (pointer_expression "*(int *)(iVar27 + 0x2c)" * (cast_expression "(int *)(iVar27 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal) )))) ;) (expression_statement "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;" (assignment_expression "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17" (pointer_expression "*(byte *)(iVar29 + 0x2c)" * (cast_expression "(byte *)(iVar29 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar14 & 0x1f | bVar15 | bVar16 | bVar17" (binary_expression "bVar14 & 0x1f | bVar15 | bVar16" (binary_expression "bVar14 & 0x1f | bVar15" (binary_expression "bVar14 & 0x1f" identifier & number_literal) | identifier) | identifier) | identifier)) ;) (expression_statement "bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);" (assignment_expression "bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4)" identifier = (call_expression "(byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4)" ( (binary_expression "((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x2c) << 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x2c) << 3)" ( (binary_expression "*(int *)(iVar27 + 0x2c) << 3" (pointer_expression "*(int *)(iVar27 + 0x2c)" * (cast_expression "(int *)(iVar27 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal) )))) ;) (expression_statement "*(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;" (assignment_expression "*(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18" (pointer_expression "*(byte *)(iVar29 + 0x2c)" * (cast_expression "(byte *)(iVar29 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18" (binary_expression "bVar14 & 0xf | bVar15 | bVar16 | bVar17" (binary_expression "bVar14 & 0xf | bVar15 | bVar16" (binary_expression "bVar14 & 0xf | bVar15" (binary_expression "bVar14 & 0xf" identifier & number_literal) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "*(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);" (assignment_expression "*(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3)" (pointer_expression "*(byte *)(iVar29 + 0x2c)" * (cast_expression "(byte *)(iVar29 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3)" (binary_expression "bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18" (binary_expression "bVar14 & 7 | bVar15 | bVar16 | bVar17" (binary_expression "bVar14 & 7 | bVar15 | bVar16" (binary_expression "bVar14 & 7 | bVar15" (binary_expression "bVar14 & 7" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | (call_expression "(byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3)" ( (binary_expression "((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x2c) << 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x2c) << 4)" ( (binary_expression "*(int *)(iVar27 + 0x2c) << 4" (pointer_expression "*(int *)(iVar27 + 0x2c)" * (cast_expression "(int *)(iVar27 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal) ))))) ;) (if_statement "if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }" if (parenthesized_expression "((int)(uVar24 << 0x1c) < 0)" ( (binary_expression "(int)(uVar24 << 0x1c) < 0" (cast_expression "(int)(uVar24 << 0x1c)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar24 << 0x1c)" ( (binary_expression "uVar24 << 0x1c" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n                puVar19 = (undefined *)0x0;\n              }" { (expression_statement "puVar19 = (undefined *)0x0;" (assignment_expression "puVar19 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }" else (compound_statement "{\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }" { (expression_statement "puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);" (assignment_expression "puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f)" identifier = (cast_expression "(undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x1c)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x1c" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )))) ;) }))) (return_statement "return puVar19;" return identifier ;) })) (expression_statement "uVar26 = 0x3c4;" (assignment_expression "uVar26 = 0x3c4" identifier = number_literal) ;) }) (else_clause "else {\n            uVar26 = 0x3c3;\n          }" else (compound_statement "{\n            uVar26 = 0x3c3;\n          }" { (expression_statement "uVar26 = 0x3c3;" (assignment_expression "uVar26 = 0x3c3" identifier = number_literal) ;) }))) }) (else_clause "else {\n          uVar26 = 0x3c1;\n        }" else (compound_statement "{\n          uVar26 = 0x3c1;\n        }" { (expression_statement "uVar26 = 0x3c1;" (assignment_expression "uVar26 = 0x3c1" identifier = number_literal) ;) }))) }) (else_clause "else {\n        uVar26 = 0x3c0;\n      }" else (compound_statement "{\n        uVar26 = 0x3c0;\n      }" { (expression_statement "uVar26 = 0x3c0;" (assignment_expression "uVar26 = 0x3c0" identifier = number_literal) ;) }))) (expression_statement "puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);" (assignment_expression "puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4)" identifier = (cast_expression "(undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b48fc))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b48fc)" * (pointer_expression "*(code **)(pcVar32 + 0x1b48fc)" * (cast_expression "(code **)(pcVar32 + 0x1b48fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b48fc)" ( (binary_expression "pcVar32 + 0x1b48fc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4)" ( (binary_expression "*(int *)(pcVar32 + 0x1b41a8) + -0x7758" (pointer_expression "*(int *)(pcVar32 + 0x1b41a8)" * (cast_expression "(int *)(pcVar32 + 0x1b41a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x1b41a8)" ( (binary_expression "pcVar32 + 0x1b41a8" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(pcVar32 + 0x1b41a8) + -0x71e4" (pointer_expression "*(int *)(pcVar32 + 0x1b41a8)" * (cast_expression "(int *)(pcVar32 + 0x1b41a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x1b41a8)" ( (binary_expression "pcVar32 + 0x1b41a8" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return puVar19;" return identifier ;) })) (expression_statement "uVar26 = *(undefined4 *)(iVar29 + 0xc);" (assignment_expression "uVar26 = *(undefined4 *)(iVar29 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(iVar29 + 0xc)" * (cast_expression "(undefined4 *)(iVar29 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xc)" ( (binary_expression "iVar29 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar25 = (uVar25 << 4) >> 0x1c;" (assignment_expression "uVar25 = (uVar25 << 4) >> 0x1c" identifier = (binary_expression "(uVar25 << 4) >> 0x1c" (parenthesized_expression "(uVar25 << 4)" ( (binary_expression "uVar25 << 4" identifier << number_literal) )) >> number_literal)) ;) (expression_statement "uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;" (assignment_expression "uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f" identifier = (binary_expression "*(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f" (pointer_expression "*(uint *)(*(int *)(iVar29 + 8) + 0x2c)" * (cast_expression "(uint *)(*(int *)(iVar29 + 8) + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar29 + 8) + 0x2c)" ( (binary_expression "*(int *)(iVar29 + 8) + 0x2c" (pointer_expression "*(int *)(iVar29 + 8)" * (cast_expression "(int *)(iVar29 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 8)" ( (binary_expression "iVar29 + 8" identifier + number_literal) )))) + number_literal) )))) >> number_literal)) ;) }) (else_clause "else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" else (compound_statement "{\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" { (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (expression_statement "uVar26 = 0xfff1;" (assignment_expression "uVar26 = 0xfff1" identifier = number_literal) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "uVar25 = (uVar25 << 4) >> 0x1c;" (assignment_expression "uVar25 = (uVar25 << 4) >> 0x1c" identifier = (binary_expression "(uVar25 << 4) >> 0x1c" (parenthesized_expression "(uVar25 << 4)" ( (binary_expression "uVar25 << 4" identifier << number_literal) )) >> number_literal)) ;) }))))) (expression_statement "iVar21 = FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24);" (assignment_expression "iVar21 = FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24)" identifier = (call_expression "FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24)" identifier (argument_list "(uVar25,uVar28,uVar26,uVar24)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if ((*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6)) {\n    iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }\n    uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);\n    gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);\n  }" if (parenthesized_expression "((*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6))" ( (binary_expression "(*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6)" (parenthesized_expression "(*(uint *)(iVar29 + 0x28) >> 0x1c == 6)" ( (binary_expression "*(uint *)(iVar29 + 0x28) >> 0x1c == 6" (binary_expression "*(uint *)(iVar29 + 0x28) >> 0x1c" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) >> number_literal) == number_literal) )) != (parenthesized_expression "(iVar30 == 6)" ( (binary_expression "iVar30 == 6" identifier == number_literal) ))) )) (compound_statement "{\n    iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }\n    uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);\n    gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);\n  }" { (expression_statement "iVar30 = *(int *)(pcVar33 + 0x1b4658);" (assignment_expression "iVar30 = *(int *)(pcVar33 + 0x1b4658)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" * (cast_expression "(int *)(pcVar33 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b4658)" ( (binary_expression "pcVar33 + 0x1b4658" identifier + number_literal) ))))) ;) (if_statement "if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }" if (parenthesized_expression "((*(uint *)(iVar29 + 0x28) & 0xe000) == 0)" ( (binary_expression "(*(uint *)(iVar29 + 0x28) & 0xe000) == 0" (parenthesized_expression "(*(uint *)(iVar29 + 0x28) & 0xe000)" ( (binary_expression "*(uint *)(iVar29 + 0x28) & 0xe000" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }" { (expression_statement "iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));" (assignment_expression "iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8))" identifier = (call_expression "(**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8))" (parenthesized_expression "(**(code **)(**(int **)(iVar29 + 8) + 0x14))" ( (pointer_expression "**(code **)(**(int **)(iVar29 + 8) + 0x14)" * (pointer_expression "*(code **)(**(int **)(iVar29 + 8) + 0x14)" * (cast_expression "(code **)(**(int **)(iVar29 + 8) + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(iVar29 + 8) + 0x14)" ( (binary_expression "**(int **)(iVar29 + 8) + 0x14" (pointer_expression "**(int **)(iVar29 + 8)" * (pointer_expression "*(int **)(iVar29 + 8)" * (cast_expression "(int **)(iVar29 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 8)" ( (binary_expression "iVar29 + 8" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(iVar29 + 8))" ( (pointer_expression "*(int **)(iVar29 + 8)" * (cast_expression "(int **)(iVar29 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 8)" ( (binary_expression "iVar29 + 8" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar30 != 0) goto LAB_0030cd70;" if (parenthesized_expression "(iVar30 != 0)" ( (binary_expression "iVar30 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0030cd70;" goto statement_identifier ;)) (expression_statement "iVar30 = *(int *)(pcVar33 + 0x1b4658);" (assignment_expression "iVar30 = *(int *)(pcVar33 + 0x1b4658)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" * (cast_expression "(int *)(pcVar33 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b4658)" ( (binary_expression "pcVar33 + 0x1b4658" identifier + number_literal) ))))) ;) })) (expression_statement "uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);" (assignment_expression "uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0)" identifier = (call_expression "(**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1b8fac))" ( (pointer_expression "**(code **)(pcVar33 + 0x1b8fac)" * (pointer_expression "*(code **)(pcVar33 + 0x1b8fac)" * (cast_expression "(code **)(pcVar33 + 0x1b8fac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1b8fac)" ( (binary_expression "pcVar33 + 0x1b8fac" identifier + number_literal) ))))) )) (argument_list "(iVar30 + -0x76f0)" ( (binary_expression "iVar30 + -0x76f0" identifier + number_literal) )))) ;) (labeled_statement "gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);" statement_identifier : (ERROR ":" :) (labeled_statement "Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);" statement_identifier : (ERROR ":" :) (expression_statement "report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);" (call_expression "report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854)" identifier (argument_list "(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854)" ( number_literal , identifier , identifier , identifier , (binary_expression "pcVar32 + 0x1bc854" identifier + number_literal) ))) ;))) })) (labeled_statement "LAB_0030cd70:\n  uVar24 = iVar21 * 0x10 + iVar27;" statement_identifier : (expression_statement "uVar24 = iVar21 * 0x10 + iVar27;" (assignment_expression "uVar24 = iVar21 * 0x10 + iVar27" identifier = (binary_expression "iVar21 * 0x10 + iVar27" (binary_expression "iVar21 * 0x10" identifier * number_literal) + identifier)) ;)) (if_statement "if (0xbb < uVar24) {\n    uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);\n    if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }\n    return puVar19;\n  }" if (parenthesized_expression "(0xbb < uVar24)" ( (binary_expression "0xbb < uVar24" number_literal < identifier) )) (compound_statement "{\n    uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);\n    if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }\n    return puVar19;\n  }" { (expression_statement "uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);" (assignment_expression "uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0)" identifier = (call_expression "(**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1b4dac))" ( (pointer_expression "**(code **)(pcVar33 + 0x1b4dac)" * (pointer_expression "*(code **)(pcVar33 + 0x1b4dac)" * (cast_expression "(code **)(pcVar33 + 0x1b4dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1b4dac)" ( (binary_expression "pcVar33 + 0x1b4dac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0)" ( (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x7758" (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" * (cast_expression "(int *)(pcVar33 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b4658)" ( (binary_expression "pcVar33 + 0x1b4658" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x71a0" (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" * (cast_expression "(int *)(pcVar33 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b4658)" ( (binary_expression "pcVar33 + 0x1b4658" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }" if (parenthesized_expression "((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0))" ( (binary_expression "(*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)" (parenthesized_expression "(*(int *)(iVar29 + 4) != 0)" ( (binary_expression "*(int *)(iVar29 + 4) != 0" (pointer_expression "*(int *)(iVar29 + 4)" * (cast_expression "(int *)(iVar29 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "(puVar19 == (undefined *)0x0)" ( (binary_expression "puVar19 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }" { (if_statement "if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0))))" ( (binary_expression "((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))" (parenthesized_expression "((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0)" ( (binary_expression "(int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0" (binary_expression "(int)((ulonglong)uVar34 >> 0x20) << 0x17" (cast_expression "(int)((ulonglong)uVar34 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar34 >> 0x20)" ( (binary_expression "(ulonglong)uVar34 >> 0x20" (cast_expression "(ulonglong)uVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) << number_literal) < number_literal) )) && (parenthesized_expression "((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))" ( (parenthesized_expression "(*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0))" ( (binary_expression "*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)" (binary_expression "*(int *)(iVar29 + 0x2c) << 1 < 0" (binary_expression "*(int *)(iVar29 + 0x2c) << 1" (pointer_expression "*(int *)(iVar29 + 0x2c)" * (cast_expression "(int *)(iVar29 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) )))) << number_literal) < number_literal) && (parenthesized_expression "(iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)" ( (comma_expression "iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0" (assignment_expression "iVar29 = *(int *)((int)uVar34 + 0x2c)" identifier = (pointer_expression "*(int *)((int)uVar34 + 0x2c)" * (cast_expression "(int *)((int)uVar34 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)uVar34 + 0x2c)" ( (binary_expression "(int)uVar34 + 0x2c" (cast_expression "(int)uVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) , (binary_expression "iVar29 << 6 < 0" (binary_expression "iVar29 << 6" identifier << number_literal) < number_literal)) ))) )) ))) )) (compound_statement "{\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }" { (expression_statement "puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);" (assignment_expression "puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1)" identifier = (cast_expression "(undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(iVar29 << 1) >> 0x1f ^ 1)" ( (binary_expression "(uint)(iVar29 << 1) >> 0x1f ^ 1" (binary_expression "(uint)(iVar29 << 1) >> 0x1f" (call_expression "(uint)(iVar29 << 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar29 << 1)" ( (binary_expression "iVar29 << 1" identifier << number_literal) ))) >> number_literal) ^ number_literal) )))) ;) }) (else_clause "else {\n        puVar19 = (undefined *)0x0;\n      }" else (compound_statement "{\n        puVar19 = (undefined *)0x0;\n      }" { (expression_statement "puVar19 = (undefined *)0x0;" (assignment_expression "puVar19 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) })) (return_statement "return puVar19;" return identifier ;) })) comment comment (expression_statement "puVar19 = (undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ();" (assignment_expression "puVar19 = (undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ()" identifier = (cast_expression "(undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ()" (parenthesized_expression "(*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))" ( (pointer_expression "*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc)" * (parenthesized_expression "(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc)" ( (binary_expression "pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc" (binary_expression "pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4)" identifier + (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4)" ( (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4" (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x75f4" (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" * (cast_expression "(int *)(pcVar33 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b4658)" ( (binary_expression "pcVar33 + 0x1b4658" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar24 * 4" identifier * number_literal)) ))))) + number_literal) ))) )) (argument_list "()" ( ))))) ;) (return_statement "return puVar19;" return identifier ;) })))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Enum "STB": Some values do not have unique names */\n/* DWARF original prototype: Sized_symbol<32> * get_sized_symbol<32>(Symbol_table * this, Symbol *\n   sym) */\n\nSized_symbol<32> * __thiscall\ngold::Symbol_table::get_sized_symbol<32>(Symbol_table *this,Symbol *sym)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  byte bVar15;\n  byte bVar16;\n  byte bVar17;\n  byte bVar18;\n  byte bVar19;\n  undefined4 uVar20;\n  char *msg;\n  int iVar21;\n  uint uVar22;\n  Sized_symbol<32> *pSVar23;\n  uint uVar24;\n  Symbol *to;\n  uint uVar25;\n  STB binding;\n  undefined4 uVar26;\n  bool is_dynamic;\n  int iVar27;\n  int iVar28;\n  uint in_a3;\n  undefined1 *defined;\n  bool is_ordinary;\n  undefined *puVar29;\n  code *pcVar30;\n  code *pcVar31;\n  undefined8 uVar32;\n  undefined1 *puStack_9c;\n  undefined1 *puStack_98;\n  uint uStack_94;\n  undefined1 auStack_90 [20];\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }\n  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return (Sized_symbol<32> *)this;\n  }\n  pSVar23 = (Sized_symbol<32> *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860);\n  puVar29 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(pSVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);\n  if (*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) == 0) {\n    (**(code **)(puVar29 + 0x1b5130))\n              (*(int *)(puVar29 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar29 + 0x1b49dc) + -0x7228);\n  }\n  else if (**(int **)(*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return pSVar23;\n  }\n  uVar26 = 0x7f4;\n  pcVar30 = *(code **)(puVar29 + 0x1b5130);\n  iVar27 = *(int *)(puVar29 + 0x1b49dc) + -0x72b8;\n  uVar24 = *(int *)(puVar29 + 0x1b497c) + 0x3860;\n  (*pcVar30)();\n  if (uVar24 < 0x40000000) {\n    uVar26 = (**(code **)(pcVar30 + 0x1b4a28))(uVar24 << 2);\n    pSVar23 = (Sized_symbol<32> *)(**(code **)(pcVar30 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return pSVar23;\n  }\n  pcVar30 = *(code **)(pcVar30 + 0x1b5140);\n  (*pcVar30)();\n  (**(code **)(pcVar30 + 0x1b52dc))(&puStack_98,iVar27);\n  iVar27 = (**(code **)(pcVar30 + 0x1b91b0))(uVar26);\n  iVar27 = uStack_94 + 10 + iVar27;\n  uVar20 = (**(code **)(pcVar30 + 0x1b4960))(iVar27);\n  defined = puStack_98;\n  (**(code **)(pcVar30 + 0x1b90a8))(uVar20,iVar27,uVar26);\n  if (in_a3 < 7) {\n                    /* WARNING: Could not recover jumptable at 0x0030caac. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pSVar23 = (Sized_symbol<32> *)\n              (*(code *)((int)&((Object *)(pcVar30 + 0x1bc854))->_vptr_Object +\n                        *(int *)(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4)))();\n    return pSVar23;\n  }\n  iVar28 = *(int *)(pcVar30 + 0x1b48f0) + -0x71dc;\n  (**(code **)(pcVar30 + 0x1b5044))(*(int *)(pcVar30 + 0x1b48f0) + -0x7758,0x3a6);\n  iVar27 = 0xa1;\n  iVar28 = iVar28 + -0x71bc;\n  to = (Symbol *)(*(int *)(pcVar30 + 0x1b4890) + 0x3860);\n  (**(code **)(pcVar30 + 0x1b5044))();\n  if (puStack_98 != auStack_90) {\n    (**(code **)(pcVar30 + 0x1b4910))(puStack_98);\n  }\n  pcVar31 = *(code **)(pcVar30 + 0x1b48dc);\n  (*pcVar31)();\n  pSVar23 = (Sized_symbol<32> *)(uStack_94 & 0xff);\n  *puStack_9c = 0;\n  *puStack_98 = 0;\n  uVar25 = *(uint *)&to->field_0x28;\n  uVar24 = (uVar25 << 0x10) >> 0x1d;\n  if (uVar24 == 4) {\n    is_ordinary = true;\n    uVar24 = 0;\n    is_dynamic = false;\n    binding = (uVar25 << 4) >> 0x1c;\n  }\n  else if (uVar24 == 0) {\n    is_ordinary = SUB41((uVar25 << 0x1d) >> 0x1f,0);\n    if ((uVar25 & 0xe000) != 0) {\n      iVar27 = *(int *)(pcVar31 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xaa,iVar27);\n      iVar27 = iVar27 + -0x71bc;\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xa1,iVar27);\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + -0x9b8,0x5c,iVar27 + -0x71c4)\n      ;\n      iVar28 = 0x1ea;\n      pcVar30 = *(code **)(pcVar31 + 0x1b4dac);\n      iVar27 = *(int *)(pcVar31 + 0x1b45f8) + 0x4570;\n      (*pcVar30)(iVar27,0x1ea,*(int *)(pcVar31 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar27 + 0x10) == 0) && (*(int *)(iVar28 + 0x10) == 0)) {\n        if ((*(int *)(iVar27 + 0x14) == 0) && (*(int *)(iVar28 + 0x14) == 0)) {\n          iVar21 = *(int *)(iVar27 + 0x1c);\n          if (iVar21 == -1) goto LAB_0030d1a4;\n          goto LAB_0030d188;\n        }\n        iVar28 = 0x3c1;\n      }\n      else {\n        iVar28 = 0x3c0;\n      }\n      while( true ) {\n        while( true ) {\n          iVar27 = *(int *)(pcVar30 + 0x1b41a8) + -0x7758;\n          iVar21 = (**(code **)(pcVar30 + 0x1b48fc))\n                             (iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4);\nLAB_0030d1a4:\n          if (*(int *)(iVar28 + 0x1c) == iVar21) break;\nLAB_0030d188:\n          iVar28 = 0x3c3;\n        }\n        if ((*(int *)(iVar27 + 0x18) == *(int *)(iVar28 + 0x1c)) &&\n           (*(int *)(iVar28 + 0x18) == *(int *)(iVar27 + 0x18))) break;\n        iVar28 = 0x3c4;\n      }\n      if (*(int *)(iVar28 + 4) == 0) {\n        *(undefined4 *)(iVar27 + 4) = 0;\n      }\n      uVar22 = *(uint *)(iVar27 + 0x28);\n      uVar26 = *(undefined4 *)(iVar28 + 8);\n      uVar24 = *(uint *)(iVar28 + 0x28) & 0xf0000000;\n      *(undefined4 *)(iVar27 + 0xc) = *(undefined4 *)(iVar28 + 0xc);\n      *(undefined4 *)(iVar27 + 8) = uVar26;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfffffff | uVar24;\n      uVar25 = ((uint)(*(int *)(iVar28 + 0x28) << 4) >> 0x1c) << 0x18;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n      uVar1 = ((uint)(*(int *)(iVar28 + 0x28) << 8) >> 0x1e) << 0x16;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar1;\n      uVar2 = ((uint)(*(int *)(iVar28 + 0x28) << 10) >> 0x1a) << 0x10;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar1 | uVar2;\n      uVar3 = ((uint)(*(int *)(iVar28 + 0x28) << 0x10) >> 0x1d) << 0xd;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3;\n      uVar4 = ((uint)(*(int *)(iVar28 + 0x28) << 0x13) >> 0x1f) << 0xc;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4;\n      uVar5 = ((uint)(*(int *)(iVar28 + 0x28) << 0x14) >> 0x1f) << 0xb;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5;\n      uVar6 = ((uint)(*(int *)(iVar28 + 0x28) << 0x15) >> 0x1f) << 10;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6;\n      uVar7 = ((uint)(*(int *)(iVar28 + 0x28) << 0x16) >> 0x1f) << 9;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7;\n      uVar8 = ((uint)(*(int *)(iVar28 + 0x28) << 0x17) >> 0x1f) << 8;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8;\n      uVar9 = ((uint)(*(int *)(iVar28 + 0x28) << 0x18) >> 0x1f) << 7;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9;\n      uVar10 = ((uint)(*(int *)(iVar28 + 0x28) << 0x19) >> 0x1f) << 6;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10;\n      uVar11 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1a) >> 0x1f) << 5;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11;\n      uVar12 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1b) >> 0x1f) << 4;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n      bVar15 = *(byte *)(iVar27 + 0x2c);\n      uVar13 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1d) >> 0x1f) << 2;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n      uVar14 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1e) >> 0x1f) << 1;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14;\n      uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14 |\n               *(uint *)(iVar28 + 0x28) & 1;\n      *(uint *)(iVar27 + 0x28) = uVar24;\n      bVar16 = (byte)((*(uint *)(iVar28 + 0x2c) >> 0x1f) << 7);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x7f | bVar16;\n      bVar17 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 1) >> 0x1f) << 6);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x3f | bVar16 | bVar17;\n      bVar18 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 2) >> 0x1f) << 5);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x1f | bVar16 | bVar17 | bVar18;\n      bVar19 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 3) >> 0x1f) << 4);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0xf | bVar16 | bVar17 | bVar18 | bVar19;\n      *(byte *)(iVar27 + 0x2c) =\n           bVar15 & 7 | bVar16 | bVar17 | bVar18 | bVar19 |\n           (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f) << 3);\n      if ((int)(uVar24 << 0x1c) < 0) {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }\n      else {\n        pSVar23 = (Sized_symbol<32> *)((uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f);\n      }\n      return pSVar23;\n    }\n    uVar24 = (to->u2_).shndx;\n    binding = (uVar25 << 4) >> 0x1c;\n    is_dynamic = SUB41((uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage >> 0x1f,0);\n  }\n  else {\n    is_ordinary = false;\n    uVar24 = 0xfff1;\n    is_dynamic = false;\n    binding = (uVar25 << 4) >> 0x1c;\n  }\n  uVar24 = symbol_to_bits(binding,is_dynamic,uVar24,is_ordinary);\n  if ((*(uint *)&to->field_0x28 >> 0x1c == 6) != (iVar28 == 6)) {\n    iVar28 = *(int *)(pcVar31 + 0x1b4658);\n    if ((*(uint *)&to->field_0x28 & 0xe000) == 0) {\n      iVar28 = (*((to->u1_).object)->_vptr_Object[5])((to->u1_).object);\n      if (iVar28 != 0) goto LAB_0030cd70;\n      iVar28 = *(int *)(pcVar31 + 0x1b4658);\n    }\n    msg = (char *)(**(code **)(pcVar31 + 0x1b8fac))(iVar28 + -0x76f0);\n    report_resolve_problem(true,msg,to,(Defined)defined,(Object *)(pcVar30 + 0x1bc854));\n  }\nLAB_0030cd70:\n  uVar24 = uVar24 * 0x10 + iVar27;\n  if (0xbb < uVar24) {\n    uVar32 = (**(code **)(pcVar31 + 0x1b4dac))\n                       (*(int *)(pcVar31 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar31 + 0x1b4658) + -0x71a0);\n    if ((to->version_ != (char *)0x0) || (pSVar23 == (Sized_symbol<32> *)0x0)) {\n      if (((int)((ulonglong)uVar32 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)&to->field_0x2c << 1 < 0 &&\n          (iVar27 = *(int *)((int)uVar32 + 0x2c), iVar27 << 6 < 0)))) {\n        pSVar23 = (Sized_symbol<32> *)((uint)(iVar27 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }\n    }\n    return pSVar23;\n  }\n                    /* WARNING: Could not recover jumptable at 0x0030cd98. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  pSVar23 = (Sized_symbol<32> *)\n            (*(pcVar31 + *(int *)(*(int *)(pcVar31 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ();\n  return pSVar23;\n}\n\n" comment comment comment comment (ERROR "Sized_symbol<32> * __thiscall\ngold::Symbol_table::get_sized_symbol<32>(Symbol_table *this,Symbol *sym)" (binary_expression "Sized_symbol<32> * __thiscall\ngold::Symbol_table::get_sized_symbol<32>(Symbol_table *this,Symbol *sym)" (binary_expression "Sized_symbol<32> * __thiscall\ngold::Symbol_table::get_sized_symbol<32" (binary_expression "Sized_symbol<32> * __thiscall" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "* __thiscall" * identifier)) (ERROR "gold::Symbol_table::get_sized_symbol" identifier : : identifier : : identifier) < number_literal) > (parenthesized_expression "(Symbol_table *this,Symbol *sym)" ( (comma_expression "Symbol_table *this,Symbol *sym" (binary_expression "Symbol_table *this" identifier * identifier) , (binary_expression "Symbol *sym" identifier * identifier)) )))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  byte bVar15;\n  byte bVar16;\n  byte bVar17;\n  byte bVar18;\n  byte bVar19;\n  undefined4 uVar20;\n  char *msg;\n  int iVar21;\n  uint uVar22;\n  Sized_symbol<32> *pSVar23;\n  uint uVar24;\n  Symbol *to;\n  uint uVar25;\n  STB binding;\n  undefined4 uVar26;\n  bool is_dynamic;\n  int iVar27;\n  int iVar28;\n  uint in_a3;\n  undefined1 *defined;\n  bool is_ordinary;\n  undefined *puVar29;\n  code *pcVar30;\n  code *pcVar31;\n  undefined8 uVar32;\n  undefined1 *puStack_9c;\n  undefined1 *puStack_98;\n  uint uStack_94;\n  undefined1 auStack_90 [20];\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }\n  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return (Sized_symbol<32> *)this;\n  }\n  pSVar23 = (Sized_symbol<32> *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860);\n  puVar29 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(pSVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);\n  if (*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) == 0) {\n    (**(code **)(puVar29 + 0x1b5130))\n              (*(int *)(puVar29 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar29 + 0x1b49dc) + -0x7228);\n  }\n  else if (**(int **)(*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return pSVar23;\n  }\n  uVar26 = 0x7f4;\n  pcVar30 = *(code **)(puVar29 + 0x1b5130);\n  iVar27 = *(int *)(puVar29 + 0x1b49dc) + -0x72b8;\n  uVar24 = *(int *)(puVar29 + 0x1b497c) + 0x3860;\n  (*pcVar30)();\n  if (uVar24 < 0x40000000) {\n    uVar26 = (**(code **)(pcVar30 + 0x1b4a28))(uVar24 << 2);\n    pSVar23 = (Sized_symbol<32> *)(**(code **)(pcVar30 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return pSVar23;\n  }\n  pcVar30 = *(code **)(pcVar30 + 0x1b5140);\n  (*pcVar30)();\n  (**(code **)(pcVar30 + 0x1b52dc))(&puStack_98,iVar27);\n  iVar27 = (**(code **)(pcVar30 + 0x1b91b0))(uVar26);\n  iVar27 = uStack_94 + 10 + iVar27;\n  uVar20 = (**(code **)(pcVar30 + 0x1b4960))(iVar27);\n  defined = puStack_98;\n  (**(code **)(pcVar30 + 0x1b90a8))(uVar20,iVar27,uVar26);\n  if (in_a3 < 7) {\n                    /* WARNING: Could not recover jumptable at 0x0030caac. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pSVar23 = (Sized_symbol<32> *)\n              (*(code *)((int)&((Object *)(pcVar30 + 0x1bc854))->_vptr_Object +\n                        *(int *)(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4)))();\n    return pSVar23;\n  }\n  iVar28 = *(int *)(pcVar30 + 0x1b48f0) + -0x71dc;\n  (**(code **)(pcVar30 + 0x1b5044))(*(int *)(pcVar30 + 0x1b48f0) + -0x7758,0x3a6);\n  iVar27 = 0xa1;\n  iVar28 = iVar28 + -0x71bc;\n  to = (Symbol *)(*(int *)(pcVar30 + 0x1b4890) + 0x3860);\n  (**(code **)(pcVar30 + 0x1b5044))();\n  if (puStack_98 != auStack_90) {\n    (**(code **)(pcVar30 + 0x1b4910))(puStack_98);\n  }\n  pcVar31 = *(code **)(pcVar30 + 0x1b48dc);\n  (*pcVar31)();\n  pSVar23 = (Sized_symbol<32> *)(uStack_94 & 0xff);\n  *puStack_9c = 0;\n  *puStack_98 = 0;\n  uVar25 = *(uint *)&to->field_0x28;\n  uVar24 = (uVar25 << 0x10) >> 0x1d;\n  if (uVar24 == 4) {\n    is_ordinary = true;\n    uVar24 = 0;\n    is_dynamic = false;\n    binding = (uVar25 << 4) >> 0x1c;\n  }\n  else if (uVar24 == 0) {\n    is_ordinary = SUB41((uVar25 << 0x1d) >> 0x1f,0);\n    if ((uVar25 & 0xe000) != 0) {\n      iVar27 = *(int *)(pcVar31 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xaa,iVar27);\n      iVar27 = iVar27 + -0x71bc;\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xa1,iVar27);\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + -0x9b8,0x5c,iVar27 + -0x71c4)\n      ;\n      iVar28 = 0x1ea;\n      pcVar30 = *(code **)(pcVar31 + 0x1b4dac);\n      iVar27 = *(int *)(pcVar31 + 0x1b45f8) + 0x4570;\n      (*pcVar30)(iVar27,0x1ea,*(int *)(pcVar31 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar27 + 0x10) == 0) && (*(int *)(iVar28 + 0x10) == 0)) {\n        if ((*(int *)(iVar27 + 0x14) == 0) && (*(int *)(iVar28 + 0x14) == 0)) {\n          iVar21 = *(int *)(iVar27 + 0x1c);\n          if (iVar21 == -1) goto LAB_0030d1a4;\n          goto LAB_0030d188;\n        }\n        iVar28 = 0x3c1;\n      }\n      else {\n        iVar28 = 0x3c0;\n      }\n      while( true ) {\n        while( true ) {\n          iVar27 = *(int *)(pcVar30 + 0x1b41a8) + -0x7758;\n          iVar21 = (**(code **)(pcVar30 + 0x1b48fc))\n                             (iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4);\nLAB_0030d1a4:\n          if (*(int *)(iVar28 + 0x1c) == iVar21) break;\nLAB_0030d188:\n          iVar28 = 0x3c3;\n        }\n        if ((*(int *)(iVar27 + 0x18) == *(int *)(iVar28 + 0x1c)) &&\n           (*(int *)(iVar28 + 0x18) == *(int *)(iVar27 + 0x18))) break;\n        iVar28 = 0x3c4;\n      }\n      if (*(int *)(iVar28 + 4) == 0) {\n        *(undefined4 *)(iVar27 + 4) = 0;\n      }\n      uVar22 = *(uint *)(iVar27 + 0x28);\n      uVar26 = *(undefined4 *)(iVar28 + 8);\n      uVar24 = *(uint *)(iVar28 + 0x28) & 0xf0000000;\n      *(undefined4 *)(iVar27 + 0xc) = *(undefined4 *)(iVar28 + 0xc);\n      *(undefined4 *)(iVar27 + 8) = uVar26;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfffffff | uVar24;\n      uVar25 = ((uint)(*(int *)(iVar28 + 0x28) << 4) >> 0x1c) << 0x18;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n      uVar1 = ((uint)(*(int *)(iVar28 + 0x28) << 8) >> 0x1e) << 0x16;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar1;\n      uVar2 = ((uint)(*(int *)(iVar28 + 0x28) << 10) >> 0x1a) << 0x10;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar1 | uVar2;\n      uVar3 = ((uint)(*(int *)(iVar28 + 0x28) << 0x10) >> 0x1d) << 0xd;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3;\n      uVar4 = ((uint)(*(int *)(iVar28 + 0x28) << 0x13) >> 0x1f) << 0xc;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4;\n      uVar5 = ((uint)(*(int *)(iVar28 + 0x28) << 0x14) >> 0x1f) << 0xb;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5;\n      uVar6 = ((uint)(*(int *)(iVar28 + 0x28) << 0x15) >> 0x1f) << 10;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6;\n      uVar7 = ((uint)(*(int *)(iVar28 + 0x28) << 0x16) >> 0x1f) << 9;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7;\n      uVar8 = ((uint)(*(int *)(iVar28 + 0x28) << 0x17) >> 0x1f) << 8;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8;\n      uVar9 = ((uint)(*(int *)(iVar28 + 0x28) << 0x18) >> 0x1f) << 7;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9;\n      uVar10 = ((uint)(*(int *)(iVar28 + 0x28) << 0x19) >> 0x1f) << 6;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10;\n      uVar11 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1a) >> 0x1f) << 5;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11;\n      uVar12 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1b) >> 0x1f) << 4;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n      bVar15 = *(byte *)(iVar27 + 0x2c);\n      uVar13 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1d) >> 0x1f) << 2;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n      uVar14 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1e) >> 0x1f) << 1;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14;\n      uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14 |\n               *(uint *)(iVar28 + 0x28) & 1;\n      *(uint *)(iVar27 + 0x28) = uVar24;\n      bVar16 = (byte)((*(uint *)(iVar28 + 0x2c) >> 0x1f) << 7);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x7f | bVar16;\n      bVar17 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 1) >> 0x1f) << 6);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x3f | bVar16 | bVar17;\n      bVar18 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 2) >> 0x1f) << 5);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x1f | bVar16 | bVar17 | bVar18;\n      bVar19 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 3) >> 0x1f) << 4);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0xf | bVar16 | bVar17 | bVar18 | bVar19;\n      *(byte *)(iVar27 + 0x2c) =\n           bVar15 & 7 | bVar16 | bVar17 | bVar18 | bVar19 |\n           (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f) << 3);\n      if ((int)(uVar24 << 0x1c) < 0) {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }\n      else {\n        pSVar23 = (Sized_symbol<32> *)((uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f);\n      }\n      return pSVar23;\n    }\n    uVar24 = (to->u2_).shndx;\n    binding = (uVar25 << 4) >> 0x1c;\n    is_dynamic = SUB41((uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage >> 0x1f,0);\n  }\n  else {\n    is_ordinary = false;\n    uVar24 = 0xfff1;\n    is_dynamic = false;\n    binding = (uVar25 << 4) >> 0x1c;\n  }\n  uVar24 = symbol_to_bits(binding,is_dynamic,uVar24,is_ordinary);\n  if ((*(uint *)&to->field_0x28 >> 0x1c == 6) != (iVar28 == 6)) {\n    iVar28 = *(int *)(pcVar31 + 0x1b4658);\n    if ((*(uint *)&to->field_0x28 & 0xe000) == 0) {\n      iVar28 = (*((to->u1_).object)->_vptr_Object[5])((to->u1_).object);\n      if (iVar28 != 0) goto LAB_0030cd70;\n      iVar28 = *(int *)(pcVar31 + 0x1b4658);\n    }\n    msg = (char *)(**(code **)(pcVar31 + 0x1b8fac))(iVar28 + -0x76f0);\n    report_resolve_problem(true,msg,to,(Defined)defined,(Object *)(pcVar30 + 0x1bc854));\n  }\nLAB_0030cd70:\n  uVar24 = uVar24 * 0x10 + iVar27;\n  if (0xbb < uVar24) {\n    uVar32 = (**(code **)(pcVar31 + 0x1b4dac))\n                       (*(int *)(pcVar31 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar31 + 0x1b4658) + -0x71a0);\n    if ((to->version_ != (char *)0x0) || (pSVar23 == (Sized_symbol<32> *)0x0)) {\n      if (((int)((ulonglong)uVar32 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)&to->field_0x2c << 1 < 0 &&\n          (iVar27 = *(int *)((int)uVar32 + 0x2c), iVar27 << 6 < 0)))) {\n        pSVar23 = (Sized_symbol<32> *)((uint)(iVar27 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }\n    }\n    return pSVar23;\n  }\n                    /* WARNING: Could not recover jumptable at 0x0030cd98. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  pSVar23 = (Sized_symbol<32> *)\n            (*(pcVar31 + *(int *)(*(int *)(pcVar31 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ();\n  return pSVar23;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "byte bVar15;" type_identifier identifier ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "byte bVar18;" type_identifier identifier ;) (declaration "byte bVar19;" type_identifier identifier ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "char *msg;" primitive_type (pointer_declarator "*msg" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (expression_statement "Sized_symbol<32> *pSVar23;" (binary_expression "Sized_symbol<32> *pSVar23" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*pSVar23" * identifier)) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "Symbol *to;" type_identifier (pointer_declarator "*to" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "STB binding;" type_identifier identifier ;) (declaration "undefined4 uVar26;" type_identifier identifier ;) (declaration "bool is_dynamic;" primitive_type identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "uint in_a3;" type_identifier identifier ;) (declaration "undefined1 *defined;" type_identifier (pointer_declarator "*defined" * identifier) ;) (declaration "bool is_ordinary;" primitive_type identifier ;) (declaration "undefined *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "code *pcVar30;" type_identifier (pointer_declarator "*pcVar30" * identifier) ;) (declaration "code *pcVar31;" type_identifier (pointer_declarator "*pcVar31" * identifier) ;) (declaration "undefined8 uVar32;" type_identifier identifier ;) (declaration "undefined1 *puStack_9c;" type_identifier (pointer_declarator "*puStack_9c" * identifier) ;) (declaration "undefined1 *puStack_98;" type_identifier (pointer_declarator "*puStack_98" * identifier) ;) (declaration "uint uStack_94;" type_identifier identifier ;) (declaration "undefined1 auStack_90 [20];" type_identifier (array_declarator "auStack_90 [20]" identifier [ number_literal ]) ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }\n  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return (Sized_symbol<32> *)this;\n  }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == number_literal) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              )" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              )" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_UINT_004c12dc + -0x7228" identifier + number_literal) ))) ;) }) (else_clause "else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return (Sized_symbol<32> *)this;\n  }" else (if_statement "if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return (Sized_symbol<32> *)this;\n  }" if (parenthesized_expression "(**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20)" ( (binary_expression "**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20" (pointer_expression "**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (pointer_expression "*(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (cast_expression "(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) ))))) == number_literal) )) (compound_statement "{\n    return (Sized_symbol<32> *)this;\n  }" { (return_statement "return (Sized_symbol<32> *)this;" return (parenthesized_expression "(Sized_symbol<32> *)this" ( (binary_expression "Sized_symbol<32> *)this" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)this" * (ERROR ")" )) identifier)) )) ;) })))) (expression_statement "pSVar23 = (Sized_symbol<32> *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860);" (assignment_expression "pSVar23 = (Sized_symbol<32> *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860)" identifier = (call_expression "(Sized_symbol<32> *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860)" (parenthesized_expression "(Sized_symbol<32> *)" ( (binary_expression "Sized_symbol<32> *" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860" identifier + number_literal) )))) ;) (expression_statement "puVar29 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar29 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(pSVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(pSVar23,0x7f4,PTR_UINT_004c12dc + -0x726c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pSVar23,0x7f4,PTR_UINT_004c12dc + -0x726c)" ( identifier , number_literal , (binary_expression "PTR_UINT_004c12dc + -0x726c" identifier + number_literal) ))) ;) (if_statement "if (*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) == 0) {\n    (**(code **)(puVar29 + 0x1b5130))\n              (*(int *)(puVar29 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar29 + 0x1b49dc) + -0x7228);\n  }\n  else if (**(int **)(*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return pSVar23;\n  }" if (parenthesized_expression "(*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) == 0)" ( (binary_expression "*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) == 0" (pointer_expression "*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc)" * (cast_expression "(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(puVar29 + 0x1b50b4) + 0xc)" ( (binary_expression "**(int **)(puVar29 + 0x1b50b4) + 0xc" (pointer_expression "**(int **)(puVar29 + 0x1b50b4)" * (pointer_expression "*(int **)(puVar29 + 0x1b50b4)" * (cast_expression "(int **)(puVar29 + 0x1b50b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x1b50b4)" ( (binary_expression "puVar29 + 0x1b50b4" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    (**(code **)(puVar29 + 0x1b5130))\n              (*(int *)(puVar29 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar29 + 0x1b49dc) + -0x7228);\n  }" { (expression_statement "(**(code **)(puVar29 + 0x1b5130))\n              (*(int *)(puVar29 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar29 + 0x1b49dc) + -0x7228);" (call_expression "(**(code **)(puVar29 + 0x1b5130))\n              (*(int *)(puVar29 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar29 + 0x1b49dc) + -0x7228)" (parenthesized_expression "(**(code **)(puVar29 + 0x1b5130))" ( (pointer_expression "**(code **)(puVar29 + 0x1b5130)" * (pointer_expression "*(code **)(puVar29 + 0x1b5130)" * (cast_expression "(code **)(puVar29 + 0x1b5130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x1b5130)" ( (binary_expression "puVar29 + 0x1b5130" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar29 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar29 + 0x1b49dc) + -0x7228)" ( (binary_expression "*(int *)(puVar29 + 0x1b497c) + -0x9b8" (pointer_expression "*(int *)(puVar29 + 0x1b497c)" * (cast_expression "(int *)(puVar29 + 0x1b497c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x1b497c)" ( (binary_expression "puVar29 + 0x1b497c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar29 + 0x1b49dc) + -0x7228" (pointer_expression "*(int *)(puVar29 + 0x1b49dc)" * (cast_expression "(int *)(puVar29 + 0x1b49dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x1b49dc)" ( (binary_expression "puVar29 + 0x1b49dc" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (**(int **)(*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return pSVar23;\n  }" else (if_statement "if (**(int **)(*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return pSVar23;\n  }" if (parenthesized_expression "(**(int **)(*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) + 4) == 0x40)" ( (binary_expression "**(int **)(*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) + 4) == 0x40" (pointer_expression "**(int **)(*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) + 4)" * (pointer_expression "*(int **)(*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) + 4)" * (cast_expression "(int **)(*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) + 4)" ( (binary_expression "*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc) + 4" (pointer_expression "*(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc)" * (cast_expression "(int *)(**(int **)(puVar29 + 0x1b50b4) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(puVar29 + 0x1b50b4) + 0xc)" ( (binary_expression "**(int **)(puVar29 + 0x1b50b4) + 0xc" (pointer_expression "**(int **)(puVar29 + 0x1b50b4)" * (pointer_expression "*(int **)(puVar29 + 0x1b50b4)" * (cast_expression "(int **)(puVar29 + 0x1b50b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x1b50b4)" ( (binary_expression "puVar29 + 0x1b50b4" identifier + number_literal) ))))) + number_literal) )))) + number_literal) ))))) == number_literal) )) (compound_statement "{\n    return pSVar23;\n  }" { (return_statement "return pSVar23;" return identifier ;) })))) (expression_statement "uVar26 = 0x7f4;" (assignment_expression "uVar26 = 0x7f4" identifier = number_literal) ;) (expression_statement "pcVar30 = *(code **)(puVar29 + 0x1b5130);" (assignment_expression "pcVar30 = *(code **)(puVar29 + 0x1b5130)" identifier = (pointer_expression "*(code **)(puVar29 + 0x1b5130)" * (cast_expression "(code **)(puVar29 + 0x1b5130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x1b5130)" ( (binary_expression "puVar29 + 0x1b5130" identifier + number_literal) ))))) ;) (expression_statement "iVar27 = *(int *)(puVar29 + 0x1b49dc) + -0x72b8;" (assignment_expression "iVar27 = *(int *)(puVar29 + 0x1b49dc) + -0x72b8" identifier = (binary_expression "*(int *)(puVar29 + 0x1b49dc) + -0x72b8" (pointer_expression "*(int *)(puVar29 + 0x1b49dc)" * (cast_expression "(int *)(puVar29 + 0x1b49dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x1b49dc)" ( (binary_expression "puVar29 + 0x1b49dc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "uVar24 = *(int *)(puVar29 + 0x1b497c) + 0x3860;" (assignment_expression "uVar24 = *(int *)(puVar29 + 0x1b497c) + 0x3860" identifier = (binary_expression "*(int *)(puVar29 + 0x1b497c) + 0x3860" (pointer_expression "*(int *)(puVar29 + 0x1b497c)" * (cast_expression "(int *)(puVar29 + 0x1b497c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x1b497c)" ( (binary_expression "puVar29 + 0x1b497c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar30)();" (call_expression "(*pcVar30)()" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (uVar24 < 0x40000000) {\n    uVar26 = (**(code **)(pcVar30 + 0x1b4a28))(uVar24 << 2);\n    pSVar23 = (Sized_symbol<32> *)(**(code **)(pcVar30 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return pSVar23;\n  }" if (parenthesized_expression "(uVar24 < 0x40000000)" ( (binary_expression "uVar24 < 0x40000000" identifier < number_literal) )) (compound_statement "{\n    uVar26 = (**(code **)(pcVar30 + 0x1b4a28))(uVar24 << 2);\n    pSVar23 = (Sized_symbol<32> *)(**(code **)(pcVar30 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return pSVar23;\n  }" { (expression_statement "uVar26 = (**(code **)(pcVar30 + 0x1b4a28))(uVar24 << 2);" (assignment_expression "uVar26 = (**(code **)(pcVar30 + 0x1b4a28))(uVar24 << 2)" identifier = (call_expression "(**(code **)(pcVar30 + 0x1b4a28))(uVar24 << 2)" (parenthesized_expression "(**(code **)(pcVar30 + 0x1b4a28))" ( (pointer_expression "**(code **)(pcVar30 + 0x1b4a28)" * (pointer_expression "*(code **)(pcVar30 + 0x1b4a28)" * (cast_expression "(code **)(pcVar30 + 0x1b4a28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1b4a28)" ( (binary_expression "pcVar30 + 0x1b4a28" identifier + number_literal) ))))) )) (argument_list "(uVar24 << 2)" ( (binary_expression "uVar24 << 2" identifier << number_literal) )))) ;) (expression_statement "pSVar23 = (Sized_symbol<32> *)(**(code **)(pcVar30 + 0x1b92e8))(uVar26,0,uVar24 << 2);" (assignment_expression "pSVar23 = (Sized_symbol<32> *)(**(code **)(pcVar30 + 0x1b92e8))(uVar26,0,uVar24 << 2)" identifier = (call_expression "(Sized_symbol<32> *)(**(code **)(pcVar30 + 0x1b92e8))(uVar26,0,uVar24 << 2)" (call_expression "(Sized_symbol<32> *)(**(code **)(pcVar30 + 0x1b92e8))" (parenthesized_expression "(Sized_symbol<32> *)" ( (binary_expression "Sized_symbol<32> *" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(**(code **)(pcVar30 + 0x1b92e8))" ( (pointer_expression "**(code **)(pcVar30 + 0x1b92e8)" * (pointer_expression "*(code **)(pcVar30 + 0x1b92e8)" * (cast_expression "(code **)(pcVar30 + 0x1b92e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1b92e8)" ( (binary_expression "pcVar30 + 0x1b92e8" identifier + number_literal) ))))) ))) (argument_list "(uVar26,0,uVar24 << 2)" ( identifier , number_literal , (binary_expression "uVar24 << 2" identifier << number_literal) )))) ;) (return_statement "return pSVar23;" return identifier ;) })) (expression_statement "pcVar30 = *(code **)(pcVar30 + 0x1b5140);" (assignment_expression "pcVar30 = *(code **)(pcVar30 + 0x1b5140)" identifier = (pointer_expression "*(code **)(pcVar30 + 0x1b5140)" * (cast_expression "(code **)(pcVar30 + 0x1b5140)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1b5140)" ( (binary_expression "pcVar30 + 0x1b5140" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar30)();" (call_expression "(*pcVar30)()" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcVar30 + 0x1b52dc))(&puStack_98,iVar27);" (call_expression "(**(code **)(pcVar30 + 0x1b52dc))(&puStack_98,iVar27)" (parenthesized_expression "(**(code **)(pcVar30 + 0x1b52dc))" ( (pointer_expression "**(code **)(pcVar30 + 0x1b52dc)" * (pointer_expression "*(code **)(pcVar30 + 0x1b52dc)" * (cast_expression "(code **)(pcVar30 + 0x1b52dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1b52dc)" ( (binary_expression "pcVar30 + 0x1b52dc" identifier + number_literal) ))))) )) (argument_list "(&puStack_98,iVar27)" ( (pointer_expression "&puStack_98" & identifier) , identifier ))) ;) (expression_statement "iVar27 = (**(code **)(pcVar30 + 0x1b91b0))(uVar26);" (assignment_expression "iVar27 = (**(code **)(pcVar30 + 0x1b91b0))(uVar26)" identifier = (call_expression "(**(code **)(pcVar30 + 0x1b91b0))(uVar26)" (parenthesized_expression "(**(code **)(pcVar30 + 0x1b91b0))" ( (pointer_expression "**(code **)(pcVar30 + 0x1b91b0)" * (pointer_expression "*(code **)(pcVar30 + 0x1b91b0)" * (cast_expression "(code **)(pcVar30 + 0x1b91b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1b91b0)" ( (binary_expression "pcVar30 + 0x1b91b0" identifier + number_literal) ))))) )) (argument_list "(uVar26)" ( identifier )))) ;) (expression_statement "iVar27 = uStack_94 + 10 + iVar27;" (assignment_expression "iVar27 = uStack_94 + 10 + iVar27" identifier = (binary_expression "uStack_94 + 10 + iVar27" (binary_expression "uStack_94 + 10" identifier + number_literal) + identifier)) ;) (expression_statement "uVar20 = (**(code **)(pcVar30 + 0x1b4960))(iVar27);" (assignment_expression "uVar20 = (**(code **)(pcVar30 + 0x1b4960))(iVar27)" identifier = (call_expression "(**(code **)(pcVar30 + 0x1b4960))(iVar27)" (parenthesized_expression "(**(code **)(pcVar30 + 0x1b4960))" ( (pointer_expression "**(code **)(pcVar30 + 0x1b4960)" * (pointer_expression "*(code **)(pcVar30 + 0x1b4960)" * (cast_expression "(code **)(pcVar30 + 0x1b4960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1b4960)" ( (binary_expression "pcVar30 + 0x1b4960" identifier + number_literal) ))))) )) (argument_list "(iVar27)" ( identifier )))) ;) (expression_statement "defined = puStack_98;" (assignment_expression "defined = puStack_98" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar30 + 0x1b90a8))(uVar20,iVar27,uVar26);" (call_expression "(**(code **)(pcVar30 + 0x1b90a8))(uVar20,iVar27,uVar26)" (parenthesized_expression "(**(code **)(pcVar30 + 0x1b90a8))" ( (pointer_expression "**(code **)(pcVar30 + 0x1b90a8)" * (pointer_expression "*(code **)(pcVar30 + 0x1b90a8)" * (cast_expression "(code **)(pcVar30 + 0x1b90a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1b90a8)" ( (binary_expression "pcVar30 + 0x1b90a8" identifier + number_literal) ))))) )) (argument_list "(uVar20,iVar27,uVar26)" ( identifier , identifier , identifier ))) ;) (if_statement "if (in_a3 < 7) {\n                    /* WARNING: Could not recover jumptable at 0x0030caac. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pSVar23 = (Sized_symbol<32> *)\n              (*(code *)((int)&((Object *)(pcVar30 + 0x1bc854))->_vptr_Object +\n                        *(int *)(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4)))();\n    return pSVar23;\n  }" if (parenthesized_expression "(in_a3 < 7)" ( (binary_expression "in_a3 < 7" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0030caac. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pSVar23 = (Sized_symbol<32> *)\n              (*(code *)((int)&((Object *)(pcVar30 + 0x1bc854))->_vptr_Object +\n                        *(int *)(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4)))();\n    return pSVar23;\n  }" { comment comment (expression_statement "pSVar23 = (Sized_symbol<32> *)\n              (*(code *)((int)&((Object *)(pcVar30 + 0x1bc854))->_vptr_Object +\n                        *(int *)(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4)))();" (assignment_expression "pSVar23 = (Sized_symbol<32> *)\n              (*(code *)((int)&((Object *)(pcVar30 + 0x1bc854))->_vptr_Object +\n                        *(int *)(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4)))()" identifier = (call_expression "(Sized_symbol<32> *)\n              (*(code *)((int)&((Object *)(pcVar30 + 0x1bc854))->_vptr_Object +\n                        *(int *)(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4)))()" (call_expression "(Sized_symbol<32> *)\n              (*(code *)((int)&((Object *)(pcVar30 + 0x1bc854))->_vptr_Object +\n                        *(int *)(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4)))" (parenthesized_expression "(Sized_symbol<32> *)" ( (binary_expression "Sized_symbol<32> *" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(*(code *)((int)&((Object *)(pcVar30 + 0x1bc854))->_vptr_Object +\n                        *(int *)(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4)))" ( (pointer_expression "*(code *)((int)&((Object *)(pcVar30 + 0x1bc854))->_vptr_Object +\n                        *(int *)(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4))" * (cast_expression "(code *)((int)&((Object *)(pcVar30 + 0x1bc854))->_vptr_Object +\n                        *(int *)(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((Object *)(pcVar30 + 0x1bc854))->_vptr_Object +\n                        *(int *)(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4))" ( (binary_expression "(int)&((Object *)(pcVar30 + 0x1bc854))->_vptr_Object +\n                        *(int *)(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4)" (cast_expression "(int)&((Object *)(pcVar30 + 0x1bc854))->_vptr_Object" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((Object *)(pcVar30 + 0x1bc854))->_vptr_Object" & (field_expression "((Object *)(pcVar30 + 0x1bc854))->_vptr_Object" (parenthesized_expression "((Object *)(pcVar30 + 0x1bc854))" ( (cast_expression "(Object *)(pcVar30 + 0x1bc854)" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x1bc854)" ( (binary_expression "pcVar30 + 0x1bc854" identifier + number_literal) ))) )) -> field_identifier))) + (pointer_expression "*(int *)(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4)" * (cast_expression "(int *)(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4)" ( (binary_expression "*(int *)(pcVar30 + 0x1b48f0) + -0x7610 + in_a3 * 4" (binary_expression "*(int *)(pcVar30 + 0x1b48f0) + -0x7610" (pointer_expression "*(int *)(pcVar30 + 0x1b48f0)" * (cast_expression "(int *)(pcVar30 + 0x1b48f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x1b48f0)" ( (binary_expression "pcVar30 + 0x1b48f0" identifier + number_literal) )))) + number_literal) + (binary_expression "in_a3 * 4" identifier * number_literal)) ))))) )))) ))) (argument_list "()" ( )))) ;) (return_statement "return pSVar23;" return identifier ;) })) (expression_statement "iVar28 = *(int *)(pcVar30 + 0x1b48f0) + -0x71dc;" (assignment_expression "iVar28 = *(int *)(pcVar30 + 0x1b48f0) + -0x71dc" identifier = (binary_expression "*(int *)(pcVar30 + 0x1b48f0) + -0x71dc" (pointer_expression "*(int *)(pcVar30 + 0x1b48f0)" * (cast_expression "(int *)(pcVar30 + 0x1b48f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x1b48f0)" ( (binary_expression "pcVar30 + 0x1b48f0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar30 + 0x1b5044))(*(int *)(pcVar30 + 0x1b48f0) + -0x7758,0x3a6);" (call_expression "(**(code **)(pcVar30 + 0x1b5044))(*(int *)(pcVar30 + 0x1b48f0) + -0x7758,0x3a6)" (parenthesized_expression "(**(code **)(pcVar30 + 0x1b5044))" ( (pointer_expression "**(code **)(pcVar30 + 0x1b5044)" * (pointer_expression "*(code **)(pcVar30 + 0x1b5044)" * (cast_expression "(code **)(pcVar30 + 0x1b5044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1b5044)" ( (binary_expression "pcVar30 + 0x1b5044" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x1b48f0) + -0x7758,0x3a6)" ( (binary_expression "*(int *)(pcVar30 + 0x1b48f0) + -0x7758" (pointer_expression "*(int *)(pcVar30 + 0x1b48f0)" * (cast_expression "(int *)(pcVar30 + 0x1b48f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x1b48f0)" ( (binary_expression "pcVar30 + 0x1b48f0" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "iVar27 = 0xa1;" (assignment_expression "iVar27 = 0xa1" identifier = number_literal) ;) (expression_statement "iVar28 = iVar28 + -0x71bc;" (assignment_expression "iVar28 = iVar28 + -0x71bc" identifier = (binary_expression "iVar28 + -0x71bc" identifier + number_literal)) ;) (expression_statement "to = (Symbol *)(*(int *)(pcVar30 + 0x1b4890) + 0x3860);" (assignment_expression "to = (Symbol *)(*(int *)(pcVar30 + 0x1b4890) + 0x3860)" identifier = (cast_expression "(Symbol *)(*(int *)(pcVar30 + 0x1b4890) + 0x3860)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0x1b4890) + 0x3860)" ( (binary_expression "*(int *)(pcVar30 + 0x1b4890) + 0x3860" (pointer_expression "*(int *)(pcVar30 + 0x1b4890)" * (cast_expression "(int *)(pcVar30 + 0x1b4890)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x1b4890)" ( (binary_expression "pcVar30 + 0x1b4890" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar30 + 0x1b5044))();" (call_expression "(**(code **)(pcVar30 + 0x1b5044))()" (parenthesized_expression "(**(code **)(pcVar30 + 0x1b5044))" ( (pointer_expression "**(code **)(pcVar30 + 0x1b5044)" * (pointer_expression "*(code **)(pcVar30 + 0x1b5044)" * (cast_expression "(code **)(pcVar30 + 0x1b5044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1b5044)" ( (binary_expression "pcVar30 + 0x1b5044" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (puStack_98 != auStack_90) {\n    (**(code **)(pcVar30 + 0x1b4910))(puStack_98);\n  }" if (parenthesized_expression "(puStack_98 != auStack_90)" ( (binary_expression "puStack_98 != auStack_90" identifier != identifier) )) (compound_statement "{\n    (**(code **)(pcVar30 + 0x1b4910))(puStack_98);\n  }" { (expression_statement "(**(code **)(pcVar30 + 0x1b4910))(puStack_98);" (call_expression "(**(code **)(pcVar30 + 0x1b4910))(puStack_98)" (parenthesized_expression "(**(code **)(pcVar30 + 0x1b4910))" ( (pointer_expression "**(code **)(pcVar30 + 0x1b4910)" * (pointer_expression "*(code **)(pcVar30 + 0x1b4910)" * (cast_expression "(code **)(pcVar30 + 0x1b4910)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1b4910)" ( (binary_expression "pcVar30 + 0x1b4910" identifier + number_literal) ))))) )) (argument_list "(puStack_98)" ( identifier ))) ;) })) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0x1b48dc);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0x1b48dc)" identifier = (pointer_expression "*(code **)(pcVar30 + 0x1b48dc)" * (cast_expression "(code **)(pcVar30 + 0x1b48dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1b48dc)" ( (binary_expression "pcVar30 + 0x1b48dc" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar31)();" (call_expression "(*pcVar31)()" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pSVar23 = (Sized_symbol<32> *)(uStack_94 & 0xff);" (assignment_expression "pSVar23 = (Sized_symbol<32> *)(uStack_94 & 0xff)" identifier = (call_expression "(Sized_symbol<32> *)(uStack_94 & 0xff)" (parenthesized_expression "(Sized_symbol<32> *)" ( (binary_expression "Sized_symbol<32> *" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(uStack_94 & 0xff)" ( (binary_expression "uStack_94 & 0xff" identifier & number_literal) )))) ;) (expression_statement "*puStack_9c = 0;" (assignment_expression "*puStack_9c = 0" (pointer_expression "*puStack_9c" * identifier) = number_literal) ;) (expression_statement "*puStack_98 = 0;" (assignment_expression "*puStack_98 = 0" (pointer_expression "*puStack_98" * identifier) = number_literal) ;) (expression_statement "uVar25 = *(uint *)&to->field_0x28;" (assignment_expression "uVar25 = *(uint *)&to->field_0x28" identifier = (pointer_expression "*(uint *)&to->field_0x28" * (cast_expression "(uint *)&to->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&to->field_0x28" & (field_expression "to->field_0x28" identifier -> field_identifier))))) ;) (expression_statement "uVar24 = (uVar25 << 0x10) >> 0x1d;" (assignment_expression "uVar24 = (uVar25 << 0x10) >> 0x1d" identifier = (binary_expression "(uVar25 << 0x10) >> 0x1d" (parenthesized_expression "(uVar25 << 0x10)" ( (binary_expression "uVar25 << 0x10" identifier << number_literal) )) >> number_literal)) ;) (if_statement "if (uVar24 == 4) {\n    is_ordinary = true;\n    uVar24 = 0;\n    is_dynamic = false;\n    binding = (uVar25 << 4) >> 0x1c;\n  }\n  else if (uVar24 == 0) {\n    is_ordinary = SUB41((uVar25 << 0x1d) >> 0x1f,0);\n    if ((uVar25 & 0xe000) != 0) {\n      iVar27 = *(int *)(pcVar31 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xaa,iVar27);\n      iVar27 = iVar27 + -0x71bc;\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xa1,iVar27);\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + -0x9b8,0x5c,iVar27 + -0x71c4)\n      ;\n      iVar28 = 0x1ea;\n      pcVar30 = *(code **)(pcVar31 + 0x1b4dac);\n      iVar27 = *(int *)(pcVar31 + 0x1b45f8) + 0x4570;\n      (*pcVar30)(iVar27,0x1ea,*(int *)(pcVar31 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar27 + 0x10) == 0) && (*(int *)(iVar28 + 0x10) == 0)) {\n        if ((*(int *)(iVar27 + 0x14) == 0) && (*(int *)(iVar28 + 0x14) == 0)) {\n          iVar21 = *(int *)(iVar27 + 0x1c);\n          if (iVar21 == -1) goto LAB_0030d1a4;\n          goto LAB_0030d188;\n        }\n        iVar28 = 0x3c1;\n      }\n      else {\n        iVar28 = 0x3c0;\n      }\n      while( true ) {\n        while( true ) {\n          iVar27 = *(int *)(pcVar30 + 0x1b41a8) + -0x7758;\n          iVar21 = (**(code **)(pcVar30 + 0x1b48fc))\n                             (iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4);\nLAB_0030d1a4:\n          if (*(int *)(iVar28 + 0x1c) == iVar21) break;\nLAB_0030d188:\n          iVar28 = 0x3c3;\n        }\n        if ((*(int *)(iVar27 + 0x18) == *(int *)(iVar28 + 0x1c)) &&\n           (*(int *)(iVar28 + 0x18) == *(int *)(iVar27 + 0x18))) break;\n        iVar28 = 0x3c4;\n      }\n      if (*(int *)(iVar28 + 4) == 0) {\n        *(undefined4 *)(iVar27 + 4) = 0;\n      }\n      uVar22 = *(uint *)(iVar27 + 0x28);\n      uVar26 = *(undefined4 *)(iVar28 + 8);\n      uVar24 = *(uint *)(iVar28 + 0x28) & 0xf0000000;\n      *(undefined4 *)(iVar27 + 0xc) = *(undefined4 *)(iVar28 + 0xc);\n      *(undefined4 *)(iVar27 + 8) = uVar26;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfffffff | uVar24;\n      uVar25 = ((uint)(*(int *)(iVar28 + 0x28) << 4) >> 0x1c) << 0x18;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n      uVar1 = ((uint)(*(int *)(iVar28 + 0x28) << 8) >> 0x1e) << 0x16;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar1;\n      uVar2 = ((uint)(*(int *)(iVar28 + 0x28) << 10) >> 0x1a) << 0x10;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar1 | uVar2;\n      uVar3 = ((uint)(*(int *)(iVar28 + 0x28) << 0x10) >> 0x1d) << 0xd;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3;\n      uVar4 = ((uint)(*(int *)(iVar28 + 0x28) << 0x13) >> 0x1f) << 0xc;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4;\n      uVar5 = ((uint)(*(int *)(iVar28 + 0x28) << 0x14) >> 0x1f) << 0xb;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5;\n      uVar6 = ((uint)(*(int *)(iVar28 + 0x28) << 0x15) >> 0x1f) << 10;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6;\n      uVar7 = ((uint)(*(int *)(iVar28 + 0x28) << 0x16) >> 0x1f) << 9;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7;\n      uVar8 = ((uint)(*(int *)(iVar28 + 0x28) << 0x17) >> 0x1f) << 8;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8;\n      uVar9 = ((uint)(*(int *)(iVar28 + 0x28) << 0x18) >> 0x1f) << 7;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9;\n      uVar10 = ((uint)(*(int *)(iVar28 + 0x28) << 0x19) >> 0x1f) << 6;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10;\n      uVar11 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1a) >> 0x1f) << 5;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11;\n      uVar12 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1b) >> 0x1f) << 4;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n      bVar15 = *(byte *)(iVar27 + 0x2c);\n      uVar13 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1d) >> 0x1f) << 2;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n      uVar14 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1e) >> 0x1f) << 1;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14;\n      uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14 |\n               *(uint *)(iVar28 + 0x28) & 1;\n      *(uint *)(iVar27 + 0x28) = uVar24;\n      bVar16 = (byte)((*(uint *)(iVar28 + 0x2c) >> 0x1f) << 7);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x7f | bVar16;\n      bVar17 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 1) >> 0x1f) << 6);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x3f | bVar16 | bVar17;\n      bVar18 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 2) >> 0x1f) << 5);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x1f | bVar16 | bVar17 | bVar18;\n      bVar19 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 3) >> 0x1f) << 4);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0xf | bVar16 | bVar17 | bVar18 | bVar19;\n      *(byte *)(iVar27 + 0x2c) =\n           bVar15 & 7 | bVar16 | bVar17 | bVar18 | bVar19 |\n           (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f) << 3);\n      if ((int)(uVar24 << 0x1c) < 0) {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }\n      else {\n        pSVar23 = (Sized_symbol<32> *)((uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f);\n      }\n      return pSVar23;\n    }\n    uVar24 = (to->u2_).shndx;\n    binding = (uVar25 << 4) >> 0x1c;\n    is_dynamic = SUB41((uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage >> 0x1f,0);\n  }\n  else {\n    is_ordinary = false;\n    uVar24 = 0xfff1;\n    is_dynamic = false;\n    binding = (uVar25 << 4) >> 0x1c;\n  }" if (parenthesized_expression "(uVar24 == 4)" ( (binary_expression "uVar24 == 4" identifier == number_literal) )) (compound_statement "{\n    is_ordinary = true;\n    uVar24 = 0;\n    is_dynamic = false;\n    binding = (uVar25 << 4) >> 0x1c;\n  }" { (expression_statement "is_ordinary = true;" (assignment_expression "is_ordinary = true" identifier = true) ;) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (expression_statement "is_dynamic = false;" (assignment_expression "is_dynamic = false" identifier = false) ;) (expression_statement "binding = (uVar25 << 4) >> 0x1c;" (assignment_expression "binding = (uVar25 << 4) >> 0x1c" identifier = (binary_expression "(uVar25 << 4) >> 0x1c" (parenthesized_expression "(uVar25 << 4)" ( (binary_expression "uVar25 << 4" identifier << number_literal) )) >> number_literal)) ;) }) (else_clause "else if (uVar24 == 0) {\n    is_ordinary = SUB41((uVar25 << 0x1d) >> 0x1f,0);\n    if ((uVar25 & 0xe000) != 0) {\n      iVar27 = *(int *)(pcVar31 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xaa,iVar27);\n      iVar27 = iVar27 + -0x71bc;\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xa1,iVar27);\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + -0x9b8,0x5c,iVar27 + -0x71c4)\n      ;\n      iVar28 = 0x1ea;\n      pcVar30 = *(code **)(pcVar31 + 0x1b4dac);\n      iVar27 = *(int *)(pcVar31 + 0x1b45f8) + 0x4570;\n      (*pcVar30)(iVar27,0x1ea,*(int *)(pcVar31 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar27 + 0x10) == 0) && (*(int *)(iVar28 + 0x10) == 0)) {\n        if ((*(int *)(iVar27 + 0x14) == 0) && (*(int *)(iVar28 + 0x14) == 0)) {\n          iVar21 = *(int *)(iVar27 + 0x1c);\n          if (iVar21 == -1) goto LAB_0030d1a4;\n          goto LAB_0030d188;\n        }\n        iVar28 = 0x3c1;\n      }\n      else {\n        iVar28 = 0x3c0;\n      }\n      while( true ) {\n        while( true ) {\n          iVar27 = *(int *)(pcVar30 + 0x1b41a8) + -0x7758;\n          iVar21 = (**(code **)(pcVar30 + 0x1b48fc))\n                             (iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4);\nLAB_0030d1a4:\n          if (*(int *)(iVar28 + 0x1c) == iVar21) break;\nLAB_0030d188:\n          iVar28 = 0x3c3;\n        }\n        if ((*(int *)(iVar27 + 0x18) == *(int *)(iVar28 + 0x1c)) &&\n           (*(int *)(iVar28 + 0x18) == *(int *)(iVar27 + 0x18))) break;\n        iVar28 = 0x3c4;\n      }\n      if (*(int *)(iVar28 + 4) == 0) {\n        *(undefined4 *)(iVar27 + 4) = 0;\n      }\n      uVar22 = *(uint *)(iVar27 + 0x28);\n      uVar26 = *(undefined4 *)(iVar28 + 8);\n      uVar24 = *(uint *)(iVar28 + 0x28) & 0xf0000000;\n      *(undefined4 *)(iVar27 + 0xc) = *(undefined4 *)(iVar28 + 0xc);\n      *(undefined4 *)(iVar27 + 8) = uVar26;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfffffff | uVar24;\n      uVar25 = ((uint)(*(int *)(iVar28 + 0x28) << 4) >> 0x1c) << 0x18;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n      uVar1 = ((uint)(*(int *)(iVar28 + 0x28) << 8) >> 0x1e) << 0x16;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar1;\n      uVar2 = ((uint)(*(int *)(iVar28 + 0x28) << 10) >> 0x1a) << 0x10;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar1 | uVar2;\n      uVar3 = ((uint)(*(int *)(iVar28 + 0x28) << 0x10) >> 0x1d) << 0xd;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3;\n      uVar4 = ((uint)(*(int *)(iVar28 + 0x28) << 0x13) >> 0x1f) << 0xc;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4;\n      uVar5 = ((uint)(*(int *)(iVar28 + 0x28) << 0x14) >> 0x1f) << 0xb;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5;\n      uVar6 = ((uint)(*(int *)(iVar28 + 0x28) << 0x15) >> 0x1f) << 10;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6;\n      uVar7 = ((uint)(*(int *)(iVar28 + 0x28) << 0x16) >> 0x1f) << 9;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7;\n      uVar8 = ((uint)(*(int *)(iVar28 + 0x28) << 0x17) >> 0x1f) << 8;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8;\n      uVar9 = ((uint)(*(int *)(iVar28 + 0x28) << 0x18) >> 0x1f) << 7;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9;\n      uVar10 = ((uint)(*(int *)(iVar28 + 0x28) << 0x19) >> 0x1f) << 6;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10;\n      uVar11 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1a) >> 0x1f) << 5;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11;\n      uVar12 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1b) >> 0x1f) << 4;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n      bVar15 = *(byte *)(iVar27 + 0x2c);\n      uVar13 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1d) >> 0x1f) << 2;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n      uVar14 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1e) >> 0x1f) << 1;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14;\n      uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14 |\n               *(uint *)(iVar28 + 0x28) & 1;\n      *(uint *)(iVar27 + 0x28) = uVar24;\n      bVar16 = (byte)((*(uint *)(iVar28 + 0x2c) >> 0x1f) << 7);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x7f | bVar16;\n      bVar17 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 1) >> 0x1f) << 6);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x3f | bVar16 | bVar17;\n      bVar18 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 2) >> 0x1f) << 5);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x1f | bVar16 | bVar17 | bVar18;\n      bVar19 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 3) >> 0x1f) << 4);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0xf | bVar16 | bVar17 | bVar18 | bVar19;\n      *(byte *)(iVar27 + 0x2c) =\n           bVar15 & 7 | bVar16 | bVar17 | bVar18 | bVar19 |\n           (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f) << 3);\n      if ((int)(uVar24 << 0x1c) < 0) {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }\n      else {\n        pSVar23 = (Sized_symbol<32> *)((uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f);\n      }\n      return pSVar23;\n    }\n    uVar24 = (to->u2_).shndx;\n    binding = (uVar25 << 4) >> 0x1c;\n    is_dynamic = SUB41((uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage >> 0x1f,0);\n  }\n  else {\n    is_ordinary = false;\n    uVar24 = 0xfff1;\n    is_dynamic = false;\n    binding = (uVar25 << 4) >> 0x1c;\n  }" else (if_statement "if (uVar24 == 0) {\n    is_ordinary = SUB41((uVar25 << 0x1d) >> 0x1f,0);\n    if ((uVar25 & 0xe000) != 0) {\n      iVar27 = *(int *)(pcVar31 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xaa,iVar27);\n      iVar27 = iVar27 + -0x71bc;\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xa1,iVar27);\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + -0x9b8,0x5c,iVar27 + -0x71c4)\n      ;\n      iVar28 = 0x1ea;\n      pcVar30 = *(code **)(pcVar31 + 0x1b4dac);\n      iVar27 = *(int *)(pcVar31 + 0x1b45f8) + 0x4570;\n      (*pcVar30)(iVar27,0x1ea,*(int *)(pcVar31 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar27 + 0x10) == 0) && (*(int *)(iVar28 + 0x10) == 0)) {\n        if ((*(int *)(iVar27 + 0x14) == 0) && (*(int *)(iVar28 + 0x14) == 0)) {\n          iVar21 = *(int *)(iVar27 + 0x1c);\n          if (iVar21 == -1) goto LAB_0030d1a4;\n          goto LAB_0030d188;\n        }\n        iVar28 = 0x3c1;\n      }\n      else {\n        iVar28 = 0x3c0;\n      }\n      while( true ) {\n        while( true ) {\n          iVar27 = *(int *)(pcVar30 + 0x1b41a8) + -0x7758;\n          iVar21 = (**(code **)(pcVar30 + 0x1b48fc))\n                             (iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4);\nLAB_0030d1a4:\n          if (*(int *)(iVar28 + 0x1c) == iVar21) break;\nLAB_0030d188:\n          iVar28 = 0x3c3;\n        }\n        if ((*(int *)(iVar27 + 0x18) == *(int *)(iVar28 + 0x1c)) &&\n           (*(int *)(iVar28 + 0x18) == *(int *)(iVar27 + 0x18))) break;\n        iVar28 = 0x3c4;\n      }\n      if (*(int *)(iVar28 + 4) == 0) {\n        *(undefined4 *)(iVar27 + 4) = 0;\n      }\n      uVar22 = *(uint *)(iVar27 + 0x28);\n      uVar26 = *(undefined4 *)(iVar28 + 8);\n      uVar24 = *(uint *)(iVar28 + 0x28) & 0xf0000000;\n      *(undefined4 *)(iVar27 + 0xc) = *(undefined4 *)(iVar28 + 0xc);\n      *(undefined4 *)(iVar27 + 8) = uVar26;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfffffff | uVar24;\n      uVar25 = ((uint)(*(int *)(iVar28 + 0x28) << 4) >> 0x1c) << 0x18;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n      uVar1 = ((uint)(*(int *)(iVar28 + 0x28) << 8) >> 0x1e) << 0x16;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar1;\n      uVar2 = ((uint)(*(int *)(iVar28 + 0x28) << 10) >> 0x1a) << 0x10;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar1 | uVar2;\n      uVar3 = ((uint)(*(int *)(iVar28 + 0x28) << 0x10) >> 0x1d) << 0xd;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3;\n      uVar4 = ((uint)(*(int *)(iVar28 + 0x28) << 0x13) >> 0x1f) << 0xc;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4;\n      uVar5 = ((uint)(*(int *)(iVar28 + 0x28) << 0x14) >> 0x1f) << 0xb;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5;\n      uVar6 = ((uint)(*(int *)(iVar28 + 0x28) << 0x15) >> 0x1f) << 10;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6;\n      uVar7 = ((uint)(*(int *)(iVar28 + 0x28) << 0x16) >> 0x1f) << 9;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7;\n      uVar8 = ((uint)(*(int *)(iVar28 + 0x28) << 0x17) >> 0x1f) << 8;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8;\n      uVar9 = ((uint)(*(int *)(iVar28 + 0x28) << 0x18) >> 0x1f) << 7;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9;\n      uVar10 = ((uint)(*(int *)(iVar28 + 0x28) << 0x19) >> 0x1f) << 6;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10;\n      uVar11 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1a) >> 0x1f) << 5;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11;\n      uVar12 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1b) >> 0x1f) << 4;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n      bVar15 = *(byte *)(iVar27 + 0x2c);\n      uVar13 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1d) >> 0x1f) << 2;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n      uVar14 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1e) >> 0x1f) << 1;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14;\n      uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14 |\n               *(uint *)(iVar28 + 0x28) & 1;\n      *(uint *)(iVar27 + 0x28) = uVar24;\n      bVar16 = (byte)((*(uint *)(iVar28 + 0x2c) >> 0x1f) << 7);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x7f | bVar16;\n      bVar17 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 1) >> 0x1f) << 6);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x3f | bVar16 | bVar17;\n      bVar18 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 2) >> 0x1f) << 5);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x1f | bVar16 | bVar17 | bVar18;\n      bVar19 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 3) >> 0x1f) << 4);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0xf | bVar16 | bVar17 | bVar18 | bVar19;\n      *(byte *)(iVar27 + 0x2c) =\n           bVar15 & 7 | bVar16 | bVar17 | bVar18 | bVar19 |\n           (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f) << 3);\n      if ((int)(uVar24 << 0x1c) < 0) {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }\n      else {\n        pSVar23 = (Sized_symbol<32> *)((uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f);\n      }\n      return pSVar23;\n    }\n    uVar24 = (to->u2_).shndx;\n    binding = (uVar25 << 4) >> 0x1c;\n    is_dynamic = SUB41((uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage >> 0x1f,0);\n  }\n  else {\n    is_ordinary = false;\n    uVar24 = 0xfff1;\n    is_dynamic = false;\n    binding = (uVar25 << 4) >> 0x1c;\n  }" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (compound_statement "{\n    is_ordinary = SUB41((uVar25 << 0x1d) >> 0x1f,0);\n    if ((uVar25 & 0xe000) != 0) {\n      iVar27 = *(int *)(pcVar31 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xaa,iVar27);\n      iVar27 = iVar27 + -0x71bc;\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xa1,iVar27);\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + -0x9b8,0x5c,iVar27 + -0x71c4)\n      ;\n      iVar28 = 0x1ea;\n      pcVar30 = *(code **)(pcVar31 + 0x1b4dac);\n      iVar27 = *(int *)(pcVar31 + 0x1b45f8) + 0x4570;\n      (*pcVar30)(iVar27,0x1ea,*(int *)(pcVar31 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar27 + 0x10) == 0) && (*(int *)(iVar28 + 0x10) == 0)) {\n        if ((*(int *)(iVar27 + 0x14) == 0) && (*(int *)(iVar28 + 0x14) == 0)) {\n          iVar21 = *(int *)(iVar27 + 0x1c);\n          if (iVar21 == -1) goto LAB_0030d1a4;\n          goto LAB_0030d188;\n        }\n        iVar28 = 0x3c1;\n      }\n      else {\n        iVar28 = 0x3c0;\n      }\n      while( true ) {\n        while( true ) {\n          iVar27 = *(int *)(pcVar30 + 0x1b41a8) + -0x7758;\n          iVar21 = (**(code **)(pcVar30 + 0x1b48fc))\n                             (iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4);\nLAB_0030d1a4:\n          if (*(int *)(iVar28 + 0x1c) == iVar21) break;\nLAB_0030d188:\n          iVar28 = 0x3c3;\n        }\n        if ((*(int *)(iVar27 + 0x18) == *(int *)(iVar28 + 0x1c)) &&\n           (*(int *)(iVar28 + 0x18) == *(int *)(iVar27 + 0x18))) break;\n        iVar28 = 0x3c4;\n      }\n      if (*(int *)(iVar28 + 4) == 0) {\n        *(undefined4 *)(iVar27 + 4) = 0;\n      }\n      uVar22 = *(uint *)(iVar27 + 0x28);\n      uVar26 = *(undefined4 *)(iVar28 + 8);\n      uVar24 = *(uint *)(iVar28 + 0x28) & 0xf0000000;\n      *(undefined4 *)(iVar27 + 0xc) = *(undefined4 *)(iVar28 + 0xc);\n      *(undefined4 *)(iVar27 + 8) = uVar26;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfffffff | uVar24;\n      uVar25 = ((uint)(*(int *)(iVar28 + 0x28) << 4) >> 0x1c) << 0x18;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n      uVar1 = ((uint)(*(int *)(iVar28 + 0x28) << 8) >> 0x1e) << 0x16;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar1;\n      uVar2 = ((uint)(*(int *)(iVar28 + 0x28) << 10) >> 0x1a) << 0x10;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar1 | uVar2;\n      uVar3 = ((uint)(*(int *)(iVar28 + 0x28) << 0x10) >> 0x1d) << 0xd;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3;\n      uVar4 = ((uint)(*(int *)(iVar28 + 0x28) << 0x13) >> 0x1f) << 0xc;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4;\n      uVar5 = ((uint)(*(int *)(iVar28 + 0x28) << 0x14) >> 0x1f) << 0xb;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5;\n      uVar6 = ((uint)(*(int *)(iVar28 + 0x28) << 0x15) >> 0x1f) << 10;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6;\n      uVar7 = ((uint)(*(int *)(iVar28 + 0x28) << 0x16) >> 0x1f) << 9;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7;\n      uVar8 = ((uint)(*(int *)(iVar28 + 0x28) << 0x17) >> 0x1f) << 8;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8;\n      uVar9 = ((uint)(*(int *)(iVar28 + 0x28) << 0x18) >> 0x1f) << 7;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9;\n      uVar10 = ((uint)(*(int *)(iVar28 + 0x28) << 0x19) >> 0x1f) << 6;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10;\n      uVar11 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1a) >> 0x1f) << 5;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11;\n      uVar12 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1b) >> 0x1f) << 4;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n      bVar15 = *(byte *)(iVar27 + 0x2c);\n      uVar13 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1d) >> 0x1f) << 2;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n      uVar14 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1e) >> 0x1f) << 1;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14;\n      uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14 |\n               *(uint *)(iVar28 + 0x28) & 1;\n      *(uint *)(iVar27 + 0x28) = uVar24;\n      bVar16 = (byte)((*(uint *)(iVar28 + 0x2c) >> 0x1f) << 7);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x7f | bVar16;\n      bVar17 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 1) >> 0x1f) << 6);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x3f | bVar16 | bVar17;\n      bVar18 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 2) >> 0x1f) << 5);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x1f | bVar16 | bVar17 | bVar18;\n      bVar19 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 3) >> 0x1f) << 4);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0xf | bVar16 | bVar17 | bVar18 | bVar19;\n      *(byte *)(iVar27 + 0x2c) =\n           bVar15 & 7 | bVar16 | bVar17 | bVar18 | bVar19 |\n           (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f) << 3);\n      if ((int)(uVar24 << 0x1c) < 0) {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }\n      else {\n        pSVar23 = (Sized_symbol<32> *)((uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f);\n      }\n      return pSVar23;\n    }\n    uVar24 = (to->u2_).shndx;\n    binding = (uVar25 << 4) >> 0x1c;\n    is_dynamic = SUB41((uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage >> 0x1f,0);\n  }" { (expression_statement "is_ordinary = SUB41((uVar25 << 0x1d) >> 0x1f,0);" (assignment_expression "is_ordinary = SUB41((uVar25 << 0x1d) >> 0x1f,0)" identifier = (call_expression "SUB41((uVar25 << 0x1d) >> 0x1f,0)" identifier (argument_list "((uVar25 << 0x1d) >> 0x1f,0)" ( (binary_expression "(uVar25 << 0x1d) >> 0x1f" (parenthesized_expression "(uVar25 << 0x1d)" ( (binary_expression "uVar25 << 0x1d" identifier << number_literal) )) >> number_literal) , number_literal )))) ;) (if_statement "if ((uVar25 & 0xe000) != 0) {\n      iVar27 = *(int *)(pcVar31 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xaa,iVar27);\n      iVar27 = iVar27 + -0x71bc;\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xa1,iVar27);\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + -0x9b8,0x5c,iVar27 + -0x71c4)\n      ;\n      iVar28 = 0x1ea;\n      pcVar30 = *(code **)(pcVar31 + 0x1b4dac);\n      iVar27 = *(int *)(pcVar31 + 0x1b45f8) + 0x4570;\n      (*pcVar30)(iVar27,0x1ea,*(int *)(pcVar31 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar27 + 0x10) == 0) && (*(int *)(iVar28 + 0x10) == 0)) {\n        if ((*(int *)(iVar27 + 0x14) == 0) && (*(int *)(iVar28 + 0x14) == 0)) {\n          iVar21 = *(int *)(iVar27 + 0x1c);\n          if (iVar21 == -1) goto LAB_0030d1a4;\n          goto LAB_0030d188;\n        }\n        iVar28 = 0x3c1;\n      }\n      else {\n        iVar28 = 0x3c0;\n      }\n      while( true ) {\n        while( true ) {\n          iVar27 = *(int *)(pcVar30 + 0x1b41a8) + -0x7758;\n          iVar21 = (**(code **)(pcVar30 + 0x1b48fc))\n                             (iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4);\nLAB_0030d1a4:\n          if (*(int *)(iVar28 + 0x1c) == iVar21) break;\nLAB_0030d188:\n          iVar28 = 0x3c3;\n        }\n        if ((*(int *)(iVar27 + 0x18) == *(int *)(iVar28 + 0x1c)) &&\n           (*(int *)(iVar28 + 0x18) == *(int *)(iVar27 + 0x18))) break;\n        iVar28 = 0x3c4;\n      }\n      if (*(int *)(iVar28 + 4) == 0) {\n        *(undefined4 *)(iVar27 + 4) = 0;\n      }\n      uVar22 = *(uint *)(iVar27 + 0x28);\n      uVar26 = *(undefined4 *)(iVar28 + 8);\n      uVar24 = *(uint *)(iVar28 + 0x28) & 0xf0000000;\n      *(undefined4 *)(iVar27 + 0xc) = *(undefined4 *)(iVar28 + 0xc);\n      *(undefined4 *)(iVar27 + 8) = uVar26;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfffffff | uVar24;\n      uVar25 = ((uint)(*(int *)(iVar28 + 0x28) << 4) >> 0x1c) << 0x18;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n      uVar1 = ((uint)(*(int *)(iVar28 + 0x28) << 8) >> 0x1e) << 0x16;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar1;\n      uVar2 = ((uint)(*(int *)(iVar28 + 0x28) << 10) >> 0x1a) << 0x10;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar1 | uVar2;\n      uVar3 = ((uint)(*(int *)(iVar28 + 0x28) << 0x10) >> 0x1d) << 0xd;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3;\n      uVar4 = ((uint)(*(int *)(iVar28 + 0x28) << 0x13) >> 0x1f) << 0xc;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4;\n      uVar5 = ((uint)(*(int *)(iVar28 + 0x28) << 0x14) >> 0x1f) << 0xb;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5;\n      uVar6 = ((uint)(*(int *)(iVar28 + 0x28) << 0x15) >> 0x1f) << 10;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6;\n      uVar7 = ((uint)(*(int *)(iVar28 + 0x28) << 0x16) >> 0x1f) << 9;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7;\n      uVar8 = ((uint)(*(int *)(iVar28 + 0x28) << 0x17) >> 0x1f) << 8;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8;\n      uVar9 = ((uint)(*(int *)(iVar28 + 0x28) << 0x18) >> 0x1f) << 7;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9;\n      uVar10 = ((uint)(*(int *)(iVar28 + 0x28) << 0x19) >> 0x1f) << 6;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10;\n      uVar11 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1a) >> 0x1f) << 5;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11;\n      uVar12 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1b) >> 0x1f) << 4;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n      bVar15 = *(byte *)(iVar27 + 0x2c);\n      uVar13 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1d) >> 0x1f) << 2;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n      uVar14 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1e) >> 0x1f) << 1;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14;\n      uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14 |\n               *(uint *)(iVar28 + 0x28) & 1;\n      *(uint *)(iVar27 + 0x28) = uVar24;\n      bVar16 = (byte)((*(uint *)(iVar28 + 0x2c) >> 0x1f) << 7);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x7f | bVar16;\n      bVar17 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 1) >> 0x1f) << 6);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x3f | bVar16 | bVar17;\n      bVar18 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 2) >> 0x1f) << 5);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x1f | bVar16 | bVar17 | bVar18;\n      bVar19 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 3) >> 0x1f) << 4);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0xf | bVar16 | bVar17 | bVar18 | bVar19;\n      *(byte *)(iVar27 + 0x2c) =\n           bVar15 & 7 | bVar16 | bVar17 | bVar18 | bVar19 |\n           (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f) << 3);\n      if ((int)(uVar24 << 0x1c) < 0) {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }\n      else {\n        pSVar23 = (Sized_symbol<32> *)((uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f);\n      }\n      return pSVar23;\n    }" if (parenthesized_expression "((uVar25 & 0xe000) != 0)" ( (binary_expression "(uVar25 & 0xe000) != 0" (parenthesized_expression "(uVar25 & 0xe000)" ( (binary_expression "uVar25 & 0xe000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar27 = *(int *)(pcVar31 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xaa,iVar27);\n      iVar27 = iVar27 + -0x71bc;\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xa1,iVar27);\n      (**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + -0x9b8,0x5c,iVar27 + -0x71c4)\n      ;\n      iVar28 = 0x1ea;\n      pcVar30 = *(code **)(pcVar31 + 0x1b4dac);\n      iVar27 = *(int *)(pcVar31 + 0x1b45f8) + 0x4570;\n      (*pcVar30)(iVar27,0x1ea,*(int *)(pcVar31 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar27 + 0x10) == 0) && (*(int *)(iVar28 + 0x10) == 0)) {\n        if ((*(int *)(iVar27 + 0x14) == 0) && (*(int *)(iVar28 + 0x14) == 0)) {\n          iVar21 = *(int *)(iVar27 + 0x1c);\n          if (iVar21 == -1) goto LAB_0030d1a4;\n          goto LAB_0030d188;\n        }\n        iVar28 = 0x3c1;\n      }\n      else {\n        iVar28 = 0x3c0;\n      }\n      while( true ) {\n        while( true ) {\n          iVar27 = *(int *)(pcVar30 + 0x1b41a8) + -0x7758;\n          iVar21 = (**(code **)(pcVar30 + 0x1b48fc))\n                             (iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4);\nLAB_0030d1a4:\n          if (*(int *)(iVar28 + 0x1c) == iVar21) break;\nLAB_0030d188:\n          iVar28 = 0x3c3;\n        }\n        if ((*(int *)(iVar27 + 0x18) == *(int *)(iVar28 + 0x1c)) &&\n           (*(int *)(iVar28 + 0x18) == *(int *)(iVar27 + 0x18))) break;\n        iVar28 = 0x3c4;\n      }\n      if (*(int *)(iVar28 + 4) == 0) {\n        *(undefined4 *)(iVar27 + 4) = 0;\n      }\n      uVar22 = *(uint *)(iVar27 + 0x28);\n      uVar26 = *(undefined4 *)(iVar28 + 8);\n      uVar24 = *(uint *)(iVar28 + 0x28) & 0xf0000000;\n      *(undefined4 *)(iVar27 + 0xc) = *(undefined4 *)(iVar28 + 0xc);\n      *(undefined4 *)(iVar27 + 8) = uVar26;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfffffff | uVar24;\n      uVar25 = ((uint)(*(int *)(iVar28 + 0x28) << 4) >> 0x1c) << 0x18;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n      uVar1 = ((uint)(*(int *)(iVar28 + 0x28) << 8) >> 0x1e) << 0x16;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar1;\n      uVar2 = ((uint)(*(int *)(iVar28 + 0x28) << 10) >> 0x1a) << 0x10;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar1 | uVar2;\n      uVar3 = ((uint)(*(int *)(iVar28 + 0x28) << 0x10) >> 0x1d) << 0xd;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3;\n      uVar4 = ((uint)(*(int *)(iVar28 + 0x28) << 0x13) >> 0x1f) << 0xc;\n      *(uint *)(iVar27 + 0x28) = uVar22 & 0xfff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4;\n      uVar5 = ((uint)(*(int *)(iVar28 + 0x28) << 0x14) >> 0x1f) << 0xb;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5;\n      uVar6 = ((uint)(*(int *)(iVar28 + 0x28) << 0x15) >> 0x1f) << 10;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6;\n      uVar7 = ((uint)(*(int *)(iVar28 + 0x28) << 0x16) >> 0x1f) << 9;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7;\n      uVar8 = ((uint)(*(int *)(iVar28 + 0x28) << 0x17) >> 0x1f) << 8;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8;\n      uVar9 = ((uint)(*(int *)(iVar28 + 0x28) << 0x18) >> 0x1f) << 7;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9;\n      uVar10 = ((uint)(*(int *)(iVar28 + 0x28) << 0x19) >> 0x1f) << 6;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10;\n      uVar11 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1a) >> 0x1f) << 5;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11;\n      uVar12 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1b) >> 0x1f) << 4;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n      bVar15 = *(byte *)(iVar27 + 0x2c);\n      uVar13 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1d) >> 0x1f) << 2;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n      uVar14 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1e) >> 0x1f) << 1;\n      *(uint *)(iVar27 + 0x28) =\n           uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14;\n      uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14 |\n               *(uint *)(iVar28 + 0x28) & 1;\n      *(uint *)(iVar27 + 0x28) = uVar24;\n      bVar16 = (byte)((*(uint *)(iVar28 + 0x2c) >> 0x1f) << 7);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x7f | bVar16;\n      bVar17 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 1) >> 0x1f) << 6);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x3f | bVar16 | bVar17;\n      bVar18 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 2) >> 0x1f) << 5);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0x1f | bVar16 | bVar17 | bVar18;\n      bVar19 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 3) >> 0x1f) << 4);\n      *(byte *)(iVar27 + 0x2c) = bVar15 & 0xf | bVar16 | bVar17 | bVar18 | bVar19;\n      *(byte *)(iVar27 + 0x2c) =\n           bVar15 & 7 | bVar16 | bVar17 | bVar18 | bVar19 |\n           (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f) << 3);\n      if ((int)(uVar24 << 0x1c) < 0) {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }\n      else {\n        pSVar23 = (Sized_symbol<32> *)((uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f);\n      }\n      return pSVar23;\n    }" { (expression_statement "iVar27 = *(int *)(pcVar31 + 0x1b4658) + -0x71a8;" (assignment_expression "iVar27 = *(int *)(pcVar31 + 0x1b4658) + -0x71a8" identifier = (binary_expression "*(int *)(pcVar31 + 0x1b4658) + -0x71a8" (pointer_expression "*(int *)(pcVar31 + 0x1b4658)" * (cast_expression "(int *)(pcVar31 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x1b4658)" ( (binary_expression "pcVar31 + 0x1b4658" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xaa,iVar27);" (call_expression "(**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xaa,iVar27)" (parenthesized_expression "(**(code **)(pcVar31 + 0x1b4dac))" ( (pointer_expression "**(code **)(pcVar31 + 0x1b4dac)" * (pointer_expression "*(code **)(pcVar31 + 0x1b4dac)" * (cast_expression "(code **)(pcVar31 + 0x1b4dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x1b4dac)" ( (binary_expression "pcVar31 + 0x1b4dac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xaa,iVar27)" ( (binary_expression "*(int *)(pcVar31 + 0x1b45f8) + 0x3860" (pointer_expression "*(int *)(pcVar31 + 0x1b45f8)" * (cast_expression "(int *)(pcVar31 + 0x1b45f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x1b45f8)" ( (binary_expression "pcVar31 + 0x1b45f8" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (expression_statement "iVar27 = iVar27 + -0x71bc;" (assignment_expression "iVar27 = iVar27 + -0x71bc" identifier = (binary_expression "iVar27 + -0x71bc" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xa1,iVar27);" (call_expression "(**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xa1,iVar27)" (parenthesized_expression "(**(code **)(pcVar31 + 0x1b4dac))" ( (pointer_expression "**(code **)(pcVar31 + 0x1b4dac)" * (pointer_expression "*(code **)(pcVar31 + 0x1b4dac)" * (cast_expression "(code **)(pcVar31 + 0x1b4dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x1b4dac)" ( (binary_expression "pcVar31 + 0x1b4dac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar31 + 0x1b45f8) + 0x3860,0xa1,iVar27)" ( (binary_expression "*(int *)(pcVar31 + 0x1b45f8) + 0x3860" (pointer_expression "*(int *)(pcVar31 + 0x1b45f8)" * (cast_expression "(int *)(pcVar31 + 0x1b45f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x1b45f8)" ( (binary_expression "pcVar31 + 0x1b45f8" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (expression_statement "(**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + -0x9b8,0x5c,iVar27 + -0x71c4)\n      ;" (call_expression "(**(code **)(pcVar31 + 0x1b4dac))(*(int *)(pcVar31 + 0x1b45f8) + -0x9b8,0x5c,iVar27 + -0x71c4)" (parenthesized_expression "(**(code **)(pcVar31 + 0x1b4dac))" ( (pointer_expression "**(code **)(pcVar31 + 0x1b4dac)" * (pointer_expression "*(code **)(pcVar31 + 0x1b4dac)" * (cast_expression "(code **)(pcVar31 + 0x1b4dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x1b4dac)" ( (binary_expression "pcVar31 + 0x1b4dac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar31 + 0x1b45f8) + -0x9b8,0x5c,iVar27 + -0x71c4)" ( (binary_expression "*(int *)(pcVar31 + 0x1b45f8) + -0x9b8" (pointer_expression "*(int *)(pcVar31 + 0x1b45f8)" * (cast_expression "(int *)(pcVar31 + 0x1b45f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x1b45f8)" ( (binary_expression "pcVar31 + 0x1b45f8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar27 + -0x71c4" identifier + number_literal) ))) ;) (expression_statement "iVar28 = 0x1ea;" (assignment_expression "iVar28 = 0x1ea" identifier = number_literal) ;) (expression_statement "pcVar30 = *(code **)(pcVar31 + 0x1b4dac);" (assignment_expression "pcVar30 = *(code **)(pcVar31 + 0x1b4dac)" identifier = (pointer_expression "*(code **)(pcVar31 + 0x1b4dac)" * (cast_expression "(code **)(pcVar31 + 0x1b4dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x1b4dac)" ( (binary_expression "pcVar31 + 0x1b4dac" identifier + number_literal) ))))) ;) (expression_statement "iVar27 = *(int *)(pcVar31 + 0x1b45f8) + 0x4570;" (assignment_expression "iVar27 = *(int *)(pcVar31 + 0x1b45f8) + 0x4570" identifier = (binary_expression "*(int *)(pcVar31 + 0x1b45f8) + 0x4570" (pointer_expression "*(int *)(pcVar31 + 0x1b45f8)" * (cast_expression "(int *)(pcVar31 + 0x1b45f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x1b45f8)" ( (binary_expression "pcVar31 + 0x1b45f8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar30)(iVar27,0x1ea,*(int *)(pcVar31 + 0x1b4658) + -0x71b4);" (call_expression "(*pcVar30)(iVar27,0x1ea,*(int *)(pcVar31 + 0x1b4658) + -0x71b4)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(iVar27,0x1ea,*(int *)(pcVar31 + 0x1b4658) + -0x71b4)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar31 + 0x1b4658) + -0x71b4" (pointer_expression "*(int *)(pcVar31 + 0x1b4658)" * (cast_expression "(int *)(pcVar31 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x1b4658)" ( (binary_expression "pcVar31 + 0x1b4658" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if ((*(int *)(iVar27 + 0x10) == 0) && (*(int *)(iVar28 + 0x10) == 0)) {\n        if ((*(int *)(iVar27 + 0x14) == 0) && (*(int *)(iVar28 + 0x14) == 0)) {\n          iVar21 = *(int *)(iVar27 + 0x1c);\n          if (iVar21 == -1) goto LAB_0030d1a4;\n          goto LAB_0030d188;\n        }\n        iVar28 = 0x3c1;\n      }\n      else {\n        iVar28 = 0x3c0;\n      }" if (parenthesized_expression "((*(int *)(iVar27 + 0x10) == 0) && (*(int *)(iVar28 + 0x10) == 0))" ( (binary_expression "(*(int *)(iVar27 + 0x10) == 0) && (*(int *)(iVar28 + 0x10) == 0)" (parenthesized_expression "(*(int *)(iVar27 + 0x10) == 0)" ( (binary_expression "*(int *)(iVar27 + 0x10) == 0" (pointer_expression "*(int *)(iVar27 + 0x10)" * (cast_expression "(int *)(iVar27 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x10)" ( (binary_expression "iVar27 + 0x10" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar28 + 0x10) == 0)" ( (binary_expression "*(int *)(iVar28 + 0x10) == 0" (pointer_expression "*(int *)(iVar28 + 0x10)" * (cast_expression "(int *)(iVar28 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x10)" ( (binary_expression "iVar28 + 0x10" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        if ((*(int *)(iVar27 + 0x14) == 0) && (*(int *)(iVar28 + 0x14) == 0)) {\n          iVar21 = *(int *)(iVar27 + 0x1c);\n          if (iVar21 == -1) goto LAB_0030d1a4;\n          goto LAB_0030d188;\n        }\n        iVar28 = 0x3c1;\n      }" { (if_statement "if ((*(int *)(iVar27 + 0x14) == 0) && (*(int *)(iVar28 + 0x14) == 0)) {\n          iVar21 = *(int *)(iVar27 + 0x1c);\n          if (iVar21 == -1) goto LAB_0030d1a4;\n          goto LAB_0030d188;\n        }" if (parenthesized_expression "((*(int *)(iVar27 + 0x14) == 0) && (*(int *)(iVar28 + 0x14) == 0))" ( (binary_expression "(*(int *)(iVar27 + 0x14) == 0) && (*(int *)(iVar28 + 0x14) == 0)" (parenthesized_expression "(*(int *)(iVar27 + 0x14) == 0)" ( (binary_expression "*(int *)(iVar27 + 0x14) == 0" (pointer_expression "*(int *)(iVar27 + 0x14)" * (cast_expression "(int *)(iVar27 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x14)" ( (binary_expression "iVar27 + 0x14" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar28 + 0x14) == 0)" ( (binary_expression "*(int *)(iVar28 + 0x14) == 0" (pointer_expression "*(int *)(iVar28 + 0x14)" * (cast_expression "(int *)(iVar28 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x14)" ( (binary_expression "iVar28 + 0x14" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          iVar21 = *(int *)(iVar27 + 0x1c);\n          if (iVar21 == -1) goto LAB_0030d1a4;\n          goto LAB_0030d188;\n        }" { (expression_statement "iVar21 = *(int *)(iVar27 + 0x1c);" (assignment_expression "iVar21 = *(int *)(iVar27 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar27 + 0x1c)" * (cast_expression "(int *)(iVar27 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1c)" ( (binary_expression "iVar27 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar21 == -1) goto LAB_0030d1a4;" if (parenthesized_expression "(iVar21 == -1)" ( (binary_expression "iVar21 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0030d1a4;" goto statement_identifier ;)) (goto_statement "goto LAB_0030d188;" goto statement_identifier ;) })) (expression_statement "iVar28 = 0x3c1;" (assignment_expression "iVar28 = 0x3c1" identifier = number_literal) ;) }) (else_clause "else {\n        iVar28 = 0x3c0;\n      }" else (compound_statement "{\n        iVar28 = 0x3c0;\n      }" { (expression_statement "iVar28 = 0x3c0;" (assignment_expression "iVar28 = 0x3c0" identifier = number_literal) ;) }))) (while_statement "while( true ) {\n        while( true ) {\n          iVar27 = *(int *)(pcVar30 + 0x1b41a8) + -0x7758;\n          iVar21 = (**(code **)(pcVar30 + 0x1b48fc))\n                             (iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4);\nLAB_0030d1a4:\n          if (*(int *)(iVar28 + 0x1c) == iVar21) break;\nLAB_0030d188:\n          iVar28 = 0x3c3;\n        }\n        if ((*(int *)(iVar27 + 0x18) == *(int *)(iVar28 + 0x1c)) &&\n           (*(int *)(iVar28 + 0x18) == *(int *)(iVar27 + 0x18))) break;\n        iVar28 = 0x3c4;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        while( true ) {\n          iVar27 = *(int *)(pcVar30 + 0x1b41a8) + -0x7758;\n          iVar21 = (**(code **)(pcVar30 + 0x1b48fc))\n                             (iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4);\nLAB_0030d1a4:\n          if (*(int *)(iVar28 + 0x1c) == iVar21) break;\nLAB_0030d188:\n          iVar28 = 0x3c3;\n        }\n        if ((*(int *)(iVar27 + 0x18) == *(int *)(iVar28 + 0x1c)) &&\n           (*(int *)(iVar28 + 0x18) == *(int *)(iVar27 + 0x18))) break;\n        iVar28 = 0x3c4;\n      }" { (while_statement "while( true ) {\n          iVar27 = *(int *)(pcVar30 + 0x1b41a8) + -0x7758;\n          iVar21 = (**(code **)(pcVar30 + 0x1b48fc))\n                             (iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4);\nLAB_0030d1a4:\n          if (*(int *)(iVar28 + 0x1c) == iVar21) break;\nLAB_0030d188:\n          iVar28 = 0x3c3;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          iVar27 = *(int *)(pcVar30 + 0x1b41a8) + -0x7758;\n          iVar21 = (**(code **)(pcVar30 + 0x1b48fc))\n                             (iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4);\nLAB_0030d1a4:\n          if (*(int *)(iVar28 + 0x1c) == iVar21) break;\nLAB_0030d188:\n          iVar28 = 0x3c3;\n        }" { (expression_statement "iVar27 = *(int *)(pcVar30 + 0x1b41a8) + -0x7758;" (assignment_expression "iVar27 = *(int *)(pcVar30 + 0x1b41a8) + -0x7758" identifier = (binary_expression "*(int *)(pcVar30 + 0x1b41a8) + -0x7758" (pointer_expression "*(int *)(pcVar30 + 0x1b41a8)" * (cast_expression "(int *)(pcVar30 + 0x1b41a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x1b41a8)" ( (binary_expression "pcVar30 + 0x1b41a8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar21 = (**(code **)(pcVar30 + 0x1b48fc))\n                             (iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4);" (assignment_expression "iVar21 = (**(code **)(pcVar30 + 0x1b48fc))\n                             (iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4)" identifier = (call_expression "(**(code **)(pcVar30 + 0x1b48fc))\n                             (iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4)" (parenthesized_expression "(**(code **)(pcVar30 + 0x1b48fc))" ( (pointer_expression "**(code **)(pcVar30 + 0x1b48fc)" * (pointer_expression "*(code **)(pcVar30 + 0x1b48fc)" * (cast_expression "(code **)(pcVar30 + 0x1b48fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1b48fc)" ( (binary_expression "pcVar30 + 0x1b48fc" identifier + number_literal) ))))) )) (argument_list "(iVar27,iVar28,*(int *)(pcVar30 + 0x1b41a8) + -0x71e4)" ( identifier , identifier , (binary_expression "*(int *)(pcVar30 + 0x1b41a8) + -0x71e4" (pointer_expression "*(int *)(pcVar30 + 0x1b41a8)" * (cast_expression "(int *)(pcVar30 + 0x1b41a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x1b41a8)" ( (binary_expression "pcVar30 + 0x1b41a8" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_0030d1a4:\n          if (*(int *)(iVar28 + 0x1c) == iVar21) break;" statement_identifier : (if_statement "if (*(int *)(iVar28 + 0x1c) == iVar21) break;" if (parenthesized_expression "(*(int *)(iVar28 + 0x1c) == iVar21)" ( (binary_expression "*(int *)(iVar28 + 0x1c) == iVar21" (pointer_expression "*(int *)(iVar28 + 0x1c)" * (cast_expression "(int *)(iVar28 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x1c)" ( (binary_expression "iVar28 + 0x1c" identifier + number_literal) )))) == identifier) )) (break_statement "break;" break ;))) (labeled_statement "LAB_0030d188:\n          iVar28 = 0x3c3;" statement_identifier : (expression_statement "iVar28 = 0x3c3;" (assignment_expression "iVar28 = 0x3c3" identifier = number_literal) ;)) })) (if_statement "if ((*(int *)(iVar27 + 0x18) == *(int *)(iVar28 + 0x1c)) &&\n           (*(int *)(iVar28 + 0x18) == *(int *)(iVar27 + 0x18))) break;" if (parenthesized_expression "((*(int *)(iVar27 + 0x18) == *(int *)(iVar28 + 0x1c)) &&\n           (*(int *)(iVar28 + 0x18) == *(int *)(iVar27 + 0x18)))" ( (binary_expression "(*(int *)(iVar27 + 0x18) == *(int *)(iVar28 + 0x1c)) &&\n           (*(int *)(iVar28 + 0x18) == *(int *)(iVar27 + 0x18))" (parenthesized_expression "(*(int *)(iVar27 + 0x18) == *(int *)(iVar28 + 0x1c))" ( (binary_expression "*(int *)(iVar27 + 0x18) == *(int *)(iVar28 + 0x1c)" (pointer_expression "*(int *)(iVar27 + 0x18)" * (cast_expression "(int *)(iVar27 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x18)" ( (binary_expression "iVar27 + 0x18" identifier + number_literal) )))) == (pointer_expression "*(int *)(iVar28 + 0x1c)" * (cast_expression "(int *)(iVar28 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x1c)" ( (binary_expression "iVar28 + 0x1c" identifier + number_literal) ))))) )) && (parenthesized_expression "(*(int *)(iVar28 + 0x18) == *(int *)(iVar27 + 0x18))" ( (binary_expression "*(int *)(iVar28 + 0x18) == *(int *)(iVar27 + 0x18)" (pointer_expression "*(int *)(iVar28 + 0x18)" * (cast_expression "(int *)(iVar28 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x18)" ( (binary_expression "iVar28 + 0x18" identifier + number_literal) )))) == (pointer_expression "*(int *)(iVar27 + 0x18)" * (cast_expression "(int *)(iVar27 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x18)" ( (binary_expression "iVar27 + 0x18" identifier + number_literal) ))))) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar28 = 0x3c4;" (assignment_expression "iVar28 = 0x3c4" identifier = number_literal) ;) })) (if_statement "if (*(int *)(iVar28 + 4) == 0) {\n        *(undefined4 *)(iVar27 + 4) = 0;\n      }" if (parenthesized_expression "(*(int *)(iVar28 + 4) == 0)" ( (binary_expression "*(int *)(iVar28 + 4) == 0" (pointer_expression "*(int *)(iVar28 + 4)" * (cast_expression "(int *)(iVar28 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 4)" ( (binary_expression "iVar28 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        *(undefined4 *)(iVar27 + 4) = 0;\n      }" { (expression_statement "*(undefined4 *)(iVar27 + 4) = 0;" (assignment_expression "*(undefined4 *)(iVar27 + 4) = 0" (pointer_expression "*(undefined4 *)(iVar27 + 4)" * (cast_expression "(undefined4 *)(iVar27 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 4)" ( (binary_expression "iVar27 + 4" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "uVar22 = *(uint *)(iVar27 + 0x28);" (assignment_expression "uVar22 = *(uint *)(iVar27 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar26 = *(undefined4 *)(iVar28 + 8);" (assignment_expression "uVar26 = *(undefined4 *)(iVar28 + 8)" identifier = (pointer_expression "*(undefined4 *)(iVar28 + 8)" * (cast_expression "(undefined4 *)(iVar28 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 8)" ( (binary_expression "iVar28 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = *(uint *)(iVar28 + 0x28) & 0xf0000000;" (assignment_expression "uVar24 = *(uint *)(iVar28 + 0x28) & 0xf0000000" identifier = (binary_expression "*(uint *)(iVar28 + 0x28) & 0xf0000000" (pointer_expression "*(uint *)(iVar28 + 0x28)" * (cast_expression "(uint *)(iVar28 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*(undefined4 *)(iVar27 + 0xc) = *(undefined4 *)(iVar28 + 0xc);" (assignment_expression "*(undefined4 *)(iVar27 + 0xc) = *(undefined4 *)(iVar28 + 0xc)" (pointer_expression "*(undefined4 *)(iVar27 + 0xc)" * (cast_expression "(undefined4 *)(iVar27 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0xc)" ( (binary_expression "iVar27 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar28 + 0xc)" * (cast_expression "(undefined4 *)(iVar28 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0xc)" ( (binary_expression "iVar28 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar27 + 8) = uVar26;" (assignment_expression "*(undefined4 *)(iVar27 + 8) = uVar26" (pointer_expression "*(undefined4 *)(iVar27 + 8)" * (cast_expression "(undefined4 *)(iVar27 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 8)" ( (binary_expression "iVar27 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar27 + 0x28) = uVar22 & 0xfffffff | uVar24;" (assignment_expression "*(uint *)(iVar27 + 0x28) = uVar22 & 0xfffffff | uVar24" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xfffffff | uVar24" (binary_expression "uVar22 & 0xfffffff" identifier & number_literal) | identifier)) ;) (expression_statement "uVar25 = ((uint)(*(int *)(iVar28 + 0x28) << 4) >> 0x1c) << 0x18;" (assignment_expression "uVar25 = ((uint)(*(int *)(iVar28 + 0x28) << 4) >> 0x1c) << 0x18" identifier = (binary_expression "((uint)(*(int *)(iVar28 + 0x28) << 4) >> 0x1c) << 0x18" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x28) << 4) >> 0x1c)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x28) << 4) >> 0x1c" (call_expression "(uint)(*(int *)(iVar28 + 0x28) << 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x28) << 4)" ( (binary_expression "*(int *)(iVar28 + 0x28) << 4" (pointer_expression "*(int *)(iVar28 + 0x28)" * (cast_expression "(int *)(iVar28 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar27 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;" (assignment_expression "*(uint *)(iVar27 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xffffff | uVar24 | uVar25" (binary_expression "uVar22 & 0xffffff | uVar24" (binary_expression "uVar22 & 0xffffff" identifier & number_literal) | identifier) | identifier)) ;) (expression_statement "uVar1 = ((uint)(*(int *)(iVar28 + 0x28) << 8) >> 0x1e) << 0x16;" (assignment_expression "uVar1 = ((uint)(*(int *)(iVar28 + 0x28) << 8) >> 0x1e) << 0x16" identifier = (binary_expression "((uint)(*(int *)(iVar28 + 0x28) << 8) >> 0x1e) << 0x16" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x28) << 8) >> 0x1e)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x28) << 8) >> 0x1e" (call_expression "(uint)(*(int *)(iVar28 + 0x28) << 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x28) << 8)" ( (binary_expression "*(int *)(iVar28 + 0x28) << 8" (pointer_expression "*(int *)(iVar28 + 0x28)" * (cast_expression "(int *)(iVar28 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar27 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar1;" (assignment_expression "*(uint *)(iVar27 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar1" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x3fffff | uVar24 | uVar25 | uVar1" (binary_expression "uVar22 & 0x3fffff | uVar24 | uVar25" (binary_expression "uVar22 & 0x3fffff | uVar24" (binary_expression "uVar22 & 0x3fffff" identifier & number_literal) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar2 = ((uint)(*(int *)(iVar28 + 0x28) << 10) >> 0x1a) << 0x10;" (assignment_expression "uVar2 = ((uint)(*(int *)(iVar28 + 0x28) << 10) >> 0x1a) << 0x10" identifier = (binary_expression "((uint)(*(int *)(iVar28 + 0x28) << 10) >> 0x1a) << 0x10" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x28) << 10) >> 0x1a)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x28) << 10) >> 0x1a" (call_expression "(uint)(*(int *)(iVar28 + 0x28) << 10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x28) << 10)" ( (binary_expression "*(int *)(iVar28 + 0x28) << 10" (pointer_expression "*(int *)(iVar28 + 0x28)" * (cast_expression "(int *)(iVar28 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar27 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar1 | uVar2;" (assignment_expression "*(uint *)(iVar27 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar1 | uVar2" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xffff | uVar24 | uVar25 | uVar1 | uVar2" (binary_expression "uVar22 & 0xffff | uVar24 | uVar25 | uVar1" (binary_expression "uVar22 & 0xffff | uVar24 | uVar25" (binary_expression "uVar22 & 0xffff | uVar24" (binary_expression "uVar22 & 0xffff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar3 = ((uint)(*(int *)(iVar28 + 0x28) << 0x10) >> 0x1d) << 0xd;" (assignment_expression "uVar3 = ((uint)(*(int *)(iVar28 + 0x28) << 0x10) >> 0x1d) << 0xd" identifier = (binary_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x10) >> 0x1d) << 0xd" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x10) >> 0x1d)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x10) >> 0x1d" (call_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x28) << 0x10)" ( (binary_expression "*(int *)(iVar28 + 0x28) << 0x10" (pointer_expression "*(int *)(iVar28 + 0x28)" * (cast_expression "(int *)(iVar28 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar27 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3;" (assignment_expression "*(uint *)(iVar27 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x1fff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x1fff | uVar24 | uVar25 | uVar1 | uVar2" (binary_expression "uVar22 & 0x1fff | uVar24 | uVar25 | uVar1" (binary_expression "uVar22 & 0x1fff | uVar24 | uVar25" (binary_expression "uVar22 & 0x1fff | uVar24" (binary_expression "uVar22 & 0x1fff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar4 = ((uint)(*(int *)(iVar28 + 0x28) << 0x13) >> 0x1f) << 0xc;" (assignment_expression "uVar4 = ((uint)(*(int *)(iVar28 + 0x28) << 0x13) >> 0x1f) << 0xc" identifier = (binary_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x13) >> 0x1f) << 0xc" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x13) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x13) >> 0x1f" (call_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x28) << 0x13)" ( (binary_expression "*(int *)(iVar28 + 0x28) << 0x13" (pointer_expression "*(int *)(iVar28 + 0x28)" * (cast_expression "(int *)(iVar28 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar27 + 0x28) = uVar22 & 0xfff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4;" (assignment_expression "*(uint *)(iVar27 + 0x28) = uVar22 & 0xfff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xfff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0xfff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0xfff | uVar24 | uVar25 | uVar1 | uVar2" (binary_expression "uVar22 & 0xfff | uVar24 | uVar25 | uVar1" (binary_expression "uVar22 & 0xfff | uVar24 | uVar25" (binary_expression "uVar22 & 0xfff | uVar24" (binary_expression "uVar22 & 0xfff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar5 = ((uint)(*(int *)(iVar28 + 0x28) << 0x14) >> 0x1f) << 0xb;" (assignment_expression "uVar5 = ((uint)(*(int *)(iVar28 + 0x28) << 0x14) >> 0x1f) << 0xb" identifier = (binary_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x14) >> 0x1f) << 0xb" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x14) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x14) >> 0x1f" (call_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x28) << 0x14)" ( (binary_expression "*(int *)(iVar28 + 0x28) << 0x14" (pointer_expression "*(int *)(iVar28 + 0x28)" * (cast_expression "(int *)(iVar28 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5;" (assignment_expression "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar1 | uVar2" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar1" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25" (binary_expression "uVar22 & 0x7ff | uVar24" (binary_expression "uVar22 & 0x7ff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar6 = ((uint)(*(int *)(iVar28 + 0x28) << 0x15) >> 0x1f) << 10;" (assignment_expression "uVar6 = ((uint)(*(int *)(iVar28 + 0x28) << 0x15) >> 0x1f) << 10" identifier = (binary_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x15) >> 0x1f) << 10" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x15) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x15) >> 0x1f" (call_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x28) << 0x15)" ( (binary_expression "*(int *)(iVar28 + 0x28) << 0x15" (pointer_expression "*(int *)(iVar28 + 0x28)" * (cast_expression "(int *)(iVar28 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6;" (assignment_expression "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar1 | uVar2" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar1" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25" (binary_expression "uVar22 & 0x3ff | uVar24" (binary_expression "uVar22 & 0x3ff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar7 = ((uint)(*(int *)(iVar28 + 0x28) << 0x16) >> 0x1f) << 9;" (assignment_expression "uVar7 = ((uint)(*(int *)(iVar28 + 0x28) << 0x16) >> 0x1f) << 9" identifier = (binary_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x16) >> 0x1f) << 9" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x16) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x16) >> 0x1f" (call_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x28) << 0x16)" ( (binary_expression "*(int *)(iVar28 + 0x28) << 0x16" (pointer_expression "*(int *)(iVar28 + 0x28)" * (cast_expression "(int *)(iVar28 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7;" (assignment_expression "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar1 | uVar2" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar1" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25" (binary_expression "uVar22 & 0x1ff | uVar24" (binary_expression "uVar22 & 0x1ff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar8 = ((uint)(*(int *)(iVar28 + 0x28) << 0x17) >> 0x1f) << 8;" (assignment_expression "uVar8 = ((uint)(*(int *)(iVar28 + 0x28) << 0x17) >> 0x1f) << 8" identifier = (binary_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x17) >> 0x1f) << 8" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x17) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x17) >> 0x1f" (call_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x28) << 0x17)" ( (binary_expression "*(int *)(iVar28 + 0x28) << 0x17" (pointer_expression "*(int *)(iVar28 + 0x28)" * (cast_expression "(int *)(iVar28 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8;" (assignment_expression "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar1 | uVar2" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar1" (binary_expression "uVar22 & 0xff | uVar24 | uVar25" (binary_expression "uVar22 & 0xff | uVar24" (binary_expression "uVar22 & 0xff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar9 = ((uint)(*(int *)(iVar28 + 0x28) << 0x18) >> 0x1f) << 7;" (assignment_expression "uVar9 = ((uint)(*(int *)(iVar28 + 0x28) << 0x18) >> 0x1f) << 7" identifier = (binary_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x18) >> 0x1f) << 7" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x18) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x18) >> 0x1f" (call_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x28) << 0x18)" ( (binary_expression "*(int *)(iVar28 + 0x28) << 0x18" (pointer_expression "*(int *)(iVar28 + 0x28)" * (cast_expression "(int *)(iVar28 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9;" (assignment_expression "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar1 | uVar2" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar1" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25" (binary_expression "uVar22 & 0x7f | uVar24" (binary_expression "uVar22 & 0x7f" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar10 = ((uint)(*(int *)(iVar28 + 0x28) << 0x19) >> 0x1f) << 6;" (assignment_expression "uVar10 = ((uint)(*(int *)(iVar28 + 0x28) << 0x19) >> 0x1f) << 6" identifier = (binary_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x19) >> 0x1f) << 6" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x19) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x19) >> 0x1f" (call_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x28) << 0x19)" ( (binary_expression "*(int *)(iVar28 + 0x28) << 0x19" (pointer_expression "*(int *)(iVar28 + 0x28)" * (cast_expression "(int *)(iVar28 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10;" (assignment_expression "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar1 | uVar2" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar1" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25" (binary_expression "uVar22 & 0x3f | uVar24" (binary_expression "uVar22 & 0x3f" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar11 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1a) >> 0x1f) << 5;" (assignment_expression "uVar11 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1a) >> 0x1f) << 5" identifier = (binary_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x1a) >> 0x1f) << 5" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x1a) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x1a) >> 0x1f" (call_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x1a)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x28) << 0x1a)" ( (binary_expression "*(int *)(iVar28 + 0x28) << 0x1a" (pointer_expression "*(int *)(iVar28 + 0x28)" * (cast_expression "(int *)(iVar28 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11;" (assignment_expression "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar1 | uVar2" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar1" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25" (binary_expression "uVar22 & 0x1f | uVar24" (binary_expression "uVar22 & 0x1f" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar12 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1b) >> 0x1f) << 4;" (assignment_expression "uVar12 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1b) >> 0x1f) << 4" identifier = (binary_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x1b) >> 0x1f) << 4" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x1b) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x1b) >> 0x1f" (call_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x1b)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x28) << 0x1b)" ( (binary_expression "*(int *)(iVar28 + 0x28) << 0x1b" (pointer_expression "*(int *)(iVar28 + 0x28)" * (cast_expression "(int *)(iVar28 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12;" (assignment_expression "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar1 | uVar2" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar1" (binary_expression "uVar22 & 0xf | uVar24 | uVar25" (binary_expression "uVar22 & 0xf | uVar24" (binary_expression "uVar22 & 0xf" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "bVar15 = *(byte *)(iVar27 + 0x2c);" (assignment_expression "bVar15 = *(byte *)(iVar27 + 0x2c)" identifier = (pointer_expression "*(byte *)(iVar27 + 0x2c)" * (cast_expression "(byte *)(iVar27 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1d) >> 0x1f) << 2;" (assignment_expression "uVar13 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1d) >> 0x1f) << 2" identifier = (binary_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x1d) >> 0x1f) << 2" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x1d) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x1d) >> 0x1f" (call_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x1d)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x28) << 0x1d)" ( (binary_expression "*(int *)(iVar28 + 0x28) << 0x1d" (pointer_expression "*(int *)(iVar28 + 0x28)" * (cast_expression "(int *)(iVar28 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;" (assignment_expression "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar1 | uVar2" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar1" (binary_expression "uVar22 & 0xb | uVar24 | uVar25" (binary_expression "uVar22 & 0xb | uVar24" (binary_expression "uVar22 & 0xb" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar14 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1e) >> 0x1f) << 1;" (assignment_expression "uVar14 = ((uint)(*(int *)(iVar28 + 0x28) << 0x1e) >> 0x1f) << 1" identifier = (binary_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x1e) >> 0x1f) << 1" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x28) << 0x1e) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x1e) >> 0x1f" (call_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x1e)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x28) << 0x1e)" ( (binary_expression "*(int *)(iVar28 + 0x28) << 0x1e" (pointer_expression "*(int *)(iVar28 + 0x28)" * (cast_expression "(int *)(iVar28 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14;" (assignment_expression "*(uint *)(iVar27 + 0x28) =\n           uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8 | uVar9" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7 |\n           uVar8" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar1 | uVar2" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar1" (binary_expression "uVar22 & 9 | uVar24 | uVar25" (binary_expression "uVar22 & 9 | uVar24" (binary_expression "uVar22 & 9" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14 |\n               *(uint *)(iVar28 + 0x28) & 1;" (assignment_expression "uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14 |\n               *(uint *)(iVar28 + 0x28) & 1" identifier = (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14 |\n               *(uint *)(iVar28 + 0x28) & 1" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 | uVar14" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8 | uVar9" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7\n               | uVar8" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6 | uVar7" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 | uVar6" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar1 | uVar2" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar1" (binary_expression "uVar22 & 8 | uVar24 | uVar25" (binary_expression "uVar22 & 8 | uVar24" (binary_expression "uVar22 & 8" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | (binary_expression "*(uint *)(iVar28 + 0x28) & 1" (pointer_expression "*(uint *)(iVar28 + 0x28)" * (cast_expression "(uint *)(iVar28 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) & number_literal))) ;) (expression_statement "*(uint *)(iVar27 + 0x28) = uVar24;" (assignment_expression "*(uint *)(iVar27 + 0x28) = uVar24" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar16 = (byte)((*(uint *)(iVar28 + 0x2c) >> 0x1f) << 7);" (assignment_expression "bVar16 = (byte)((*(uint *)(iVar28 + 0x2c) >> 0x1f) << 7)" identifier = (call_expression "(byte)((*(uint *)(iVar28 + 0x2c) >> 0x1f) << 7)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((*(uint *)(iVar28 + 0x2c) >> 0x1f) << 7)" ( (binary_expression "(*(uint *)(iVar28 + 0x2c) >> 0x1f) << 7" (parenthesized_expression "(*(uint *)(iVar28 + 0x2c) >> 0x1f)" ( (binary_expression "*(uint *)(iVar28 + 0x2c) >> 0x1f" (pointer_expression "*(uint *)(iVar28 + 0x2c)" * (cast_expression "(uint *)(iVar28 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x2c)" ( (binary_expression "iVar28 + 0x2c" identifier + number_literal) )))) >> number_literal) )) << number_literal) )))) ;) (expression_statement "*(byte *)(iVar27 + 0x2c) = bVar15 & 0x7f | bVar16;" (assignment_expression "*(byte *)(iVar27 + 0x2c) = bVar15 & 0x7f | bVar16" (pointer_expression "*(byte *)(iVar27 + 0x2c)" * (cast_expression "(byte *)(iVar27 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar15 & 0x7f | bVar16" (binary_expression "bVar15 & 0x7f" identifier & number_literal) | identifier)) ;) (expression_statement "bVar17 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 1) >> 0x1f) << 6);" (assignment_expression "bVar17 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 1) >> 0x1f) << 6)" identifier = (call_expression "(byte)(((uint)(*(int *)(iVar28 + 0x2c) << 1) >> 0x1f) << 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((uint)(*(int *)(iVar28 + 0x2c) << 1) >> 0x1f) << 6)" ( (binary_expression "((uint)(*(int *)(iVar28 + 0x2c) << 1) >> 0x1f) << 6" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x2c) << 1) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x2c) << 1) >> 0x1f" (call_expression "(uint)(*(int *)(iVar28 + 0x2c) << 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x2c) << 1)" ( (binary_expression "*(int *)(iVar28 + 0x2c) << 1" (pointer_expression "*(int *)(iVar28 + 0x2c)" * (cast_expression "(int *)(iVar28 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x2c)" ( (binary_expression "iVar28 + 0x2c" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal) )))) ;) (expression_statement "*(byte *)(iVar27 + 0x2c) = bVar15 & 0x3f | bVar16 | bVar17;" (assignment_expression "*(byte *)(iVar27 + 0x2c) = bVar15 & 0x3f | bVar16 | bVar17" (pointer_expression "*(byte *)(iVar27 + 0x2c)" * (cast_expression "(byte *)(iVar27 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar15 & 0x3f | bVar16 | bVar17" (binary_expression "bVar15 & 0x3f | bVar16" (binary_expression "bVar15 & 0x3f" identifier & number_literal) | identifier) | identifier)) ;) (expression_statement "bVar18 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 2) >> 0x1f) << 5);" (assignment_expression "bVar18 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 2) >> 0x1f) << 5)" identifier = (call_expression "(byte)(((uint)(*(int *)(iVar28 + 0x2c) << 2) >> 0x1f) << 5)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((uint)(*(int *)(iVar28 + 0x2c) << 2) >> 0x1f) << 5)" ( (binary_expression "((uint)(*(int *)(iVar28 + 0x2c) << 2) >> 0x1f) << 5" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x2c) << 2) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x2c) << 2) >> 0x1f" (call_expression "(uint)(*(int *)(iVar28 + 0x2c) << 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x2c) << 2)" ( (binary_expression "*(int *)(iVar28 + 0x2c) << 2" (pointer_expression "*(int *)(iVar28 + 0x2c)" * (cast_expression "(int *)(iVar28 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x2c)" ( (binary_expression "iVar28 + 0x2c" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal) )))) ;) (expression_statement "*(byte *)(iVar27 + 0x2c) = bVar15 & 0x1f | bVar16 | bVar17 | bVar18;" (assignment_expression "*(byte *)(iVar27 + 0x2c) = bVar15 & 0x1f | bVar16 | bVar17 | bVar18" (pointer_expression "*(byte *)(iVar27 + 0x2c)" * (cast_expression "(byte *)(iVar27 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar15 & 0x1f | bVar16 | bVar17 | bVar18" (binary_expression "bVar15 & 0x1f | bVar16 | bVar17" (binary_expression "bVar15 & 0x1f | bVar16" (binary_expression "bVar15 & 0x1f" identifier & number_literal) | identifier) | identifier) | identifier)) ;) (expression_statement "bVar19 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 3) >> 0x1f) << 4);" (assignment_expression "bVar19 = (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 3) >> 0x1f) << 4)" identifier = (call_expression "(byte)(((uint)(*(int *)(iVar28 + 0x2c) << 3) >> 0x1f) << 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((uint)(*(int *)(iVar28 + 0x2c) << 3) >> 0x1f) << 4)" ( (binary_expression "((uint)(*(int *)(iVar28 + 0x2c) << 3) >> 0x1f) << 4" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x2c) << 3) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x2c) << 3) >> 0x1f" (call_expression "(uint)(*(int *)(iVar28 + 0x2c) << 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x2c) << 3)" ( (binary_expression "*(int *)(iVar28 + 0x2c) << 3" (pointer_expression "*(int *)(iVar28 + 0x2c)" * (cast_expression "(int *)(iVar28 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x2c)" ( (binary_expression "iVar28 + 0x2c" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal) )))) ;) (expression_statement "*(byte *)(iVar27 + 0x2c) = bVar15 & 0xf | bVar16 | bVar17 | bVar18 | bVar19;" (assignment_expression "*(byte *)(iVar27 + 0x2c) = bVar15 & 0xf | bVar16 | bVar17 | bVar18 | bVar19" (pointer_expression "*(byte *)(iVar27 + 0x2c)" * (cast_expression "(byte *)(iVar27 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar15 & 0xf | bVar16 | bVar17 | bVar18 | bVar19" (binary_expression "bVar15 & 0xf | bVar16 | bVar17 | bVar18" (binary_expression "bVar15 & 0xf | bVar16 | bVar17" (binary_expression "bVar15 & 0xf | bVar16" (binary_expression "bVar15 & 0xf" identifier & number_literal) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "*(byte *)(iVar27 + 0x2c) =\n           bVar15 & 7 | bVar16 | bVar17 | bVar18 | bVar19 |\n           (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f) << 3);" (assignment_expression "*(byte *)(iVar27 + 0x2c) =\n           bVar15 & 7 | bVar16 | bVar17 | bVar18 | bVar19 |\n           (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f) << 3)" (pointer_expression "*(byte *)(iVar27 + 0x2c)" * (cast_expression "(byte *)(iVar27 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar15 & 7 | bVar16 | bVar17 | bVar18 | bVar19 |\n           (byte)(((uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f) << 3)" (binary_expression "bVar15 & 7 | bVar16 | bVar17 | bVar18 | bVar19" (binary_expression "bVar15 & 7 | bVar16 | bVar17 | bVar18" (binary_expression "bVar15 & 7 | bVar16 | bVar17" (binary_expression "bVar15 & 7 | bVar16" (binary_expression "bVar15 & 7" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | (call_expression "(byte)(((uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f) << 3)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f) << 3)" ( (binary_expression "((uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f) << 3" (parenthesized_expression "((uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x2c) << 4) >> 0x1f" (call_expression "(uint)(*(int *)(iVar28 + 0x2c) << 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x2c) << 4)" ( (binary_expression "*(int *)(iVar28 + 0x2c) << 4" (pointer_expression "*(int *)(iVar28 + 0x2c)" * (cast_expression "(int *)(iVar28 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x2c)" ( (binary_expression "iVar28 + 0x2c" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal) ))))) ;) (if_statement "if ((int)(uVar24 << 0x1c) < 0) {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }\n      else {\n        pSVar23 = (Sized_symbol<32> *)((uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f);\n      }" if (parenthesized_expression "((int)(uVar24 << 0x1c) < 0)" ( (binary_expression "(int)(uVar24 << 0x1c) < 0" (cast_expression "(int)(uVar24 << 0x1c)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar24 << 0x1c)" ( (binary_expression "uVar24 << 0x1c" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }" { (expression_statement "pSVar23 = (Sized_symbol<32> *)0x0;" (assignment_expression "pSVar23 = (Sized_symbol<32> *)0x0" identifier = (parenthesized_expression "(Sized_symbol<32> *)0x0" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) }) (else_clause "else {\n        pSVar23 = (Sized_symbol<32> *)((uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f);\n      }" else (compound_statement "{\n        pSVar23 = (Sized_symbol<32> *)((uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f);\n      }" { (expression_statement "pSVar23 = (Sized_symbol<32> *)((uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f);" (assignment_expression "pSVar23 = (Sized_symbol<32> *)((uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f)" identifier = (call_expression "(Sized_symbol<32> *)((uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f)" (parenthesized_expression "(Sized_symbol<32> *)" ( (binary_expression "Sized_symbol<32> *" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "((uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x1c) >> 0x1f" (call_expression "(uint)(*(int *)(iVar28 + 0x28) << 0x1c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar28 + 0x28) << 0x1c)" ( (binary_expression "*(int *)(iVar28 + 0x28) << 0x1c" (pointer_expression "*(int *)(iVar28 + 0x28)" * (cast_expression "(int *)(iVar28 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )))) ;) }))) (return_statement "return pSVar23;" return identifier ;) })) (expression_statement "uVar24 = (to->u2_).shndx;" (assignment_expression "uVar24 = (to->u2_).shndx" identifier = (field_expression "(to->u2_).shndx" (parenthesized_expression "(to->u2_)" ( (field_expression "to->u2_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "binding = (uVar25 << 4) >> 0x1c;" (assignment_expression "binding = (uVar25 << 4) >> 0x1c" identifier = (binary_expression "(uVar25 << 4) >> 0x1c" (parenthesized_expression "(uVar25 << 4)" ( (binary_expression "uVar25 << 4" identifier << number_literal) )) >> number_literal)) ;) (expression_statement "is_dynamic = SUB41((uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage >> 0x1f,0);" (assignment_expression "is_dynamic = SUB41((uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage >> 0x1f,0)" identifier = (call_expression "SUB41((uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage >> 0x1f,0)" identifier (argument_list "((uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage >> 0x1f,0)" ( (binary_expression "(uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage >> 0x1f" (field_expression "(uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage" (field_expression "(uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl" (binary_expression "(uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std" (binary_expression "(uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base<gold" (field_expression "(uint)((to->u1_).output_segment)->output_lists_[3].\n                             super__Vector_base" (subscript_expression "(uint)((to->u1_).output_segment)->output_lists_[3]" (field_expression "(uint)((to->u1_).output_segment)->output_lists_" (call_expression "(uint)((to->u1_).output_segment)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((to->u1_).output_segment)" ( (field_expression "(to->u1_).output_segment" (parenthesized_expression "(to->u1_)" ( (field_expression "to->u1_" identifier -> field_identifier) )) . field_identifier) ))) -> field_identifier) [ number_literal ]) . field_identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal) , number_literal )))) ;) }) (else_clause "else {\n    is_ordinary = false;\n    uVar24 = 0xfff1;\n    is_dynamic = false;\n    binding = (uVar25 << 4) >> 0x1c;\n  }" else (compound_statement "{\n    is_ordinary = false;\n    uVar24 = 0xfff1;\n    is_dynamic = false;\n    binding = (uVar25 << 4) >> 0x1c;\n  }" { (expression_statement "is_ordinary = false;" (assignment_expression "is_ordinary = false" identifier = false) ;) (expression_statement "uVar24 = 0xfff1;" (assignment_expression "uVar24 = 0xfff1" identifier = number_literal) ;) (expression_statement "is_dynamic = false;" (assignment_expression "is_dynamic = false" identifier = false) ;) (expression_statement "binding = (uVar25 << 4) >> 0x1c;" (assignment_expression "binding = (uVar25 << 4) >> 0x1c" identifier = (binary_expression "(uVar25 << 4) >> 0x1c" (parenthesized_expression "(uVar25 << 4)" ( (binary_expression "uVar25 << 4" identifier << number_literal) )) >> number_literal)) ;) }))))) (expression_statement "uVar24 = symbol_to_bits(binding,is_dynamic,uVar24,is_ordinary);" (assignment_expression "uVar24 = symbol_to_bits(binding,is_dynamic,uVar24,is_ordinary)" identifier = (call_expression "symbol_to_bits(binding,is_dynamic,uVar24,is_ordinary)" identifier (argument_list "(binding,is_dynamic,uVar24,is_ordinary)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if ((*(uint *)&to->field_0x28 >> 0x1c == 6) != (iVar28 == 6)) {\n    iVar28 = *(int *)(pcVar31 + 0x1b4658);\n    if ((*(uint *)&to->field_0x28 & 0xe000) == 0) {\n      iVar28 = (*((to->u1_).object)->_vptr_Object[5])((to->u1_).object);\n      if (iVar28 != 0) goto LAB_0030cd70;\n      iVar28 = *(int *)(pcVar31 + 0x1b4658);\n    }\n    msg = (char *)(**(code **)(pcVar31 + 0x1b8fac))(iVar28 + -0x76f0);\n    report_resolve_problem(true,msg,to,(Defined)defined,(Object *)(pcVar30 + 0x1bc854));\n  }" if (parenthesized_expression "((*(uint *)&to->field_0x28 >> 0x1c == 6) != (iVar28 == 6))" ( (binary_expression "(*(uint *)&to->field_0x28 >> 0x1c == 6) != (iVar28 == 6)" (parenthesized_expression "(*(uint *)&to->field_0x28 >> 0x1c == 6)" ( (binary_expression "*(uint *)&to->field_0x28 >> 0x1c == 6" (binary_expression "*(uint *)&to->field_0x28 >> 0x1c" (pointer_expression "*(uint *)&to->field_0x28" * (cast_expression "(uint *)&to->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&to->field_0x28" & (field_expression "to->field_0x28" identifier -> field_identifier)))) >> number_literal) == number_literal) )) != (parenthesized_expression "(iVar28 == 6)" ( (binary_expression "iVar28 == 6" identifier == number_literal) ))) )) (compound_statement "{\n    iVar28 = *(int *)(pcVar31 + 0x1b4658);\n    if ((*(uint *)&to->field_0x28 & 0xe000) == 0) {\n      iVar28 = (*((to->u1_).object)->_vptr_Object[5])((to->u1_).object);\n      if (iVar28 != 0) goto LAB_0030cd70;\n      iVar28 = *(int *)(pcVar31 + 0x1b4658);\n    }\n    msg = (char *)(**(code **)(pcVar31 + 0x1b8fac))(iVar28 + -0x76f0);\n    report_resolve_problem(true,msg,to,(Defined)defined,(Object *)(pcVar30 + 0x1bc854));\n  }" { (expression_statement "iVar28 = *(int *)(pcVar31 + 0x1b4658);" (assignment_expression "iVar28 = *(int *)(pcVar31 + 0x1b4658)" identifier = (pointer_expression "*(int *)(pcVar31 + 0x1b4658)" * (cast_expression "(int *)(pcVar31 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x1b4658)" ( (binary_expression "pcVar31 + 0x1b4658" identifier + number_literal) ))))) ;) (if_statement "if ((*(uint *)&to->field_0x28 & 0xe000) == 0) {\n      iVar28 = (*((to->u1_).object)->_vptr_Object[5])((to->u1_).object);\n      if (iVar28 != 0) goto LAB_0030cd70;\n      iVar28 = *(int *)(pcVar31 + 0x1b4658);\n    }" if (parenthesized_expression "((*(uint *)&to->field_0x28 & 0xe000) == 0)" ( (binary_expression "(*(uint *)&to->field_0x28 & 0xe000) == 0" (parenthesized_expression "(*(uint *)&to->field_0x28 & 0xe000)" ( (binary_expression "*(uint *)&to->field_0x28 & 0xe000" (pointer_expression "*(uint *)&to->field_0x28" * (cast_expression "(uint *)&to->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&to->field_0x28" & (field_expression "to->field_0x28" identifier -> field_identifier)))) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar28 = (*((to->u1_).object)->_vptr_Object[5])((to->u1_).object);\n      if (iVar28 != 0) goto LAB_0030cd70;\n      iVar28 = *(int *)(pcVar31 + 0x1b4658);\n    }" { (expression_statement "iVar28 = (*((to->u1_).object)->_vptr_Object[5])((to->u1_).object);" (assignment_expression "iVar28 = (*((to->u1_).object)->_vptr_Object[5])((to->u1_).object)" identifier = (call_expression "(*((to->u1_).object)->_vptr_Object[5])((to->u1_).object)" (parenthesized_expression "(*((to->u1_).object)->_vptr_Object[5])" ( (pointer_expression "*((to->u1_).object)->_vptr_Object[5]" * (subscript_expression "((to->u1_).object)->_vptr_Object[5]" (field_expression "((to->u1_).object)->_vptr_Object" (parenthesized_expression "((to->u1_).object)" ( (field_expression "(to->u1_).object" (parenthesized_expression "(to->u1_)" ( (field_expression "to->u1_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "((to->u1_).object)" ( (field_expression "(to->u1_).object" (parenthesized_expression "(to->u1_)" ( (field_expression "to->u1_" identifier -> field_identifier) )) . field_identifier) )))) ;) (if_statement "if (iVar28 != 0) goto LAB_0030cd70;" if (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0030cd70;" goto statement_identifier ;)) (expression_statement "iVar28 = *(int *)(pcVar31 + 0x1b4658);" (assignment_expression "iVar28 = *(int *)(pcVar31 + 0x1b4658)" identifier = (pointer_expression "*(int *)(pcVar31 + 0x1b4658)" * (cast_expression "(int *)(pcVar31 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x1b4658)" ( (binary_expression "pcVar31 + 0x1b4658" identifier + number_literal) ))))) ;) })) (expression_statement "msg = (char *)(**(code **)(pcVar31 + 0x1b8fac))(iVar28 + -0x76f0);" (assignment_expression "msg = (char *)(**(code **)(pcVar31 + 0x1b8fac))(iVar28 + -0x76f0)" identifier = (cast_expression "(char *)(**(code **)(pcVar31 + 0x1b8fac))(iVar28 + -0x76f0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar31 + 0x1b8fac))(iVar28 + -0x76f0)" (parenthesized_expression "(**(code **)(pcVar31 + 0x1b8fac))" ( (pointer_expression "**(code **)(pcVar31 + 0x1b8fac)" * (pointer_expression "*(code **)(pcVar31 + 0x1b8fac)" * (cast_expression "(code **)(pcVar31 + 0x1b8fac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x1b8fac)" ( (binary_expression "pcVar31 + 0x1b8fac" identifier + number_literal) ))))) )) (argument_list "(iVar28 + -0x76f0)" ( (binary_expression "iVar28 + -0x76f0" identifier + number_literal) ))))) ;) (expression_statement "report_resolve_problem(true,msg,to,(Defined)defined,(Object *)(pcVar30 + 0x1bc854));" (call_expression "report_resolve_problem(true,msg,to,(Defined)defined,(Object *)(pcVar30 + 0x1bc854))" identifier (argument_list "(true,msg,to,(Defined)defined,(Object *)(pcVar30 + 0x1bc854))" ( true , identifier , identifier , (cast_expression "(Defined)defined" ( (type_descriptor "Defined" type_identifier) ) identifier) , (cast_expression "(Object *)(pcVar30 + 0x1bc854)" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x1bc854)" ( (binary_expression "pcVar30 + 0x1bc854" identifier + number_literal) ))) ))) ;) })) (labeled_statement "LAB_0030cd70:\n  uVar24 = uVar24 * 0x10 + iVar27;" statement_identifier : (expression_statement "uVar24 = uVar24 * 0x10 + iVar27;" (assignment_expression "uVar24 = uVar24 * 0x10 + iVar27" identifier = (binary_expression "uVar24 * 0x10 + iVar27" (binary_expression "uVar24 * 0x10" identifier * number_literal) + identifier)) ;)) (if_statement "if (0xbb < uVar24) {\n    uVar32 = (**(code **)(pcVar31 + 0x1b4dac))\n                       (*(int *)(pcVar31 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar31 + 0x1b4658) + -0x71a0);\n    if ((to->version_ != (char *)0x0) || (pSVar23 == (Sized_symbol<32> *)0x0)) {\n      if (((int)((ulonglong)uVar32 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)&to->field_0x2c << 1 < 0 &&\n          (iVar27 = *(int *)((int)uVar32 + 0x2c), iVar27 << 6 < 0)))) {\n        pSVar23 = (Sized_symbol<32> *)((uint)(iVar27 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }\n    }\n    return pSVar23;\n  }" if (parenthesized_expression "(0xbb < uVar24)" ( (binary_expression "0xbb < uVar24" number_literal < identifier) )) (compound_statement "{\n    uVar32 = (**(code **)(pcVar31 + 0x1b4dac))\n                       (*(int *)(pcVar31 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar31 + 0x1b4658) + -0x71a0);\n    if ((to->version_ != (char *)0x0) || (pSVar23 == (Sized_symbol<32> *)0x0)) {\n      if (((int)((ulonglong)uVar32 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)&to->field_0x2c << 1 < 0 &&\n          (iVar27 = *(int *)((int)uVar32 + 0x2c), iVar27 << 6 < 0)))) {\n        pSVar23 = (Sized_symbol<32> *)((uint)(iVar27 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }\n    }\n    return pSVar23;\n  }" { (expression_statement "uVar32 = (**(code **)(pcVar31 + 0x1b4dac))\n                       (*(int *)(pcVar31 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar31 + 0x1b4658) + -0x71a0);" (assignment_expression "uVar32 = (**(code **)(pcVar31 + 0x1b4dac))\n                       (*(int *)(pcVar31 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar31 + 0x1b4658) + -0x71a0)" identifier = (call_expression "(**(code **)(pcVar31 + 0x1b4dac))\n                       (*(int *)(pcVar31 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar31 + 0x1b4658) + -0x71a0)" (parenthesized_expression "(**(code **)(pcVar31 + 0x1b4dac))" ( (pointer_expression "**(code **)(pcVar31 + 0x1b4dac)" * (pointer_expression "*(code **)(pcVar31 + 0x1b4dac)" * (cast_expression "(code **)(pcVar31 + 0x1b4dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x1b4dac)" ( (binary_expression "pcVar31 + 0x1b4dac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar31 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar31 + 0x1b4658) + -0x71a0)" ( (binary_expression "*(int *)(pcVar31 + 0x1b4658) + -0x7758" (pointer_expression "*(int *)(pcVar31 + 0x1b4658)" * (cast_expression "(int *)(pcVar31 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x1b4658)" ( (binary_expression "pcVar31 + 0x1b4658" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0x1b4658) + -0x71a0" (pointer_expression "*(int *)(pcVar31 + 0x1b4658)" * (cast_expression "(int *)(pcVar31 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x1b4658)" ( (binary_expression "pcVar31 + 0x1b4658" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if ((to->version_ != (char *)0x0) || (pSVar23 == (Sized_symbol<32> *)0x0)) {\n      if (((int)((ulonglong)uVar32 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)&to->field_0x2c << 1 < 0 &&\n          (iVar27 = *(int *)((int)uVar32 + 0x2c), iVar27 << 6 < 0)))) {\n        pSVar23 = (Sized_symbol<32> *)((uint)(iVar27 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }\n    }" if (parenthesized_expression "((to->version_ != (char *)0x0) || (pSVar23 == (Sized_symbol<32> *)0x0))" ( (binary_expression "(to->version_ != (char *)0x0) || (pSVar23 == (Sized_symbol<32> *)0x0))" (parenthesized_expression "(to->version_ != (char *)0x0)" ( (binary_expression "to->version_ != (char *)0x0" (field_expression "to->version_" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pSVar23 == (Sized_symbol<32> *)0x0))" ( (binary_expression "pSVar23 == (Sized_symbol<32> *)0x0)" identifier == (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ))) )) (compound_statement "{\n      if (((int)((ulonglong)uVar32 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)&to->field_0x2c << 1 < 0 &&\n          (iVar27 = *(int *)((int)uVar32 + 0x2c), iVar27 << 6 < 0)))) {\n        pSVar23 = (Sized_symbol<32> *)((uint)(iVar27 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }\n    }" { (if_statement "if (((int)((ulonglong)uVar32 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)&to->field_0x2c << 1 < 0 &&\n          (iVar27 = *(int *)((int)uVar32 + 0x2c), iVar27 << 6 < 0)))) {\n        pSVar23 = (Sized_symbol<32> *)((uint)(iVar27 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar32 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)&to->field_0x2c << 1 < 0 &&\n          (iVar27 = *(int *)((int)uVar32 + 0x2c), iVar27 << 6 < 0))))" ( (binary_expression "((int)((ulonglong)uVar32 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)&to->field_0x2c << 1 < 0 &&\n          (iVar27 = *(int *)((int)uVar32 + 0x2c), iVar27 << 6 < 0)))" (parenthesized_expression "((int)((ulonglong)uVar32 >> 0x20) << 0x17 < 0)" ( (binary_expression "(int)((ulonglong)uVar32 >> 0x20) << 0x17 < 0" (binary_expression "(int)((ulonglong)uVar32 >> 0x20) << 0x17" (cast_expression "(int)((ulonglong)uVar32 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar32 >> 0x20)" ( (binary_expression "(ulonglong)uVar32 >> 0x20" (cast_expression "(ulonglong)uVar32" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) << number_literal) < number_literal) )) && (parenthesized_expression "((*(int *)&to->field_0x2c << 1 < 0 &&\n          (iVar27 = *(int *)((int)uVar32 + 0x2c), iVar27 << 6 < 0)))" ( (parenthesized_expression "(*(int *)&to->field_0x2c << 1 < 0 &&\n          (iVar27 = *(int *)((int)uVar32 + 0x2c), iVar27 << 6 < 0))" ( (binary_expression "*(int *)&to->field_0x2c << 1 < 0 &&\n          (iVar27 = *(int *)((int)uVar32 + 0x2c), iVar27 << 6 < 0)" (binary_expression "*(int *)&to->field_0x2c << 1 < 0" (binary_expression "*(int *)&to->field_0x2c << 1" (pointer_expression "*(int *)&to->field_0x2c" * (cast_expression "(int *)&to->field_0x2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&to->field_0x2c" & (field_expression "to->field_0x2c" identifier -> field_identifier)))) << number_literal) < number_literal) && (parenthesized_expression "(iVar27 = *(int *)((int)uVar32 + 0x2c), iVar27 << 6 < 0)" ( (comma_expression "iVar27 = *(int *)((int)uVar32 + 0x2c), iVar27 << 6 < 0" (assignment_expression "iVar27 = *(int *)((int)uVar32 + 0x2c)" identifier = (pointer_expression "*(int *)((int)uVar32 + 0x2c)" * (cast_expression "(int *)((int)uVar32 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)uVar32 + 0x2c)" ( (binary_expression "(int)uVar32 + 0x2c" (cast_expression "(int)uVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) , (binary_expression "iVar27 << 6 < 0" (binary_expression "iVar27 << 6" identifier << number_literal) < number_literal)) ))) )) ))) )) (compound_statement "{\n        pSVar23 = (Sized_symbol<32> *)((uint)(iVar27 << 1) >> 0x1f ^ 1);\n      }" { (expression_statement "pSVar23 = (Sized_symbol<32> *)((uint)(iVar27 << 1) >> 0x1f ^ 1);" (assignment_expression "pSVar23 = (Sized_symbol<32> *)((uint)(iVar27 << 1) >> 0x1f ^ 1)" identifier = (call_expression "(Sized_symbol<32> *)((uint)(iVar27 << 1) >> 0x1f ^ 1)" (parenthesized_expression "(Sized_symbol<32> *)" ( (binary_expression "Sized_symbol<32> *" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "((uint)(iVar27 << 1) >> 0x1f ^ 1)" ( (binary_expression "(uint)(iVar27 << 1) >> 0x1f ^ 1" (binary_expression "(uint)(iVar27 << 1) >> 0x1f" (call_expression "(uint)(iVar27 << 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar27 << 1)" ( (binary_expression "iVar27 << 1" identifier << number_literal) ))) >> number_literal) ^ number_literal) )))) ;) }) (else_clause "else {\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }" else (compound_statement "{\n        pSVar23 = (Sized_symbol<32> *)0x0;\n      }" { (expression_statement "pSVar23 = (Sized_symbol<32> *)0x0;" (assignment_expression "pSVar23 = (Sized_symbol<32> *)0x0" identifier = (parenthesized_expression "(Sized_symbol<32> *)0x0" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) }))) })) (return_statement "return pSVar23;" return identifier ;) })) comment comment (expression_statement "pSVar23 = (Sized_symbol<32> *)\n            (*(pcVar31 + *(int *)(*(int *)(pcVar31 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ();" (assignment_expression "pSVar23 = (Sized_symbol<32> *)\n            (*(pcVar31 + *(int *)(*(int *)(pcVar31 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ()" identifier = (call_expression "(Sized_symbol<32> *)\n            (*(pcVar31 + *(int *)(*(int *)(pcVar31 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ()" (call_expression "(Sized_symbol<32> *)\n            (*(pcVar31 + *(int *)(*(int *)(pcVar31 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))" (parenthesized_expression "(Sized_symbol<32> *)" ( (binary_expression "Sized_symbol<32> *" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(*(pcVar31 + *(int *)(*(int *)(pcVar31 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))" ( (pointer_expression "*(pcVar31 + *(int *)(*(int *)(pcVar31 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc)" * (parenthesized_expression "(pcVar31 + *(int *)(*(int *)(pcVar31 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc)" ( (binary_expression "pcVar31 + *(int *)(*(int *)(pcVar31 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc" (binary_expression "pcVar31 + *(int *)(*(int *)(pcVar31 + 0x1b4658) + -0x75f4 + uVar24 * 4)" identifier + (pointer_expression "*(int *)(*(int *)(pcVar31 + 0x1b4658) + -0x75f4 + uVar24 * 4)" * (cast_expression "(int *)(*(int *)(pcVar31 + 0x1b4658) + -0x75f4 + uVar24 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x1b4658) + -0x75f4 + uVar24 * 4)" ( (binary_expression "*(int *)(pcVar31 + 0x1b4658) + -0x75f4 + uVar24 * 4" (binary_expression "*(int *)(pcVar31 + 0x1b4658) + -0x75f4" (pointer_expression "*(int *)(pcVar31 + 0x1b4658)" * (cast_expression "(int *)(pcVar31 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x1b4658)" ( (binary_expression "pcVar31 + 0x1b4658" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar24 * 4" identifier * number_literal)) ))))) + number_literal) ))) ))) (argument_list "()" ( )))) ;) (return_statement "return pSVar23;" return identifier ;) }))
(translation_unit "undefined * FUN_0030c880(undefined *param_1,undefined4 param_2,undefined4 param_3,uint param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  byte bVar14;\n  byte bVar15;\n  byte bVar16;\n  byte bVar17;\n  byte bVar18;\n  undefined *puVar19;\n  undefined4 uVar20;\n  int iVar21;\n  uint uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  uint uVar25;\n  undefined4 uVar26;\n  int iVar27;\n  uint uVar28;\n  int iVar29;\n  int iVar30;\n  undefined1 *puVar31;\n  code *pcVar32;\n  code *pcVar33;\n  undefined8 uVar34;\n  undefined1 *puStack_9c;\n  undefined1 *puStack_98;\n  uint uStack_94;\n  undefined1 auStack_90 [20];\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }\n  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }\n  puVar23 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860;\n  puVar19 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);\n  if (*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0) {\n    (**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);\n  }\n  else if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }\n  uVar26 = 0x7f4;\n  pcVar32 = *(code **)(puVar19 + 0x1b5130);\n  iVar29 = *(int *)(puVar19 + 0x1b49dc) + -0x72b8;\n  uVar24 = *(int *)(puVar19 + 0x1b497c) + 0x3860;\n  (*pcVar32)();\n  if (uVar24 < 0x40000000) {\n    uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);\n    puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return puVar19;\n  }\n  pcVar32 = *(code **)(pcVar32 + 0x1b5140);\n  (*pcVar32)();\n  (**(code **)(pcVar32 + 0x1b52dc))(&puStack_98,iVar29);\n  iVar29 = (**(code **)(pcVar32 + 0x1b91b0))(uVar26);\n  iVar29 = uStack_94 + 10 + iVar29;\n  uVar20 = (**(code **)(pcVar32 + 0x1b4960))(iVar29);\n  puVar31 = puStack_98;\n  (**(code **)(pcVar32 + 0x1b90a8))(uVar20,iVar29,uVar26,puStack_98);\n  if (param_4 < 7) {\n                    \n                    \n    puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();\n    return puVar19;\n  }\n  iVar30 = *(int *)(pcVar32 + 0x1b48f0) + -0x71dc;\n  (**(code **)(pcVar32 + 0x1b5044))(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6);\n  iVar27 = 0xa1;\n  iVar30 = iVar30 + -0x71bc;\n  iVar29 = *(int *)(pcVar32 + 0x1b4890) + 0x3860;\n  (**(code **)(pcVar32 + 0x1b5044))();\n  if (puStack_98 != auStack_90) {\n    (**(code **)(pcVar32 + 0x1b4910))(puStack_98);\n  }\n  pcVar33 = *(code **)(pcVar32 + 0x1b48dc);\n  (*pcVar33)();\n  puVar19 = (undefined *)(uStack_94 & 0xff);\n  *puStack_9c = 0;\n  *puStack_98 = 0;\n  uVar25 = *(uint *)(iVar29 + 0x28);\n  uVar24 = (uVar25 << 0x10) >> 0x1d;\n  if (uVar24 == 4) {\n    uVar24 = 1;\n    uVar26 = 0;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  else if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  iVar21 = FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24);\n  if ((*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6)) {\n    iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }\n    uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);\n    gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);\n  }\nLAB_0030cd70:\n  uVar24 = iVar21 * 0x10 + iVar27;\n  if (0xbb < uVar24) {\n    uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);\n    if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }\n    return puVar19;\n  }\n                    \n                    \n  puVar19 = (undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ();\n  return puVar19;\n}\n\n" (function_definition "undefined * FUN_0030c880(undefined *param_1,undefined4 param_2,undefined4 param_3,uint param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  byte bVar14;\n  byte bVar15;\n  byte bVar16;\n  byte bVar17;\n  byte bVar18;\n  undefined *puVar19;\n  undefined4 uVar20;\n  int iVar21;\n  uint uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  uint uVar25;\n  undefined4 uVar26;\n  int iVar27;\n  uint uVar28;\n  int iVar29;\n  int iVar30;\n  undefined1 *puVar31;\n  code *pcVar32;\n  code *pcVar33;\n  undefined8 uVar34;\n  undefined1 *puStack_9c;\n  undefined1 *puStack_98;\n  uint uStack_94;\n  undefined1 auStack_90 [20];\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }\n  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }\n  puVar23 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860;\n  puVar19 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);\n  if (*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0) {\n    (**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);\n  }\n  else if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }\n  uVar26 = 0x7f4;\n  pcVar32 = *(code **)(puVar19 + 0x1b5130);\n  iVar29 = *(int *)(puVar19 + 0x1b49dc) + -0x72b8;\n  uVar24 = *(int *)(puVar19 + 0x1b497c) + 0x3860;\n  (*pcVar32)();\n  if (uVar24 < 0x40000000) {\n    uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);\n    puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return puVar19;\n  }\n  pcVar32 = *(code **)(pcVar32 + 0x1b5140);\n  (*pcVar32)();\n  (**(code **)(pcVar32 + 0x1b52dc))(&puStack_98,iVar29);\n  iVar29 = (**(code **)(pcVar32 + 0x1b91b0))(uVar26);\n  iVar29 = uStack_94 + 10 + iVar29;\n  uVar20 = (**(code **)(pcVar32 + 0x1b4960))(iVar29);\n  puVar31 = puStack_98;\n  (**(code **)(pcVar32 + 0x1b90a8))(uVar20,iVar29,uVar26,puStack_98);\n  if (param_4 < 7) {\n                    \n                    \n    puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();\n    return puVar19;\n  }\n  iVar30 = *(int *)(pcVar32 + 0x1b48f0) + -0x71dc;\n  (**(code **)(pcVar32 + 0x1b5044))(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6);\n  iVar27 = 0xa1;\n  iVar30 = iVar30 + -0x71bc;\n  iVar29 = *(int *)(pcVar32 + 0x1b4890) + 0x3860;\n  (**(code **)(pcVar32 + 0x1b5044))();\n  if (puStack_98 != auStack_90) {\n    (**(code **)(pcVar32 + 0x1b4910))(puStack_98);\n  }\n  pcVar33 = *(code **)(pcVar32 + 0x1b48dc);\n  (*pcVar33)();\n  puVar19 = (undefined *)(uStack_94 & 0xff);\n  *puStack_9c = 0;\n  *puStack_98 = 0;\n  uVar25 = *(uint *)(iVar29 + 0x28);\n  uVar24 = (uVar25 << 0x10) >> 0x1d;\n  if (uVar24 == 4) {\n    uVar24 = 1;\n    uVar26 = 0;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  else if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  iVar21 = FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24);\n  if ((*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6)) {\n    iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }\n    uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);\n    gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);\n  }\nLAB_0030cd70:\n  uVar24 = iVar21 * 0x10 + iVar27;\n  if (0xbb < uVar24) {\n    uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);\n    if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }\n    return puVar19;\n  }\n                    \n                    \n  puVar19 = (undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ();\n  return puVar19;\n}" type_identifier (pointer_declarator "* FUN_0030c880(undefined *param_1,undefined4 param_2,undefined4 param_3,uint param_4)" * (function_declarator "FUN_0030c880(undefined *param_1,undefined4 param_2,undefined4 param_3,uint param_4)" identifier (parameter_list "(undefined *param_1,undefined4 param_2,undefined4 param_3,uint param_4)" ( (parameter_declaration "undefined *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) )))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  byte bVar14;\n  byte bVar15;\n  byte bVar16;\n  byte bVar17;\n  byte bVar18;\n  undefined *puVar19;\n  undefined4 uVar20;\n  int iVar21;\n  uint uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  uint uVar25;\n  undefined4 uVar26;\n  int iVar27;\n  uint uVar28;\n  int iVar29;\n  int iVar30;\n  undefined1 *puVar31;\n  code *pcVar32;\n  code *pcVar33;\n  undefined8 uVar34;\n  undefined1 *puStack_9c;\n  undefined1 *puStack_98;\n  uint uStack_94;\n  undefined1 auStack_90 [20];\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }\n  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }\n  puVar23 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860;\n  puVar19 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);\n  if (*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0) {\n    (**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);\n  }\n  else if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }\n  uVar26 = 0x7f4;\n  pcVar32 = *(code **)(puVar19 + 0x1b5130);\n  iVar29 = *(int *)(puVar19 + 0x1b49dc) + -0x72b8;\n  uVar24 = *(int *)(puVar19 + 0x1b497c) + 0x3860;\n  (*pcVar32)();\n  if (uVar24 < 0x40000000) {\n    uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);\n    puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return puVar19;\n  }\n  pcVar32 = *(code **)(pcVar32 + 0x1b5140);\n  (*pcVar32)();\n  (**(code **)(pcVar32 + 0x1b52dc))(&puStack_98,iVar29);\n  iVar29 = (**(code **)(pcVar32 + 0x1b91b0))(uVar26);\n  iVar29 = uStack_94 + 10 + iVar29;\n  uVar20 = (**(code **)(pcVar32 + 0x1b4960))(iVar29);\n  puVar31 = puStack_98;\n  (**(code **)(pcVar32 + 0x1b90a8))(uVar20,iVar29,uVar26,puStack_98);\n  if (param_4 < 7) {\n                    \n                    \n    puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();\n    return puVar19;\n  }\n  iVar30 = *(int *)(pcVar32 + 0x1b48f0) + -0x71dc;\n  (**(code **)(pcVar32 + 0x1b5044))(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6);\n  iVar27 = 0xa1;\n  iVar30 = iVar30 + -0x71bc;\n  iVar29 = *(int *)(pcVar32 + 0x1b4890) + 0x3860;\n  (**(code **)(pcVar32 + 0x1b5044))();\n  if (puStack_98 != auStack_90) {\n    (**(code **)(pcVar32 + 0x1b4910))(puStack_98);\n  }\n  pcVar33 = *(code **)(pcVar32 + 0x1b48dc);\n  (*pcVar33)();\n  puVar19 = (undefined *)(uStack_94 & 0xff);\n  *puStack_9c = 0;\n  *puStack_98 = 0;\n  uVar25 = *(uint *)(iVar29 + 0x28);\n  uVar24 = (uVar25 << 0x10) >> 0x1d;\n  if (uVar24 == 4) {\n    uVar24 = 1;\n    uVar26 = 0;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  else if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  iVar21 = FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24);\n  if ((*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6)) {\n    iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }\n    uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);\n    gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);\n  }\nLAB_0030cd70:\n  uVar24 = iVar21 * 0x10 + iVar27;\n  if (0xbb < uVar24) {\n    uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);\n    if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }\n    return puVar19;\n  }\n                    \n                    \n  puVar19 = (undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ();\n  return puVar19;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "byte bVar15;" type_identifier identifier ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "byte bVar18;" type_identifier identifier ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "undefined4 uVar26;" type_identifier identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "undefined1 *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "code *pcVar32;" type_identifier (pointer_declarator "*pcVar32" * identifier) ;) (declaration "code *pcVar33;" type_identifier (pointer_declarator "*pcVar33" * identifier) ;) (declaration "undefined8 uVar34;" type_identifier identifier ;) (declaration "undefined1 *puStack_9c;" type_identifier (pointer_declarator "*puStack_9c" * identifier) ;) (declaration "undefined1 *puStack_98;" type_identifier (pointer_declarator "*puStack_98" * identifier) ;) (declaration "uint uStack_94;" type_identifier identifier ;) (declaration "undefined1 auStack_90 [20];" type_identifier (array_declarator "auStack_90 [20]" identifier [ number_literal ]) ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }\n  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == number_literal) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              )" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              )" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_UINT_004c12dc + -0x7228" identifier + number_literal) ))) ;) }) (else_clause "else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }" else (if_statement "if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }" if (parenthesized_expression "(**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20)" ( (binary_expression "**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20" (pointer_expression "**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (pointer_expression "*(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (cast_expression "(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) ))))) == number_literal) )) (compound_statement "{\n    return param_1;\n  }" { (return_statement "return param_1;" return identifier ;) })))) (expression_statement "puVar23 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860;" (assignment_expression "puVar23 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860" identifier = (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860" identifier + number_literal)) ;) (expression_statement "puVar19 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar19 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c)" ( identifier , number_literal , (binary_expression "PTR_UINT_004c12dc + -0x726c" identifier + number_literal) ))) ;) (if_statement "if (*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0) {\n    (**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);\n  }\n  else if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }" if (parenthesized_expression "(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0)" ( (binary_expression "*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0" (pointer_expression "*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc)" * (cast_expression "(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(puVar19 + 0x1b50b4) + 0xc)" ( (binary_expression "**(int **)(puVar19 + 0x1b50b4) + 0xc" (pointer_expression "**(int **)(puVar19 + 0x1b50b4)" * (pointer_expression "*(int **)(puVar19 + 0x1b50b4)" * (cast_expression "(int **)(puVar19 + 0x1b50b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x1b50b4)" ( (binary_expression "puVar19 + 0x1b50b4" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    (**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);\n  }" { (expression_statement "(**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);" (call_expression "(**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228)" (parenthesized_expression "(**(code **)(puVar19 + 0x1b5130))" ( (pointer_expression "**(code **)(puVar19 + 0x1b5130)" * (pointer_expression "*(code **)(puVar19 + 0x1b5130)" * (cast_expression "(code **)(puVar19 + 0x1b5130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x1b5130)" ( (binary_expression "puVar19 + 0x1b5130" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228)" ( (binary_expression "*(int *)(puVar19 + 0x1b497c) + -0x9b8" (pointer_expression "*(int *)(puVar19 + 0x1b497c)" * (cast_expression "(int *)(puVar19 + 0x1b497c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x1b497c)" ( (binary_expression "puVar19 + 0x1b497c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar19 + 0x1b49dc) + -0x7228" (pointer_expression "*(int *)(puVar19 + 0x1b49dc)" * (cast_expression "(int *)(puVar19 + 0x1b49dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x1b49dc)" ( (binary_expression "puVar19 + 0x1b49dc" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }" else (if_statement "if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }" if (parenthesized_expression "(**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40)" ( (binary_expression "**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40" (pointer_expression "**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4)" * (pointer_expression "*(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4)" * (cast_expression "(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4)" ( (binary_expression "*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4" (pointer_expression "*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc)" * (cast_expression "(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(puVar19 + 0x1b50b4) + 0xc)" ( (binary_expression "**(int **)(puVar19 + 0x1b50b4) + 0xc" (pointer_expression "**(int **)(puVar19 + 0x1b50b4)" * (pointer_expression "*(int **)(puVar19 + 0x1b50b4)" * (cast_expression "(int **)(puVar19 + 0x1b50b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x1b50b4)" ( (binary_expression "puVar19 + 0x1b50b4" identifier + number_literal) ))))) + number_literal) )))) + number_literal) ))))) == number_literal) )) (compound_statement "{\n    return puVar23;\n  }" { (return_statement "return puVar23;" return identifier ;) })))) (expression_statement "uVar26 = 0x7f4;" (assignment_expression "uVar26 = 0x7f4" identifier = number_literal) ;) (expression_statement "pcVar32 = *(code **)(puVar19 + 0x1b5130);" (assignment_expression "pcVar32 = *(code **)(puVar19 + 0x1b5130)" identifier = (pointer_expression "*(code **)(puVar19 + 0x1b5130)" * (cast_expression "(code **)(puVar19 + 0x1b5130)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x1b5130)" ( (binary_expression "puVar19 + 0x1b5130" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = *(int *)(puVar19 + 0x1b49dc) + -0x72b8;" (assignment_expression "iVar29 = *(int *)(puVar19 + 0x1b49dc) + -0x72b8" identifier = (binary_expression "*(int *)(puVar19 + 0x1b49dc) + -0x72b8" (pointer_expression "*(int *)(puVar19 + 0x1b49dc)" * (cast_expression "(int *)(puVar19 + 0x1b49dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x1b49dc)" ( (binary_expression "puVar19 + 0x1b49dc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "uVar24 = *(int *)(puVar19 + 0x1b497c) + 0x3860;" (assignment_expression "uVar24 = *(int *)(puVar19 + 0x1b497c) + 0x3860" identifier = (binary_expression "*(int *)(puVar19 + 0x1b497c) + 0x3860" (pointer_expression "*(int *)(puVar19 + 0x1b497c)" * (cast_expression "(int *)(puVar19 + 0x1b497c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x1b497c)" ( (binary_expression "puVar19 + 0x1b497c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar32)();" (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (uVar24 < 0x40000000) {\n    uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);\n    puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return puVar19;\n  }" if (parenthesized_expression "(uVar24 < 0x40000000)" ( (binary_expression "uVar24 < 0x40000000" identifier < number_literal) )) (compound_statement "{\n    uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);\n    puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return puVar19;\n  }" { (expression_statement "uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);" (assignment_expression "uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2)" identifier = (call_expression "(**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b4a28))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b4a28)" * (pointer_expression "*(code **)(pcVar32 + 0x1b4a28)" * (cast_expression "(code **)(pcVar32 + 0x1b4a28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b4a28)" ( (binary_expression "pcVar32 + 0x1b4a28" identifier + number_literal) ))))) )) (argument_list "(uVar24 << 2)" ( (binary_expression "uVar24 << 2" identifier << number_literal) )))) ;) (expression_statement "puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);" (assignment_expression "puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2)" identifier = (cast_expression "(undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b92e8))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b92e8)" * (pointer_expression "*(code **)(pcVar32 + 0x1b92e8)" * (cast_expression "(code **)(pcVar32 + 0x1b92e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b92e8)" ( (binary_expression "pcVar32 + 0x1b92e8" identifier + number_literal) ))))) )) (argument_list "(uVar26,0,uVar24 << 2)" ( identifier , number_literal , (binary_expression "uVar24 << 2" identifier << number_literal) ))))) ;) (return_statement "return puVar19;" return identifier ;) })) (expression_statement "pcVar32 = *(code **)(pcVar32 + 0x1b5140);" (assignment_expression "pcVar32 = *(code **)(pcVar32 + 0x1b5140)" identifier = (pointer_expression "*(code **)(pcVar32 + 0x1b5140)" * (cast_expression "(code **)(pcVar32 + 0x1b5140)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b5140)" ( (binary_expression "pcVar32 + 0x1b5140" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar32)();" (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcVar32 + 0x1b52dc))(&puStack_98,iVar29);" (call_expression "(**(code **)(pcVar32 + 0x1b52dc))(&puStack_98,iVar29)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b52dc))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b52dc)" * (pointer_expression "*(code **)(pcVar32 + 0x1b52dc)" * (cast_expression "(code **)(pcVar32 + 0x1b52dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b52dc)" ( (binary_expression "pcVar32 + 0x1b52dc" identifier + number_literal) ))))) )) (argument_list "(&puStack_98,iVar29)" ( (pointer_expression "&puStack_98" & identifier) , identifier ))) ;) (expression_statement "iVar29 = (**(code **)(pcVar32 + 0x1b91b0))(uVar26);" (assignment_expression "iVar29 = (**(code **)(pcVar32 + 0x1b91b0))(uVar26)" identifier = (call_expression "(**(code **)(pcVar32 + 0x1b91b0))(uVar26)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b91b0))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b91b0)" * (pointer_expression "*(code **)(pcVar32 + 0x1b91b0)" * (cast_expression "(code **)(pcVar32 + 0x1b91b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b91b0)" ( (binary_expression "pcVar32 + 0x1b91b0" identifier + number_literal) ))))) )) (argument_list "(uVar26)" ( identifier )))) ;) (expression_statement "iVar29 = uStack_94 + 10 + iVar29;" (assignment_expression "iVar29 = uStack_94 + 10 + iVar29" identifier = (binary_expression "uStack_94 + 10 + iVar29" (binary_expression "uStack_94 + 10" identifier + number_literal) + identifier)) ;) (expression_statement "uVar20 = (**(code **)(pcVar32 + 0x1b4960))(iVar29);" (assignment_expression "uVar20 = (**(code **)(pcVar32 + 0x1b4960))(iVar29)" identifier = (call_expression "(**(code **)(pcVar32 + 0x1b4960))(iVar29)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b4960))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b4960)" * (pointer_expression "*(code **)(pcVar32 + 0x1b4960)" * (cast_expression "(code **)(pcVar32 + 0x1b4960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b4960)" ( (binary_expression "pcVar32 + 0x1b4960" identifier + number_literal) ))))) )) (argument_list "(iVar29)" ( identifier )))) ;) (expression_statement "puVar31 = puStack_98;" (assignment_expression "puVar31 = puStack_98" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar32 + 0x1b90a8))(uVar20,iVar29,uVar26,puStack_98);" (call_expression "(**(code **)(pcVar32 + 0x1b90a8))(uVar20,iVar29,uVar26,puStack_98)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b90a8))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b90a8)" * (pointer_expression "*(code **)(pcVar32 + 0x1b90a8)" * (cast_expression "(code **)(pcVar32 + 0x1b90a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b90a8)" ( (binary_expression "pcVar32 + 0x1b90a8" identifier + number_literal) ))))) )) (argument_list "(uVar20,iVar29,uVar26,puStack_98)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (param_4 < 7) {\n                    \n                    \n    puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();\n    return puVar19;\n  }" if (parenthesized_expression "(param_4 < 7)" ( (binary_expression "param_4 < 7" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n    puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();\n    return puVar19;\n  }" { (expression_statement "puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();" (assignment_expression "puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))()" identifier = (cast_expression "(undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))()" (parenthesized_expression "(*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))" ( (pointer_expression "*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                )" * (parenthesized_expression "(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                )" ( (binary_expression "pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)" (binary_expression "pcVar32 + 0x1bc854" identifier + number_literal) + (pointer_expression "*(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)" * (cast_expression "(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)" ( (binary_expression "*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4" (binary_expression "*(int *)(pcVar32 + 0x1b48f0) + -0x7610" (pointer_expression "*(int *)(pcVar32 + 0x1b48f0)" * (cast_expression "(int *)(pcVar32 + 0x1b48f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x1b48f0)" ( (binary_expression "pcVar32 + 0x1b48f0" identifier + number_literal) )))) + number_literal) + (binary_expression "param_4 * 4" identifier * number_literal)) ))))) ))) )) (argument_list "()" ( ))))) ;) (return_statement "return puVar19;" return identifier ;) })) (expression_statement "iVar30 = *(int *)(pcVar32 + 0x1b48f0) + -0x71dc;" (assignment_expression "iVar30 = *(int *)(pcVar32 + 0x1b48f0) + -0x71dc" identifier = (binary_expression "*(int *)(pcVar32 + 0x1b48f0) + -0x71dc" (pointer_expression "*(int *)(pcVar32 + 0x1b48f0)" * (cast_expression "(int *)(pcVar32 + 0x1b48f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x1b48f0)" ( (binary_expression "pcVar32 + 0x1b48f0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar32 + 0x1b5044))(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6);" (call_expression "(**(code **)(pcVar32 + 0x1b5044))(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b5044))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b5044)" * (pointer_expression "*(code **)(pcVar32 + 0x1b5044)" * (cast_expression "(code **)(pcVar32 + 0x1b5044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b5044)" ( (binary_expression "pcVar32 + 0x1b5044" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6)" ( (binary_expression "*(int *)(pcVar32 + 0x1b48f0) + -0x7758" (pointer_expression "*(int *)(pcVar32 + 0x1b48f0)" * (cast_expression "(int *)(pcVar32 + 0x1b48f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x1b48f0)" ( (binary_expression "pcVar32 + 0x1b48f0" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "iVar27 = 0xa1;" (assignment_expression "iVar27 = 0xa1" identifier = number_literal) ;) (expression_statement "iVar30 = iVar30 + -0x71bc;" (assignment_expression "iVar30 = iVar30 + -0x71bc" identifier = (binary_expression "iVar30 + -0x71bc" identifier + number_literal)) ;) (expression_statement "iVar29 = *(int *)(pcVar32 + 0x1b4890) + 0x3860;" (assignment_expression "iVar29 = *(int *)(pcVar32 + 0x1b4890) + 0x3860" identifier = (binary_expression "*(int *)(pcVar32 + 0x1b4890) + 0x3860" (pointer_expression "*(int *)(pcVar32 + 0x1b4890)" * (cast_expression "(int *)(pcVar32 + 0x1b4890)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x1b4890)" ( (binary_expression "pcVar32 + 0x1b4890" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar32 + 0x1b5044))();" (call_expression "(**(code **)(pcVar32 + 0x1b5044))()" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b5044))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b5044)" * (pointer_expression "*(code **)(pcVar32 + 0x1b5044)" * (cast_expression "(code **)(pcVar32 + 0x1b5044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b5044)" ( (binary_expression "pcVar32 + 0x1b5044" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (puStack_98 != auStack_90) {\n    (**(code **)(pcVar32 + 0x1b4910))(puStack_98);\n  }" if (parenthesized_expression "(puStack_98 != auStack_90)" ( (binary_expression "puStack_98 != auStack_90" identifier != identifier) )) (compound_statement "{\n    (**(code **)(pcVar32 + 0x1b4910))(puStack_98);\n  }" { (expression_statement "(**(code **)(pcVar32 + 0x1b4910))(puStack_98);" (call_expression "(**(code **)(pcVar32 + 0x1b4910))(puStack_98)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b4910))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b4910)" * (pointer_expression "*(code **)(pcVar32 + 0x1b4910)" * (cast_expression "(code **)(pcVar32 + 0x1b4910)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b4910)" ( (binary_expression "pcVar32 + 0x1b4910" identifier + number_literal) ))))) )) (argument_list "(puStack_98)" ( identifier ))) ;) })) (expression_statement "pcVar33 = *(code **)(pcVar32 + 0x1b48dc);" (assignment_expression "pcVar33 = *(code **)(pcVar32 + 0x1b48dc)" identifier = (pointer_expression "*(code **)(pcVar32 + 0x1b48dc)" * (cast_expression "(code **)(pcVar32 + 0x1b48dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b48dc)" ( (binary_expression "pcVar32 + 0x1b48dc" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar33)();" (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar19 = (undefined *)(uStack_94 & 0xff);" (assignment_expression "puVar19 = (undefined *)(uStack_94 & 0xff)" identifier = (cast_expression "(undefined *)(uStack_94 & 0xff)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_94 & 0xff)" ( (binary_expression "uStack_94 & 0xff" identifier & number_literal) )))) ;) (expression_statement "*puStack_9c = 0;" (assignment_expression "*puStack_9c = 0" (pointer_expression "*puStack_9c" * identifier) = number_literal) ;) (expression_statement "*puStack_98 = 0;" (assignment_expression "*puStack_98 = 0" (pointer_expression "*puStack_98" * identifier) = number_literal) ;) (expression_statement "uVar25 = *(uint *)(iVar29 + 0x28);" (assignment_expression "uVar25 = *(uint *)(iVar29 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = (uVar25 << 0x10) >> 0x1d;" (assignment_expression "uVar24 = (uVar25 << 0x10) >> 0x1d" identifier = (binary_expression "(uVar25 << 0x10) >> 0x1d" (parenthesized_expression "(uVar25 << 0x10)" ( (binary_expression "uVar25 << 0x10" identifier << number_literal) )) >> number_literal)) ;) (if_statement "if (uVar24 == 4) {\n    uVar24 = 1;\n    uVar26 = 0;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  else if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" if (parenthesized_expression "(uVar24 == 4)" ( (binary_expression "uVar24 == 4" identifier == number_literal) )) (compound_statement "{\n    uVar24 = 1;\n    uVar26 = 0;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" { (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "uVar25 = (uVar25 << 4) >> 0x1c;" (assignment_expression "uVar25 = (uVar25 << 4) >> 0x1c" identifier = (binary_expression "(uVar25 << 4) >> 0x1c" (parenthesized_expression "(uVar25 << 4)" ( (binary_expression "uVar25 << 4" identifier << number_literal) )) >> number_literal)) ;) }) (else_clause "else if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" else (if_statement "if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }" { (expression_statement "uVar24 = (uVar25 << 0x1d) >> 0x1f;" (assignment_expression "uVar24 = (uVar25 << 0x1d) >> 0x1f" identifier = (binary_expression "(uVar25 << 0x1d) >> 0x1f" (parenthesized_expression "(uVar25 << 0x1d)" ( (binary_expression "uVar25 << 0x1d" identifier << number_literal) )) >> number_literal)) ;) (if_statement "if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }" if (parenthesized_expression "((uVar25 & 0xe000) != 0)" ( (binary_expression "(uVar25 & 0xe000) != 0" (parenthesized_expression "(uVar25 & 0xe000)" ( (binary_expression "uVar25 & 0xe000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }" { (expression_statement "iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;" (assignment_expression "iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8" identifier = (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x71a8" (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" * (cast_expression "(int *)(pcVar33 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b4658)" ( (binary_expression "pcVar33 + 0x1b4658" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);" (call_expression "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1b4dac))" ( (pointer_expression "**(code **)(pcVar33 + 0x1b4dac)" * (pointer_expression "*(code **)(pcVar33 + 0x1b4dac)" * (cast_expression "(code **)(pcVar33 + 0x1b4dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1b4dac)" ( (binary_expression "pcVar33 + 0x1b4dac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24)" ( (binary_expression "*(int *)(pcVar33 + 0x1b45f8) + 0x3860" (pointer_expression "*(int *)(pcVar33 + 0x1b45f8)" * (cast_expression "(int *)(pcVar33 + 0x1b45f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b45f8)" ( (binary_expression "pcVar33 + 0x1b45f8" identifier + number_literal) )))) + number_literal) , number_literal , identifier , identifier ))) ;) (expression_statement "iVar29 = iVar29 + -0x71bc;" (assignment_expression "iVar29 = iVar29 + -0x71bc" identifier = (binary_expression "iVar29 + -0x71bc" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);" (call_expression "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1b4dac))" ( (pointer_expression "**(code **)(pcVar33 + 0x1b4dac)" * (pointer_expression "*(code **)(pcVar33 + 0x1b4dac)" * (cast_expression "(code **)(pcVar33 + 0x1b4dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1b4dac)" ( (binary_expression "pcVar33 + 0x1b4dac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29)" ( (binary_expression "*(int *)(pcVar33 + 0x1b45f8) + 0x3860" (pointer_expression "*(int *)(pcVar33 + 0x1b45f8)" * (cast_expression "(int *)(pcVar33 + 0x1b45f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b45f8)" ( (binary_expression "pcVar33 + 0x1b45f8" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (expression_statement "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;" (call_expression "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1b4dac))" ( (pointer_expression "**(code **)(pcVar33 + 0x1b4dac)" * (pointer_expression "*(code **)(pcVar33 + 0x1b4dac)" * (cast_expression "(code **)(pcVar33 + 0x1b4dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1b4dac)" ( (binary_expression "pcVar33 + 0x1b4dac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)" ( (binary_expression "*(int *)(pcVar33 + 0x1b45f8) + -0x9b8" (pointer_expression "*(int *)(pcVar33 + 0x1b45f8)" * (cast_expression "(int *)(pcVar33 + 0x1b45f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b45f8)" ( (binary_expression "pcVar33 + 0x1b45f8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar29 + -0x71c4" identifier + number_literal) ))) ;) (expression_statement "iVar27 = 0x1ea;" (assignment_expression "iVar27 = 0x1ea" identifier = number_literal) ;) (expression_statement "pcVar32 = *(code **)(pcVar33 + 0x1b4dac);" (assignment_expression "pcVar32 = *(code **)(pcVar33 + 0x1b4dac)" identifier = (pointer_expression "*(code **)(pcVar33 + 0x1b4dac)" * (cast_expression "(code **)(pcVar33 + 0x1b4dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1b4dac)" ( (binary_expression "pcVar33 + 0x1b4dac" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;" (assignment_expression "iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570" identifier = (binary_expression "*(int *)(pcVar33 + 0x1b45f8) + 0x4570" (pointer_expression "*(int *)(pcVar33 + 0x1b45f8)" * (cast_expression "(int *)(pcVar33 + 0x1b45f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b45f8)" ( (binary_expression "pcVar33 + 0x1b45f8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);" (call_expression "(*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x71b4" (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" * (cast_expression "(int *)(pcVar33 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b4658)" ( (binary_expression "pcVar33 + 0x1b4658" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }" if (parenthesized_expression "((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0))" ( (binary_expression "(*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)" (parenthesized_expression "(*(int *)(iVar29 + 0x10) == 0)" ( (binary_expression "*(int *)(iVar29 + 0x10) == 0" (pointer_expression "*(int *)(iVar29 + 0x10)" * (cast_expression "(int *)(iVar29 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x10)" ( (binary_expression "iVar29 + 0x10" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar27 + 0x10) == 0)" ( (binary_expression "*(int *)(iVar27 + 0x10) == 0" (pointer_expression "*(int *)(iVar27 + 0x10)" * (cast_expression "(int *)(iVar27 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x10)" ( (binary_expression "iVar27 + 0x10" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }" { (if_statement "if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }" if (parenthesized_expression "((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0))" ( (binary_expression "(*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)" (parenthesized_expression "(*(int *)(iVar29 + 0x14) == 0)" ( (binary_expression "*(int *)(iVar29 + 0x14) == 0" (pointer_expression "*(int *)(iVar29 + 0x14)" * (cast_expression "(int *)(iVar29 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x14)" ( (binary_expression "iVar29 + 0x14" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar27 + 0x14) == 0)" ( (binary_expression "*(int *)(iVar27 + 0x14) == 0" (pointer_expression "*(int *)(iVar27 + 0x14)" * (cast_expression "(int *)(iVar27 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x14)" ( (binary_expression "iVar27 + 0x14" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }" { (if_statement "if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }" if (parenthesized_expression "((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1))" ( (binary_expression "(*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)" (parenthesized_expression "(*(int *)(iVar29 + 0x1c) == -1)" ( (binary_expression "*(int *)(iVar29 + 0x1c) == -1" (pointer_expression "*(int *)(iVar29 + 0x1c)" * (cast_expression "(int *)(iVar29 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1c)" ( (binary_expression "iVar29 + 0x1c" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar27 + 0x1c) == -1)" ( (binary_expression "*(int *)(iVar27 + 0x1c) == -1" (pointer_expression "*(int *)(iVar27 + 0x1c)" * (cast_expression "(int *)(iVar27 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1c)" ( (binary_expression "iVar27 + 0x1c" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }" { (if_statement "if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }" if (parenthesized_expression "((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1))" ( (binary_expression "(*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)" (parenthesized_expression "(*(int *)(iVar29 + 0x18) == -1)" ( (binary_expression "*(int *)(iVar29 + 0x18) == -1" (pointer_expression "*(int *)(iVar29 + 0x18)" * (cast_expression "(int *)(iVar29 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x18)" ( (binary_expression "iVar29 + 0x18" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar27 + 0x18) == -1)" ( (binary_expression "*(int *)(iVar27 + 0x18) == -1" (pointer_expression "*(int *)(iVar27 + 0x18)" * (cast_expression "(int *)(iVar27 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x18)" ( (binary_expression "iVar27 + 0x18" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }" { (if_statement "if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }" if (parenthesized_expression "(*(int *)(iVar27 + 4) == 0)" ( (binary_expression "*(int *)(iVar27 + 4) == 0" (pointer_expression "*(int *)(iVar27 + 4)" * (cast_expression "(int *)(iVar27 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 4)" ( (binary_expression "iVar27 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }" { (expression_statement "*(undefined4 *)(iVar29 + 4) = 0;" (assignment_expression "*(undefined4 *)(iVar29 + 4) = 0" (pointer_expression "*(undefined4 *)(iVar29 + 4)" * (cast_expression "(undefined4 *)(iVar29 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "uVar22 = *(uint *)(iVar29 + 0x28);" (assignment_expression "uVar22 = *(uint *)(iVar29 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar26 = *(undefined4 *)(iVar27 + 8);" (assignment_expression "uVar26 = *(undefined4 *)(iVar27 + 8)" identifier = (pointer_expression "*(undefined4 *)(iVar27 + 8)" * (cast_expression "(undefined4 *)(iVar27 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 8)" ( (binary_expression "iVar27 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;" (assignment_expression "uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000" identifier = (binary_expression "*(uint *)(iVar27 + 0x28) & 0xf0000000" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);" (assignment_expression "*(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc)" (pointer_expression "*(undefined4 *)(iVar29 + 0xc)" * (cast_expression "(undefined4 *)(iVar29 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xc)" ( (binary_expression "iVar29 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar27 + 0xc)" * (cast_expression "(undefined4 *)(iVar27 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0xc)" ( (binary_expression "iVar27 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar29 + 8) = uVar26;" (assignment_expression "*(undefined4 *)(iVar29 + 8) = uVar26" (pointer_expression "*(undefined4 *)(iVar29 + 8)" * (cast_expression "(undefined4 *)(iVar29 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 8)" ( (binary_expression "iVar29 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xfffffff | uVar24" (binary_expression "uVar22 & 0xfffffff" identifier & number_literal) | identifier)) ;) (expression_statement "uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;" (assignment_expression "uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 4)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 4" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xffffff | uVar24 | uVar25" (binary_expression "uVar22 & 0xffffff | uVar24" (binary_expression "uVar22 & 0xffffff" identifier & number_literal) | identifier) | identifier)) ;) (expression_statement "uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;" (assignment_expression "uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 8)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 8" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x3fffff | uVar24 | uVar25" (binary_expression "uVar22 & 0x3fffff | uVar24" (binary_expression "uVar22 & 0x3fffff" identifier & number_literal) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;" (assignment_expression "uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 10)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 10" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0xffff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0xffff | uVar24 | uVar25" (binary_expression "uVar22 & 0xffff | uVar24" (binary_expression "uVar22 & 0xffff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;" (assignment_expression "uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x10)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x10" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x1fff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x1fff | uVar24 | uVar25" (binary_expression "uVar22 & 0x1fff | uVar24" (binary_expression "uVar22 & 0x1fff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;" (assignment_expression "uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x13)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x13" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0xfff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0xfff | uVar24 | uVar25" (binary_expression "uVar22 & 0xfff | uVar24" (binary_expression "uVar22 & 0xfff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;" (assignment_expression "uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x14)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x14" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25" (binary_expression "uVar22 & 0x7ff | uVar24" (binary_expression "uVar22 & 0x7ff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;" (assignment_expression "uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x15)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x15" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25" (binary_expression "uVar22 & 0x3ff | uVar24" (binary_expression "uVar22 & 0x3ff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;" (assignment_expression "uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x16)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x16" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25" (binary_expression "uVar22 & 0x1ff | uVar24" (binary_expression "uVar22 & 0x1ff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;" (assignment_expression "uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x17)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x17" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0xff | uVar24 | uVar25" (binary_expression "uVar22 & 0xff | uVar24" (binary_expression "uVar22 & 0xff" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;" (assignment_expression "uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x18)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x18" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25" (binary_expression "uVar22 & 0x7f | uVar24" (binary_expression "uVar22 & 0x7f" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;" (assignment_expression "uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x19)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x19" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25" (binary_expression "uVar22 & 0x3f | uVar24" (binary_expression "uVar22 & 0x3f" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;" (assignment_expression "uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1a)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x1a)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x1a" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25" (binary_expression "uVar22 & 0x1f | uVar24" (binary_expression "uVar22 & 0x1f" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;" (assignment_expression "uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1b)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x1b)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x1b" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0xf | uVar24 | uVar25" (binary_expression "uVar22 & 0xf | uVar24" (binary_expression "uVar22 & 0xf" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "bVar14 = *(byte *)(iVar29 + 0x2c);" (assignment_expression "bVar14 = *(byte *)(iVar29 + 0x2c)" identifier = (pointer_expression "*(byte *)(iVar29 + 0x2c)" * (cast_expression "(byte *)(iVar29 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;" (assignment_expression "uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1d)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x1d)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x1d" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0xb | uVar24 | uVar25" (binary_expression "uVar22 & 0xb | uVar24" (binary_expression "uVar22 & 0xb" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;" (assignment_expression "uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1" identifier = (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1e)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x1e)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x1e" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 9 | uVar24 | uVar25" (binary_expression "uVar22 & 9 | uVar24" (binary_expression "uVar22 & 9" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;" (assignment_expression "uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1" identifier = (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 8 | uVar24 | uVar25" (binary_expression "uVar22 & 8 | uVar24" (binary_expression "uVar22 & 8" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | identifier) | (binary_expression "*(uint *)(iVar27 + 0x28) & 1" (pointer_expression "*(uint *)(iVar27 + 0x28)" * (cast_expression "(uint *)(iVar27 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) & number_literal))) ;) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar24;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar24" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);" (assignment_expression "bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7)" identifier = (call_expression "(byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7)" ( (binary_expression "(*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7" (parenthesized_expression "(*(uint *)(iVar27 + 0x2c) >> 0x1f)" ( (binary_expression "*(uint *)(iVar27 + 0x2c) >> 0x1f" (pointer_expression "*(uint *)(iVar27 + 0x2c)" * (cast_expression "(uint *)(iVar27 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) >> number_literal) )) << number_literal) )))) ;) (expression_statement "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;" (assignment_expression "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15" (pointer_expression "*(byte *)(iVar29 + 0x2c)" * (cast_expression "(byte *)(iVar29 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar14 & 0x7f | bVar15" (binary_expression "bVar14 & 0x7f" identifier & number_literal) | identifier)) ;) (expression_statement "bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);" (assignment_expression "bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6)" identifier = (call_expression "(byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6)" ( (binary_expression "((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x2c) << 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x2c) << 1)" ( (binary_expression "*(int *)(iVar27 + 0x2c) << 1" (pointer_expression "*(int *)(iVar27 + 0x2c)" * (cast_expression "(int *)(iVar27 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal) )))) ;) (expression_statement "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;" (assignment_expression "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16" (pointer_expression "*(byte *)(iVar29 + 0x2c)" * (cast_expression "(byte *)(iVar29 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar14 & 0x3f | bVar15 | bVar16" (binary_expression "bVar14 & 0x3f | bVar15" (binary_expression "bVar14 & 0x3f" identifier & number_literal) | identifier) | identifier)) ;) (expression_statement "bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);" (assignment_expression "bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5)" identifier = (call_expression "(byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5)" ( (binary_expression "((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x2c) << 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x2c) << 2)" ( (binary_expression "*(int *)(iVar27 + 0x2c) << 2" (pointer_expression "*(int *)(iVar27 + 0x2c)" * (cast_expression "(int *)(iVar27 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal) )))) ;) (expression_statement "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;" (assignment_expression "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17" (pointer_expression "*(byte *)(iVar29 + 0x2c)" * (cast_expression "(byte *)(iVar29 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar14 & 0x1f | bVar15 | bVar16 | bVar17" (binary_expression "bVar14 & 0x1f | bVar15 | bVar16" (binary_expression "bVar14 & 0x1f | bVar15" (binary_expression "bVar14 & 0x1f" identifier & number_literal) | identifier) | identifier) | identifier)) ;) (expression_statement "bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);" (assignment_expression "bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4)" identifier = (call_expression "(byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4)" ( (binary_expression "((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x2c) << 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x2c) << 3)" ( (binary_expression "*(int *)(iVar27 + 0x2c) << 3" (pointer_expression "*(int *)(iVar27 + 0x2c)" * (cast_expression "(int *)(iVar27 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal) )))) ;) (expression_statement "*(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;" (assignment_expression "*(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18" (pointer_expression "*(byte *)(iVar29 + 0x2c)" * (cast_expression "(byte *)(iVar29 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18" (binary_expression "bVar14 & 0xf | bVar15 | bVar16 | bVar17" (binary_expression "bVar14 & 0xf | bVar15 | bVar16" (binary_expression "bVar14 & 0xf | bVar15" (binary_expression "bVar14 & 0xf" identifier & number_literal) | identifier) | identifier) | identifier) | identifier)) ;) (expression_statement "*(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);" (assignment_expression "*(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3)" (pointer_expression "*(byte *)(iVar29 + 0x2c)" * (cast_expression "(byte *)(iVar29 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3)" (binary_expression "bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18" (binary_expression "bVar14 & 7 | bVar15 | bVar16 | bVar17" (binary_expression "bVar14 & 7 | bVar15 | bVar16" (binary_expression "bVar14 & 7 | bVar15" (binary_expression "bVar14 & 7" identifier & number_literal) | identifier) | identifier) | identifier) | identifier) | (call_expression "(byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3)" ( (binary_expression "((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x2c) << 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x2c) << 4)" ( (binary_expression "*(int *)(iVar27 + 0x2c) << 4" (pointer_expression "*(int *)(iVar27 + 0x2c)" * (cast_expression "(int *)(iVar27 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x2c)" ( (binary_expression "iVar27 + 0x2c" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )) << number_literal) ))))) ;) (if_statement "if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }" if (parenthesized_expression "((int)(uVar24 << 0x1c) < 0)" ( (binary_expression "(int)(uVar24 << 0x1c) < 0" (cast_expression "(int)(uVar24 << 0x1c)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar24 << 0x1c)" ( (binary_expression "uVar24 << 0x1c" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n                puVar19 = (undefined *)0x0;\n              }" { (expression_statement "puVar19 = (undefined *)0x0;" (assignment_expression "puVar19 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }" else (compound_statement "{\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }" { (expression_statement "puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);" (assignment_expression "puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f)" identifier = (cast_expression "(undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f)" ( (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar27 + 0x28) << 0x1c)" ( (binary_expression "*(int *)(iVar27 + 0x28) << 0x1c" (pointer_expression "*(int *)(iVar27 + 0x28)" * (cast_expression "(int *)(iVar27 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) )))) ;) }))) (return_statement "return puVar19;" return identifier ;) })) (expression_statement "uVar26 = 0x3c4;" (assignment_expression "uVar26 = 0x3c4" identifier = number_literal) ;) }) (else_clause "else {\n            uVar26 = 0x3c3;\n          }" else (compound_statement "{\n            uVar26 = 0x3c3;\n          }" { (expression_statement "uVar26 = 0x3c3;" (assignment_expression "uVar26 = 0x3c3" identifier = number_literal) ;) }))) }) (else_clause "else {\n          uVar26 = 0x3c1;\n        }" else (compound_statement "{\n          uVar26 = 0x3c1;\n        }" { (expression_statement "uVar26 = 0x3c1;" (assignment_expression "uVar26 = 0x3c1" identifier = number_literal) ;) }))) }) (else_clause "else {\n        uVar26 = 0x3c0;\n      }" else (compound_statement "{\n        uVar26 = 0x3c0;\n      }" { (expression_statement "uVar26 = 0x3c0;" (assignment_expression "uVar26 = 0x3c0" identifier = number_literal) ;) }))) (expression_statement "puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);" (assignment_expression "puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4)" identifier = (cast_expression "(undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b48fc))" ( (pointer_expression "**(code **)(pcVar32 + 0x1b48fc)" * (pointer_expression "*(code **)(pcVar32 + 0x1b48fc)" * (cast_expression "(code **)(pcVar32 + 0x1b48fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1b48fc)" ( (binary_expression "pcVar32 + 0x1b48fc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4)" ( (binary_expression "*(int *)(pcVar32 + 0x1b41a8) + -0x7758" (pointer_expression "*(int *)(pcVar32 + 0x1b41a8)" * (cast_expression "(int *)(pcVar32 + 0x1b41a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x1b41a8)" ( (binary_expression "pcVar32 + 0x1b41a8" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(pcVar32 + 0x1b41a8) + -0x71e4" (pointer_expression "*(int *)(pcVar32 + 0x1b41a8)" * (cast_expression "(int *)(pcVar32 + 0x1b41a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x1b41a8)" ( (binary_expression "pcVar32 + 0x1b41a8" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return puVar19;" return identifier ;) })) (expression_statement "uVar26 = *(undefined4 *)(iVar29 + 0xc);" (assignment_expression "uVar26 = *(undefined4 *)(iVar29 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(iVar29 + 0xc)" * (cast_expression "(undefined4 *)(iVar29 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xc)" ( (binary_expression "iVar29 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar25 = (uVar25 << 4) >> 0x1c;" (assignment_expression "uVar25 = (uVar25 << 4) >> 0x1c" identifier = (binary_expression "(uVar25 << 4) >> 0x1c" (parenthesized_expression "(uVar25 << 4)" ( (binary_expression "uVar25 << 4" identifier << number_literal) )) >> number_literal)) ;) (expression_statement "uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;" (assignment_expression "uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f" identifier = (binary_expression "*(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f" (pointer_expression "*(uint *)(*(int *)(iVar29 + 8) + 0x2c)" * (cast_expression "(uint *)(*(int *)(iVar29 + 8) + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar29 + 8) + 0x2c)" ( (binary_expression "*(int *)(iVar29 + 8) + 0x2c" (pointer_expression "*(int *)(iVar29 + 8)" * (cast_expression "(int *)(iVar29 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 8)" ( (binary_expression "iVar29 + 8" identifier + number_literal) )))) + number_literal) )))) >> number_literal)) ;) }) (else_clause "else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" else (compound_statement "{\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" { (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (expression_statement "uVar26 = 0xfff1;" (assignment_expression "uVar26 = 0xfff1" identifier = number_literal) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "uVar25 = (uVar25 << 4) >> 0x1c;" (assignment_expression "uVar25 = (uVar25 << 4) >> 0x1c" identifier = (binary_expression "(uVar25 << 4) >> 0x1c" (parenthesized_expression "(uVar25 << 4)" ( (binary_expression "uVar25 << 4" identifier << number_literal) )) >> number_literal)) ;) }))))) (expression_statement "iVar21 = FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24);" (assignment_expression "iVar21 = FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24)" identifier = (call_expression "FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24)" identifier (argument_list "(uVar25,uVar28,uVar26,uVar24)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if ((*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6)) {\n    iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }\n    uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);\n    gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);\n  }" if (parenthesized_expression "((*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6))" ( (binary_expression "(*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6)" (parenthesized_expression "(*(uint *)(iVar29 + 0x28) >> 0x1c == 6)" ( (binary_expression "*(uint *)(iVar29 + 0x28) >> 0x1c == 6" (binary_expression "*(uint *)(iVar29 + 0x28) >> 0x1c" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) >> number_literal) == number_literal) )) != (parenthesized_expression "(iVar30 == 6)" ( (binary_expression "iVar30 == 6" identifier == number_literal) ))) )) (compound_statement "{\n    iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }\n    uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);\n    gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);\n  }" { (expression_statement "iVar30 = *(int *)(pcVar33 + 0x1b4658);" (assignment_expression "iVar30 = *(int *)(pcVar33 + 0x1b4658)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" * (cast_expression "(int *)(pcVar33 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b4658)" ( (binary_expression "pcVar33 + 0x1b4658" identifier + number_literal) ))))) ;) (if_statement "if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }" if (parenthesized_expression "((*(uint *)(iVar29 + 0x28) & 0xe000) == 0)" ( (binary_expression "(*(uint *)(iVar29 + 0x28) & 0xe000) == 0" (parenthesized_expression "(*(uint *)(iVar29 + 0x28) & 0xe000)" ( (binary_expression "*(uint *)(iVar29 + 0x28) & 0xe000" (pointer_expression "*(uint *)(iVar29 + 0x28)" * (cast_expression "(uint *)(iVar29 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }" { (expression_statement "iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));" (assignment_expression "iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8))" identifier = (call_expression "(**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8))" (parenthesized_expression "(**(code **)(**(int **)(iVar29 + 8) + 0x14))" ( (pointer_expression "**(code **)(**(int **)(iVar29 + 8) + 0x14)" * (pointer_expression "*(code **)(**(int **)(iVar29 + 8) + 0x14)" * (cast_expression "(code **)(**(int **)(iVar29 + 8) + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(iVar29 + 8) + 0x14)" ( (binary_expression "**(int **)(iVar29 + 8) + 0x14" (pointer_expression "**(int **)(iVar29 + 8)" * (pointer_expression "*(int **)(iVar29 + 8)" * (cast_expression "(int **)(iVar29 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 8)" ( (binary_expression "iVar29 + 8" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(iVar29 + 8))" ( (pointer_expression "*(int **)(iVar29 + 8)" * (cast_expression "(int **)(iVar29 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 8)" ( (binary_expression "iVar29 + 8" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar30 != 0) goto LAB_0030cd70;" if (parenthesized_expression "(iVar30 != 0)" ( (binary_expression "iVar30 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0030cd70;" goto statement_identifier ;)) (expression_statement "iVar30 = *(int *)(pcVar33 + 0x1b4658);" (assignment_expression "iVar30 = *(int *)(pcVar33 + 0x1b4658)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" * (cast_expression "(int *)(pcVar33 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b4658)" ( (binary_expression "pcVar33 + 0x1b4658" identifier + number_literal) ))))) ;) })) (expression_statement "uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);" (assignment_expression "uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0)" identifier = (call_expression "(**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1b8fac))" ( (pointer_expression "**(code **)(pcVar33 + 0x1b8fac)" * (pointer_expression "*(code **)(pcVar33 + 0x1b8fac)" * (cast_expression "(code **)(pcVar33 + 0x1b8fac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1b8fac)" ( (binary_expression "pcVar33 + 0x1b8fac" identifier + number_literal) ))))) )) (argument_list "(iVar30 + -0x76f0)" ( (binary_expression "iVar30 + -0x76f0" identifier + number_literal) )))) ;) (labeled_statement "gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);" statement_identifier : (ERROR ":" :) (labeled_statement "Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);" statement_identifier : (ERROR ":" :) (expression_statement "report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);" (call_expression "report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854)" identifier (argument_list "(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854)" ( number_literal , identifier , identifier , identifier , (binary_expression "pcVar32 + 0x1bc854" identifier + number_literal) ))) ;))) })) (labeled_statement "LAB_0030cd70:\n  uVar24 = iVar21 * 0x10 + iVar27;" statement_identifier : (expression_statement "uVar24 = iVar21 * 0x10 + iVar27;" (assignment_expression "uVar24 = iVar21 * 0x10 + iVar27" identifier = (binary_expression "iVar21 * 0x10 + iVar27" (binary_expression "iVar21 * 0x10" identifier * number_literal) + identifier)) ;)) (if_statement "if (0xbb < uVar24) {\n    uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);\n    if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }\n    return puVar19;\n  }" if (parenthesized_expression "(0xbb < uVar24)" ( (binary_expression "0xbb < uVar24" number_literal < identifier) )) (compound_statement "{\n    uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);\n    if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }\n    return puVar19;\n  }" { (expression_statement "uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);" (assignment_expression "uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0)" identifier = (call_expression "(**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1b4dac))" ( (pointer_expression "**(code **)(pcVar33 + 0x1b4dac)" * (pointer_expression "*(code **)(pcVar33 + 0x1b4dac)" * (cast_expression "(code **)(pcVar33 + 0x1b4dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1b4dac)" ( (binary_expression "pcVar33 + 0x1b4dac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0)" ( (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x7758" (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" * (cast_expression "(int *)(pcVar33 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b4658)" ( (binary_expression "pcVar33 + 0x1b4658" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x71a0" (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" * (cast_expression "(int *)(pcVar33 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b4658)" ( (binary_expression "pcVar33 + 0x1b4658" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }" if (parenthesized_expression "((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0))" ( (binary_expression "(*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)" (parenthesized_expression "(*(int *)(iVar29 + 4) != 0)" ( (binary_expression "*(int *)(iVar29 + 4) != 0" (pointer_expression "*(int *)(iVar29 + 4)" * (cast_expression "(int *)(iVar29 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "(puVar19 == (undefined *)0x0)" ( (binary_expression "puVar19 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }" { (if_statement "if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0))))" ( (binary_expression "((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))" (parenthesized_expression "((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0)" ( (binary_expression "(int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0" (binary_expression "(int)((ulonglong)uVar34 >> 0x20) << 0x17" (cast_expression "(int)((ulonglong)uVar34 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar34 >> 0x20)" ( (binary_expression "(ulonglong)uVar34 >> 0x20" (cast_expression "(ulonglong)uVar34" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) << number_literal) < number_literal) )) && (parenthesized_expression "((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))" ( (parenthesized_expression "(*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0))" ( (binary_expression "*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)" (binary_expression "*(int *)(iVar29 + 0x2c) << 1 < 0" (binary_expression "*(int *)(iVar29 + 0x2c) << 1" (pointer_expression "*(int *)(iVar29 + 0x2c)" * (cast_expression "(int *)(iVar29 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) )))) << number_literal) < number_literal) && (parenthesized_expression "(iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)" ( (comma_expression "iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0" (assignment_expression "iVar29 = *(int *)((int)uVar34 + 0x2c)" identifier = (pointer_expression "*(int *)((int)uVar34 + 0x2c)" * (cast_expression "(int *)((int)uVar34 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)uVar34 + 0x2c)" ( (binary_expression "(int)uVar34 + 0x2c" (cast_expression "(int)uVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) , (binary_expression "iVar29 << 6 < 0" (binary_expression "iVar29 << 6" identifier << number_literal) < number_literal)) ))) )) ))) )) (compound_statement "{\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }" { (expression_statement "puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);" (assignment_expression "puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1)" identifier = (cast_expression "(undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(iVar29 << 1) >> 0x1f ^ 1)" ( (binary_expression "(uint)(iVar29 << 1) >> 0x1f ^ 1" (binary_expression "(uint)(iVar29 << 1) >> 0x1f" (call_expression "(uint)(iVar29 << 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar29 << 1)" ( (binary_expression "iVar29 << 1" identifier << number_literal) ))) >> number_literal) ^ number_literal) )))) ;) }) (else_clause "else {\n        puVar19 = (undefined *)0x0;\n      }" else (compound_statement "{\n        puVar19 = (undefined *)0x0;\n      }" { (expression_statement "puVar19 = (undefined *)0x0;" (assignment_expression "puVar19 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) })) (return_statement "return puVar19;" return identifier ;) })) (expression_statement "puVar19 = (undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ();" (assignment_expression "puVar19 = (undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ()" identifier = (cast_expression "(undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ()" (parenthesized_expression "(*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))" ( (pointer_expression "*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc)" * (parenthesized_expression "(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc)" ( (binary_expression "pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc" (binary_expression "pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4)" identifier + (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4)" * (cast_expression "(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4)" ( (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4" (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x75f4" (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" * (cast_expression "(int *)(pcVar33 + 0x1b4658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1b4658)" ( (binary_expression "pcVar33 + 0x1b4658" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar24 * 4" identifier * number_literal)) ))))) + number_literal) ))) )) (argument_list "()" ( ))))) ;) (return_statement "return puVar19;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) + LIT) ))))) == LIT) )) (compound_statement { (return_statement return IDENT ;) })))) (expression_statement (assignment_expression IDENT = (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) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == 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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) + LIT) ))))) == LIT) )) (compound_statement { (return_statement return IDENT ;) })))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT << LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , (binary_expression IDENT << LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (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 ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (binary_expression IDENT * LIT)) ))))) ))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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 ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression IDENT & LIT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | IDENT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) )) << LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression IDENT & LIT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT) | IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | IDENT) | IDENT) | IDENT) | IDENT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )) << LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) )))) ;) }))) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) >> LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT)) ;) }))))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) == LIT) )) != (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (labeled_statement statement_identifier : (ERROR :) (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT , (binary_expression IDENT + LIT) ))) ;))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) + IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) << LIT) < LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) < LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) , (binary_expression (binary_expression IDENT << LIT) < LIT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT << LIT) ))) >> LIT) ^ LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) })) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (binary_expression IDENT * LIT)) ))))) + LIT) ))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })))
(function_definition "undefined * FUN_0030c880(undefined *param_1,undefined4 param_2,undefined4 param_3,uint param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  byte bVar14;\n  byte bVar15;\n  byte bVar16;\n  byte bVar17;\n  byte bVar18;\n  undefined *puVar19;\n  undefined4 uVar20;\n  int iVar21;\n  uint uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  uint uVar25;\n  undefined4 uVar26;\n  int iVar27;\n  uint uVar28;\n  int iVar29;\n  int iVar30;\n  undefined1 *puVar31;\n  code *pcVar32;\n  code *pcVar33;\n  undefined8 uVar34;\n  undefined1 *puStack_9c;\n  undefined1 *puStack_98;\n  uint uStack_94;\n  undefined1 auStack_90 [20];\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }\n  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }\n  puVar23 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860;\n  puVar19 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);\n  if (*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0) {\n    (**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);\n  }\n  else if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }\n  uVar26 = 0x7f4;\n  pcVar32 = *(code **)(puVar19 + 0x1b5130);\n  iVar29 = *(int *)(puVar19 + 0x1b49dc) + -0x72b8;\n  uVar24 = *(int *)(puVar19 + 0x1b497c) + 0x3860;\n  (*pcVar32)();\n  if (uVar24 < 0x40000000) {\n    uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);\n    puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return puVar19;\n  }\n  pcVar32 = *(code **)(pcVar32 + 0x1b5140);\n  (*pcVar32)();\n  (**(code **)(pcVar32 + 0x1b52dc))(&puStack_98,iVar29);\n  iVar29 = (**(code **)(pcVar32 + 0x1b91b0))(uVar26);\n  iVar29 = uStack_94 + 10 + iVar29;\n  uVar20 = (**(code **)(pcVar32 + 0x1b4960))(iVar29);\n  puVar31 = puStack_98;\n  (**(code **)(pcVar32 + 0x1b90a8))(uVar20,iVar29,uVar26,puStack_98);\n  if (param_4 < 7) {\n                    \n                    \n    puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();\n    return puVar19;\n  }\n  iVar30 = *(int *)(pcVar32 + 0x1b48f0) + -0x71dc;\n  (**(code **)(pcVar32 + 0x1b5044))(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6);\n  iVar27 = 0xa1;\n  iVar30 = iVar30 + -0x71bc;\n  iVar29 = *(int *)(pcVar32 + 0x1b4890) + 0x3860;\n  (**(code **)(pcVar32 + 0x1b5044))();\n  if (puStack_98 != auStack_90) {\n    (**(code **)(pcVar32 + 0x1b4910))(puStack_98);\n  }\n  pcVar33 = *(code **)(pcVar32 + 0x1b48dc);\n  (*pcVar33)();\n  puVar19 = (undefined *)(uStack_94 & 0xff);\n  *puStack_9c = 0;\n  *puStack_98 = 0;\n  uVar25 = *(uint *)(iVar29 + 0x28);\n  uVar24 = (uVar25 << 0x10) >> 0x1d;\n  if (uVar24 == 4) {\n    uVar24 = 1;\n    uVar26 = 0;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  else if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  iVar21 = FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24);\n  if ((*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6)) {\n    iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }\n    uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);\n    gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);\n  }\nLAB_0030cd70:\n  uVar24 = iVar21 * 0x10 + iVar27;\n  if (0xbb < uVar24) {\n    uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);\n    if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }\n    return puVar19;\n  }\n                    \n                    \n  puVar19 = (undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ();\n  return puVar19;\n}" (type_identifier "undefined") (pointer_declarator "* FUN_0030c880(undefined *param_1,undefined4 param_2,undefined4 param_3,uint param_4)" (* "*") (function_declarator "FUN_0030c880(undefined *param_1,undefined4 param_2,undefined4 param_3,uint param_4)" (identifier "FUN_0030c880") (parameter_list "(undefined *param_1,undefined4 param_2,undefined4 param_3,uint param_4)" (( "(") (parameter_declaration "undefined *param_1" (type_identifier "undefined") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) () ")")))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  byte bVar14;\n  byte bVar15;\n  byte bVar16;\n  byte bVar17;\n  byte bVar18;\n  undefined *puVar19;\n  undefined4 uVar20;\n  int iVar21;\n  uint uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  uint uVar25;\n  undefined4 uVar26;\n  int iVar27;\n  uint uVar28;\n  int iVar29;\n  int iVar30;\n  undefined1 *puVar31;\n  code *pcVar32;\n  code *pcVar33;\n  undefined8 uVar34;\n  undefined1 *puStack_9c;\n  undefined1 *puStack_98;\n  uint uStack_94;\n  undefined1 auStack_90 [20];\n  \n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }\n  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }\n  puVar23 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860;\n  puVar19 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);\n  if (*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0) {\n    (**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);\n  }\n  else if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }\n  uVar26 = 0x7f4;\n  pcVar32 = *(code **)(puVar19 + 0x1b5130);\n  iVar29 = *(int *)(puVar19 + 0x1b49dc) + -0x72b8;\n  uVar24 = *(int *)(puVar19 + 0x1b497c) + 0x3860;\n  (*pcVar32)();\n  if (uVar24 < 0x40000000) {\n    uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);\n    puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return puVar19;\n  }\n  pcVar32 = *(code **)(pcVar32 + 0x1b5140);\n  (*pcVar32)();\n  (**(code **)(pcVar32 + 0x1b52dc))(&puStack_98,iVar29);\n  iVar29 = (**(code **)(pcVar32 + 0x1b91b0))(uVar26);\n  iVar29 = uStack_94 + 10 + iVar29;\n  uVar20 = (**(code **)(pcVar32 + 0x1b4960))(iVar29);\n  puVar31 = puStack_98;\n  (**(code **)(pcVar32 + 0x1b90a8))(uVar20,iVar29,uVar26,puStack_98);\n  if (param_4 < 7) {\n                    \n                    \n    puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();\n    return puVar19;\n  }\n  iVar30 = *(int *)(pcVar32 + 0x1b48f0) + -0x71dc;\n  (**(code **)(pcVar32 + 0x1b5044))(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6);\n  iVar27 = 0xa1;\n  iVar30 = iVar30 + -0x71bc;\n  iVar29 = *(int *)(pcVar32 + 0x1b4890) + 0x3860;\n  (**(code **)(pcVar32 + 0x1b5044))();\n  if (puStack_98 != auStack_90) {\n    (**(code **)(pcVar32 + 0x1b4910))(puStack_98);\n  }\n  pcVar33 = *(code **)(pcVar32 + 0x1b48dc);\n  (*pcVar33)();\n  puVar19 = (undefined *)(uStack_94 & 0xff);\n  *puStack_9c = 0;\n  *puStack_98 = 0;\n  uVar25 = *(uint *)(iVar29 + 0x28);\n  uVar24 = (uVar25 << 0x10) >> 0x1d;\n  if (uVar24 == 4) {\n    uVar24 = 1;\n    uVar26 = 0;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  else if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  iVar21 = FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24);\n  if ((*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6)) {\n    iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }\n    uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);\n    gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);\n  }\nLAB_0030cd70:\n  uVar24 = iVar21 * 0x10 + iVar27;\n  if (0xbb < uVar24) {\n    uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);\n    if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }\n    return puVar19;\n  }\n                    \n                    \n  puVar19 = (undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ();\n  return puVar19;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "byte bVar14;" (type_identifier "byte") (identifier "bVar14") (; ";")) (declaration "byte bVar15;" (type_identifier "byte") (identifier "bVar15") (; ";")) (declaration "byte bVar16;" (type_identifier "byte") (identifier "bVar16") (; ";")) (declaration "byte bVar17;" (type_identifier "byte") (identifier "bVar17") (; ";")) (declaration "byte bVar18;" (type_identifier "byte") (identifier "bVar18") (; ";")) (declaration "undefined *puVar19;" (type_identifier "undefined") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "undefined4 uVar20;" (type_identifier "undefined4") (identifier "uVar20") (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "uint uVar22;" (type_identifier "uint") (identifier "uVar22") (; ";")) (declaration "undefined *puVar23;" (type_identifier "undefined") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "uint uVar24;" (type_identifier "uint") (identifier "uVar24") (; ";")) (declaration "uint uVar25;" (type_identifier "uint") (identifier "uVar25") (; ";")) (declaration "undefined4 uVar26;" (type_identifier "undefined4") (identifier "uVar26") (; ";")) (declaration "int iVar27;" (primitive_type "int") (identifier "iVar27") (; ";")) (declaration "uint uVar28;" (type_identifier "uint") (identifier "uVar28") (; ";")) (declaration "int iVar29;" (primitive_type "int") (identifier "iVar29") (; ";")) (declaration "int iVar30;" (primitive_type "int") (identifier "iVar30") (; ";")) (declaration "undefined1 *puVar31;" (type_identifier "undefined1") (pointer_declarator "*puVar31" (* "*") (identifier "puVar31")) (; ";")) (declaration "code *pcVar32;" (type_identifier "code") (pointer_declarator "*pcVar32" (* "*") (identifier "pcVar32")) (; ";")) (declaration "code *pcVar33;" (type_identifier "code") (pointer_declarator "*pcVar33" (* "*") (identifier "pcVar33")) (; ";")) (declaration "undefined8 uVar34;" (type_identifier "undefined8") (identifier "uVar34") (; ";")) (declaration "undefined1 *puStack_9c;" (type_identifier "undefined1") (pointer_declarator "*puStack_9c" (* "*") (identifier "puStack_9c")) (; ";")) (declaration "undefined1 *puStack_98;" (type_identifier "undefined1") (pointer_declarator "*puStack_98" (* "*") (identifier "puStack_98")) (; ";")) (declaration "uint uStack_94;" (type_identifier "uint") (identifier "uStack_94") (; ";")) (declaration "undefined1 auStack_90 [20];" (type_identifier "undefined1") (array_declarator "auStack_90 [20]" (identifier "auStack_90") ([ "[") (number_literal "20") (] "]")) (; ";")) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }\n  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" (* "*") (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" (* "*") (cast_expression "(int *)PTR_parameters_004c19b4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_004c19b4"))) (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );\n  }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              );" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              )" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228\n              )" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "-0x9b8")) (, ",") (number_literal "0x69") (, ",") (binary_expression "PTR_UINT_004c12dc + -0x7228" (identifier "PTR_UINT_004c12dc") (+ "+") (number_literal "-0x7228")) () ")"))) (; ";")) (} "}")) (else_clause "else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }" (else "else") (if_statement "if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {\n    return param_1;\n  }" (if "if") (parenthesized_expression "(**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20)" (( "(") (binary_expression "**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20" (pointer_expression "**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" (* "*") (pointer_expression "*(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" (* "*") (cast_expression "(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" (( "(") (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" (* "*") (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" (* "*") (cast_expression "(int *)PTR_parameters_004c19b4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_004c19b4"))) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n    return param_1;\n  }" ({ "{") (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";")) (} "}"))))) (expression_statement "puVar23 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860;" (assignment_expression "puVar23 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860" (identifier "puVar23") (= "=") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3860"))) (; ";")) (expression_statement "puVar19 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar19 = PTR_do_gold_unreachable_004c1a30" (identifier "puVar19") (= "=") (identifier "PTR_do_gold_unreachable_004c1a30")) (; ";")) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c)" (( "(") (identifier "puVar23") (, ",") (number_literal "0x7f4") (, ",") (binary_expression "PTR_UINT_004c12dc + -0x726c" (identifier "PTR_UINT_004c12dc") (+ "+") (number_literal "-0x726c")) () ")"))) (; ";")) (if_statement "if (*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0) {\n    (**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);\n  }\n  else if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }" (if "if") (parenthesized_expression "(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0)" (( "(") (binary_expression "*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0" (pointer_expression "*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc)" (* "*") (cast_expression "(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)(puVar19 + 0x1b50b4) + 0xc)" (( "(") (binary_expression "**(int **)(puVar19 + 0x1b50b4) + 0xc" (pointer_expression "**(int **)(puVar19 + 0x1b50b4)" (* "*") (pointer_expression "*(int **)(puVar19 + 0x1b50b4)" (* "*") (cast_expression "(int **)(puVar19 + 0x1b50b4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x1b50b4)" (( "(") (binary_expression "puVar19 + 0x1b50b4" (identifier "puVar19") (+ "+") (number_literal "0x1b50b4")) () ")"))))) (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);\n  }" ({ "{") (expression_statement "(**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);" (call_expression "(**(code **)(puVar19 + 0x1b5130))\n              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228)" (parenthesized_expression "(**(code **)(puVar19 + 0x1b5130))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x1b5130)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x1b5130)" (* "*") (cast_expression "(code **)(puVar19 + 0x1b5130)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x1b5130)" (( "(") (binary_expression "puVar19 + 0x1b5130" (identifier "puVar19") (+ "+") (number_literal "0x1b5130")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228)" (( "(") (binary_expression "*(int *)(puVar19 + 0x1b497c) + -0x9b8" (pointer_expression "*(int *)(puVar19 + 0x1b497c)" (* "*") (cast_expression "(int *)(puVar19 + 0x1b497c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x1b497c)" (( "(") (binary_expression "puVar19 + 0x1b497c" (identifier "puVar19") (+ "+") (number_literal "0x1b497c")) () ")")))) (+ "+") (number_literal "-0x9b8")) (, ",") (number_literal "0x69") (, ",") (binary_expression "*(int *)(puVar19 + 0x1b49dc) + -0x7228" (pointer_expression "*(int *)(puVar19 + 0x1b49dc)" (* "*") (cast_expression "(int *)(puVar19 + 0x1b49dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x1b49dc)" (( "(") (binary_expression "puVar19 + 0x1b49dc" (identifier "puVar19") (+ "+") (number_literal "0x1b49dc")) () ")")))) (+ "+") (number_literal "-0x7228")) () ")"))) (; ";")) (} "}")) (else_clause "else if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }" (else "else") (if_statement "if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {\n    return puVar23;\n  }" (if "if") (parenthesized_expression "(**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40)" (( "(") (binary_expression "**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40" (pointer_expression "**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4)" (* "*") (pointer_expression "*(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4)" (* "*") (cast_expression "(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4)" (( "(") (binary_expression "*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4" (pointer_expression "*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc)" (* "*") (cast_expression "(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)(puVar19 + 0x1b50b4) + 0xc)" (( "(") (binary_expression "**(int **)(puVar19 + 0x1b50b4) + 0xc" (pointer_expression "**(int **)(puVar19 + 0x1b50b4)" (* "*") (pointer_expression "*(int **)(puVar19 + 0x1b50b4)" (* "*") (cast_expression "(int **)(puVar19 + 0x1b50b4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x1b50b4)" (( "(") (binary_expression "puVar19 + 0x1b50b4" (identifier "puVar19") (+ "+") (number_literal "0x1b50b4")) () ")"))))) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (== "==") (number_literal "0x40")) () ")")) (compound_statement "{\n    return puVar23;\n  }" ({ "{") (return_statement "return puVar23;" (return "return") (identifier "puVar23") (; ";")) (} "}"))))) (expression_statement "uVar26 = 0x7f4;" (assignment_expression "uVar26 = 0x7f4" (identifier "uVar26") (= "=") (number_literal "0x7f4")) (; ";")) (expression_statement "pcVar32 = *(code **)(puVar19 + 0x1b5130);" (assignment_expression "pcVar32 = *(code **)(puVar19 + 0x1b5130)" (identifier "pcVar32") (= "=") (pointer_expression "*(code **)(puVar19 + 0x1b5130)" (* "*") (cast_expression "(code **)(puVar19 + 0x1b5130)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x1b5130)" (( "(") (binary_expression "puVar19 + 0x1b5130" (identifier "puVar19") (+ "+") (number_literal "0x1b5130")) () ")"))))) (; ";")) (expression_statement "iVar29 = *(int *)(puVar19 + 0x1b49dc) + -0x72b8;" (assignment_expression "iVar29 = *(int *)(puVar19 + 0x1b49dc) + -0x72b8" (identifier "iVar29") (= "=") (binary_expression "*(int *)(puVar19 + 0x1b49dc) + -0x72b8" (pointer_expression "*(int *)(puVar19 + 0x1b49dc)" (* "*") (cast_expression "(int *)(puVar19 + 0x1b49dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x1b49dc)" (( "(") (binary_expression "puVar19 + 0x1b49dc" (identifier "puVar19") (+ "+") (number_literal "0x1b49dc")) () ")")))) (+ "+") (number_literal "-0x72b8"))) (; ";")) (expression_statement "uVar24 = *(int *)(puVar19 + 0x1b497c) + 0x3860;" (assignment_expression "uVar24 = *(int *)(puVar19 + 0x1b497c) + 0x3860" (identifier "uVar24") (= "=") (binary_expression "*(int *)(puVar19 + 0x1b497c) + 0x3860" (pointer_expression "*(int *)(puVar19 + 0x1b497c)" (* "*") (cast_expression "(int *)(puVar19 + 0x1b497c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x1b497c)" (( "(") (binary_expression "puVar19 + 0x1b497c" (identifier "puVar19") (+ "+") (number_literal "0x1b497c")) () ")")))) (+ "+") (number_literal "0x3860"))) (; ";")) (expression_statement "(*pcVar32)();" (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" (( "(") (pointer_expression "*pcVar32" (* "*") (identifier "pcVar32")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (uVar24 < 0x40000000) {\n    uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);\n    puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return puVar19;\n  }" (if "if") (parenthesized_expression "(uVar24 < 0x40000000)" (( "(") (binary_expression "uVar24 < 0x40000000" (identifier "uVar24") (< "<") (number_literal "0x40000000")) () ")")) (compound_statement "{\n    uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);\n    puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);\n    return puVar19;\n  }" ({ "{") (expression_statement "uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);" (assignment_expression "uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2)" (identifier "uVar26") (= "=") (call_expression "(**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b4a28))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x1b4a28)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x1b4a28)" (* "*") (cast_expression "(code **)(pcVar32 + 0x1b4a28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1b4a28)" (( "(") (binary_expression "pcVar32 + 0x1b4a28" (identifier "pcVar32") (+ "+") (number_literal "0x1b4a28")) () ")"))))) () ")")) (argument_list "(uVar24 << 2)" (( "(") (binary_expression "uVar24 << 2" (identifier "uVar24") (<< "<<") (number_literal "2")) () ")")))) (; ";")) (expression_statement "puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);" (assignment_expression "puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2)" (identifier "puVar19") (= "=") (cast_expression "(undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b92e8))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x1b92e8)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x1b92e8)" (* "*") (cast_expression "(code **)(pcVar32 + 0x1b92e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1b92e8)" (( "(") (binary_expression "pcVar32 + 0x1b92e8" (identifier "pcVar32") (+ "+") (number_literal "0x1b92e8")) () ")"))))) () ")")) (argument_list "(uVar26,0,uVar24 << 2)" (( "(") (identifier "uVar26") (, ",") (number_literal "0") (, ",") (binary_expression "uVar24 << 2" (identifier "uVar24") (<< "<<") (number_literal "2")) () ")"))))) (; ";")) (return_statement "return puVar19;" (return "return") (identifier "puVar19") (; ";")) (} "}"))) (expression_statement "pcVar32 = *(code **)(pcVar32 + 0x1b5140);" (assignment_expression "pcVar32 = *(code **)(pcVar32 + 0x1b5140)" (identifier "pcVar32") (= "=") (pointer_expression "*(code **)(pcVar32 + 0x1b5140)" (* "*") (cast_expression "(code **)(pcVar32 + 0x1b5140)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1b5140)" (( "(") (binary_expression "pcVar32 + 0x1b5140" (identifier "pcVar32") (+ "+") (number_literal "0x1b5140")) () ")"))))) (; ";")) (expression_statement "(*pcVar32)();" (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" (( "(") (pointer_expression "*pcVar32" (* "*") (identifier "pcVar32")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar32 + 0x1b52dc))(&puStack_98,iVar29);" (call_expression "(**(code **)(pcVar32 + 0x1b52dc))(&puStack_98,iVar29)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b52dc))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x1b52dc)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x1b52dc)" (* "*") (cast_expression "(code **)(pcVar32 + 0x1b52dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1b52dc)" (( "(") (binary_expression "pcVar32 + 0x1b52dc" (identifier "pcVar32") (+ "+") (number_literal "0x1b52dc")) () ")"))))) () ")")) (argument_list "(&puStack_98,iVar29)" (( "(") (pointer_expression "&puStack_98" (& "&") (identifier "puStack_98")) (, ",") (identifier "iVar29") () ")"))) (; ";")) (expression_statement "iVar29 = (**(code **)(pcVar32 + 0x1b91b0))(uVar26);" (assignment_expression "iVar29 = (**(code **)(pcVar32 + 0x1b91b0))(uVar26)" (identifier "iVar29") (= "=") (call_expression "(**(code **)(pcVar32 + 0x1b91b0))(uVar26)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b91b0))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x1b91b0)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x1b91b0)" (* "*") (cast_expression "(code **)(pcVar32 + 0x1b91b0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1b91b0)" (( "(") (binary_expression "pcVar32 + 0x1b91b0" (identifier "pcVar32") (+ "+") (number_literal "0x1b91b0")) () ")"))))) () ")")) (argument_list "(uVar26)" (( "(") (identifier "uVar26") () ")")))) (; ";")) (expression_statement "iVar29 = uStack_94 + 10 + iVar29;" (assignment_expression "iVar29 = uStack_94 + 10 + iVar29" (identifier "iVar29") (= "=") (binary_expression "uStack_94 + 10 + iVar29" (binary_expression "uStack_94 + 10" (identifier "uStack_94") (+ "+") (number_literal "10")) (+ "+") (identifier "iVar29"))) (; ";")) (expression_statement "uVar20 = (**(code **)(pcVar32 + 0x1b4960))(iVar29);" (assignment_expression "uVar20 = (**(code **)(pcVar32 + 0x1b4960))(iVar29)" (identifier "uVar20") (= "=") (call_expression "(**(code **)(pcVar32 + 0x1b4960))(iVar29)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b4960))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x1b4960)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x1b4960)" (* "*") (cast_expression "(code **)(pcVar32 + 0x1b4960)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1b4960)" (( "(") (binary_expression "pcVar32 + 0x1b4960" (identifier "pcVar32") (+ "+") (number_literal "0x1b4960")) () ")"))))) () ")")) (argument_list "(iVar29)" (( "(") (identifier "iVar29") () ")")))) (; ";")) (expression_statement "puVar31 = puStack_98;" (assignment_expression "puVar31 = puStack_98" (identifier "puVar31") (= "=") (identifier "puStack_98")) (; ";")) (expression_statement "(**(code **)(pcVar32 + 0x1b90a8))(uVar20,iVar29,uVar26,puStack_98);" (call_expression "(**(code **)(pcVar32 + 0x1b90a8))(uVar20,iVar29,uVar26,puStack_98)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b90a8))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x1b90a8)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x1b90a8)" (* "*") (cast_expression "(code **)(pcVar32 + 0x1b90a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1b90a8)" (( "(") (binary_expression "pcVar32 + 0x1b90a8" (identifier "pcVar32") (+ "+") (number_literal "0x1b90a8")) () ")"))))) () ")")) (argument_list "(uVar20,iVar29,uVar26,puStack_98)" (( "(") (identifier "uVar20") (, ",") (identifier "iVar29") (, ",") (identifier "uVar26") (, ",") (identifier "puStack_98") () ")"))) (; ";")) (if_statement "if (param_4 < 7) {\n                    \n                    \n    puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();\n    return puVar19;\n  }" (if "if") (parenthesized_expression "(param_4 < 7)" (( "(") (binary_expression "param_4 < 7" (identifier "param_4") (< "<") (number_literal "7")) () ")")) (compound_statement "{\n                    \n                    \n    puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();\n    return puVar19;\n  }" ({ "{") (expression_statement "puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))();" (assignment_expression "puVar19 = (undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))()" (identifier "puVar19") (= "=") (cast_expression "(undefined *)\n              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))()" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))()" (parenthesized_expression "(*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                ))" (( "(") (pointer_expression "*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                )" (* "*") (parenthesized_expression "(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)\n                )" (( "(") (binary_expression "pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)" (binary_expression "pcVar32 + 0x1bc854" (identifier "pcVar32") (+ "+") (number_literal "0x1bc854")) (+ "+") (pointer_expression "*(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)" (* "*") (cast_expression "(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)" (( "(") (binary_expression "*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4" (binary_expression "*(int *)(pcVar32 + 0x1b48f0) + -0x7610" (pointer_expression "*(int *)(pcVar32 + 0x1b48f0)" (* "*") (cast_expression "(int *)(pcVar32 + 0x1b48f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + 0x1b48f0)" (( "(") (binary_expression "pcVar32 + 0x1b48f0" (identifier "pcVar32") (+ "+") (number_literal "0x1b48f0")) () ")")))) (+ "+") (number_literal "-0x7610")) (+ "+") (binary_expression "param_4 * 4" (identifier "param_4") (* "*") (number_literal "4"))) () ")"))))) () ")"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return puVar19;" (return "return") (identifier "puVar19") (; ";")) (} "}"))) (expression_statement "iVar30 = *(int *)(pcVar32 + 0x1b48f0) + -0x71dc;" (assignment_expression "iVar30 = *(int *)(pcVar32 + 0x1b48f0) + -0x71dc" (identifier "iVar30") (= "=") (binary_expression "*(int *)(pcVar32 + 0x1b48f0) + -0x71dc" (pointer_expression "*(int *)(pcVar32 + 0x1b48f0)" (* "*") (cast_expression "(int *)(pcVar32 + 0x1b48f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + 0x1b48f0)" (( "(") (binary_expression "pcVar32 + 0x1b48f0" (identifier "pcVar32") (+ "+") (number_literal "0x1b48f0")) () ")")))) (+ "+") (number_literal "-0x71dc"))) (; ";")) (expression_statement "(**(code **)(pcVar32 + 0x1b5044))(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6);" (call_expression "(**(code **)(pcVar32 + 0x1b5044))(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b5044))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x1b5044)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x1b5044)" (* "*") (cast_expression "(code **)(pcVar32 + 0x1b5044)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1b5044)" (( "(") (binary_expression "pcVar32 + 0x1b5044" (identifier "pcVar32") (+ "+") (number_literal "0x1b5044")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6)" (( "(") (binary_expression "*(int *)(pcVar32 + 0x1b48f0) + -0x7758" (pointer_expression "*(int *)(pcVar32 + 0x1b48f0)" (* "*") (cast_expression "(int *)(pcVar32 + 0x1b48f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + 0x1b48f0)" (( "(") (binary_expression "pcVar32 + 0x1b48f0" (identifier "pcVar32") (+ "+") (number_literal "0x1b48f0")) () ")")))) (+ "+") (number_literal "-0x7758")) (, ",") (number_literal "0x3a6") () ")"))) (; ";")) (expression_statement "iVar27 = 0xa1;" (assignment_expression "iVar27 = 0xa1" (identifier "iVar27") (= "=") (number_literal "0xa1")) (; ";")) (expression_statement "iVar30 = iVar30 + -0x71bc;" (assignment_expression "iVar30 = iVar30 + -0x71bc" (identifier "iVar30") (= "=") (binary_expression "iVar30 + -0x71bc" (identifier "iVar30") (+ "+") (number_literal "-0x71bc"))) (; ";")) (expression_statement "iVar29 = *(int *)(pcVar32 + 0x1b4890) + 0x3860;" (assignment_expression "iVar29 = *(int *)(pcVar32 + 0x1b4890) + 0x3860" (identifier "iVar29") (= "=") (binary_expression "*(int *)(pcVar32 + 0x1b4890) + 0x3860" (pointer_expression "*(int *)(pcVar32 + 0x1b4890)" (* "*") (cast_expression "(int *)(pcVar32 + 0x1b4890)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + 0x1b4890)" (( "(") (binary_expression "pcVar32 + 0x1b4890" (identifier "pcVar32") (+ "+") (number_literal "0x1b4890")) () ")")))) (+ "+") (number_literal "0x3860"))) (; ";")) (expression_statement "(**(code **)(pcVar32 + 0x1b5044))();" (call_expression "(**(code **)(pcVar32 + 0x1b5044))()" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b5044))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x1b5044)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x1b5044)" (* "*") (cast_expression "(code **)(pcVar32 + 0x1b5044)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1b5044)" (( "(") (binary_expression "pcVar32 + 0x1b5044" (identifier "pcVar32") (+ "+") (number_literal "0x1b5044")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (puStack_98 != auStack_90) {\n    (**(code **)(pcVar32 + 0x1b4910))(puStack_98);\n  }" (if "if") (parenthesized_expression "(puStack_98 != auStack_90)" (( "(") (binary_expression "puStack_98 != auStack_90" (identifier "puStack_98") (!= "!=") (identifier "auStack_90")) () ")")) (compound_statement "{\n    (**(code **)(pcVar32 + 0x1b4910))(puStack_98);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar32 + 0x1b4910))(puStack_98);" (call_expression "(**(code **)(pcVar32 + 0x1b4910))(puStack_98)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b4910))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x1b4910)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x1b4910)" (* "*") (cast_expression "(code **)(pcVar32 + 0x1b4910)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1b4910)" (( "(") (binary_expression "pcVar32 + 0x1b4910" (identifier "pcVar32") (+ "+") (number_literal "0x1b4910")) () ")"))))) () ")")) (argument_list "(puStack_98)" (( "(") (identifier "puStack_98") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar33 = *(code **)(pcVar32 + 0x1b48dc);" (assignment_expression "pcVar33 = *(code **)(pcVar32 + 0x1b48dc)" (identifier "pcVar33") (= "=") (pointer_expression "*(code **)(pcVar32 + 0x1b48dc)" (* "*") (cast_expression "(code **)(pcVar32 + 0x1b48dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1b48dc)" (( "(") (binary_expression "pcVar32 + 0x1b48dc" (identifier "pcVar32") (+ "+") (number_literal "0x1b48dc")) () ")"))))) (; ";")) (expression_statement "(*pcVar33)();" (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" (( "(") (pointer_expression "*pcVar33" (* "*") (identifier "pcVar33")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar19 = (undefined *)(uStack_94 & 0xff);" (assignment_expression "puVar19 = (undefined *)(uStack_94 & 0xff)" (identifier "puVar19") (= "=") (cast_expression "(undefined *)(uStack_94 & 0xff)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uStack_94 & 0xff)" (( "(") (binary_expression "uStack_94 & 0xff" (identifier "uStack_94") (& "&") (number_literal "0xff")) () ")")))) (; ";")) (expression_statement "*puStack_9c = 0;" (assignment_expression "*puStack_9c = 0" (pointer_expression "*puStack_9c" (* "*") (identifier "puStack_9c")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puStack_98 = 0;" (assignment_expression "*puStack_98 = 0" (pointer_expression "*puStack_98" (* "*") (identifier "puStack_98")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar25 = *(uint *)(iVar29 + 0x28);" (assignment_expression "uVar25 = *(uint *)(iVar29 + 0x28)" (identifier "uVar25") (= "=") (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "uVar24 = (uVar25 << 0x10) >> 0x1d;" (assignment_expression "uVar24 = (uVar25 << 0x10) >> 0x1d" (identifier "uVar24") (= "=") (binary_expression "(uVar25 << 0x10) >> 0x1d" (parenthesized_expression "(uVar25 << 0x10)" (( "(") (binary_expression "uVar25 << 0x10" (identifier "uVar25") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x1d"))) (; ";")) (if_statement "if (uVar24 == 4) {\n    uVar24 = 1;\n    uVar26 = 0;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }\n  else if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" (if "if") (parenthesized_expression "(uVar24 == 4)" (( "(") (binary_expression "uVar24 == 4" (identifier "uVar24") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n    uVar24 = 1;\n    uVar26 = 0;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" ({ "{") (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" (identifier "uVar26") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" (identifier "uVar28") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar25 = (uVar25 << 4) >> 0x1c;" (assignment_expression "uVar25 = (uVar25 << 4) >> 0x1c" (identifier "uVar25") (= "=") (binary_expression "(uVar25 << 4) >> 0x1c" (parenthesized_expression "(uVar25 << 4)" (( "(") (binary_expression "uVar25 << 4" (identifier "uVar25") (<< "<<") (number_literal "4")) () ")")) (>> ">>") (number_literal "0x1c"))) (; ";")) (} "}")) (else_clause "else if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" (else "else") (if_statement "if (uVar24 == 0) {\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }\n  else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" (if "if") (parenthesized_expression "(uVar24 == 0)" (( "(") (binary_expression "uVar24 == 0" (identifier "uVar24") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar24 = (uVar25 << 0x1d) >> 0x1f;\n    if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }\n    uVar26 = *(undefined4 *)(iVar29 + 0xc);\n    uVar25 = (uVar25 << 4) >> 0x1c;\n    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;\n  }" ({ "{") (expression_statement "uVar24 = (uVar25 << 0x1d) >> 0x1f;" (assignment_expression "uVar24 = (uVar25 << 0x1d) >> 0x1f" (identifier "uVar24") (= "=") (binary_expression "(uVar25 << 0x1d) >> 0x1f" (parenthesized_expression "(uVar25 << 0x1d)" (( "(") (binary_expression "uVar25 << 0x1d" (identifier "uVar25") (<< "<<") (number_literal "0x1d")) () ")")) (>> ">>") (number_literal "0x1f"))) (; ";")) (if_statement "if ((uVar25 & 0xe000) != 0) {\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }" (if "if") (parenthesized_expression "((uVar25 & 0xe000) != 0)" (( "(") (binary_expression "(uVar25 & 0xe000) != 0" (parenthesized_expression "(uVar25 & 0xe000)" (( "(") (binary_expression "uVar25 & 0xe000" (identifier "uVar25") (& "&") (number_literal "0xe000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);\n      iVar29 = iVar29 + -0x71bc;\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);\n      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;\n      iVar27 = 0x1ea;\n      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);\n      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;\n      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);\n      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }\n      puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);\n      return puVar19;\n    }" ({ "{") (expression_statement "iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;" (assignment_expression "iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8" (identifier "iVar29") (= "=") (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x71a8" (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" (* "*") (cast_expression "(int *)(pcVar33 + 0x1b4658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x1b4658)" (( "(") (binary_expression "pcVar33 + 0x1b4658" (identifier "pcVar33") (+ "+") (number_literal "0x1b4658")) () ")")))) (+ "+") (number_literal "-0x71a8"))) (; ";")) (expression_statement "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);" (call_expression "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1b4dac))" (( "(") (pointer_expression "**(code **)(pcVar33 + 0x1b4dac)" (* "*") (pointer_expression "*(code **)(pcVar33 + 0x1b4dac)" (* "*") (cast_expression "(code **)(pcVar33 + 0x1b4dac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar33 + 0x1b4dac)" (( "(") (binary_expression "pcVar33 + 0x1b4dac" (identifier "pcVar33") (+ "+") (number_literal "0x1b4dac")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x1b45f8) + 0x3860" (pointer_expression "*(int *)(pcVar33 + 0x1b45f8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x1b45f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x1b45f8)" (( "(") (binary_expression "pcVar33 + 0x1b45f8" (identifier "pcVar33") (+ "+") (number_literal "0x1b45f8")) () ")")))) (+ "+") (number_literal "0x3860")) (, ",") (number_literal "0xaa") (, ",") (identifier "iVar29") (, ",") (identifier "uVar24") () ")"))) (; ";")) (expression_statement "iVar29 = iVar29 + -0x71bc;" (assignment_expression "iVar29 = iVar29 + -0x71bc" (identifier "iVar29") (= "=") (binary_expression "iVar29 + -0x71bc" (identifier "iVar29") (+ "+") (number_literal "-0x71bc"))) (; ";")) (expression_statement "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);" (call_expression "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1b4dac))" (( "(") (pointer_expression "**(code **)(pcVar33 + 0x1b4dac)" (* "*") (pointer_expression "*(code **)(pcVar33 + 0x1b4dac)" (* "*") (cast_expression "(code **)(pcVar33 + 0x1b4dac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar33 + 0x1b4dac)" (( "(") (binary_expression "pcVar33 + 0x1b4dac" (identifier "pcVar33") (+ "+") (number_literal "0x1b4dac")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x1b45f8) + 0x3860" (pointer_expression "*(int *)(pcVar33 + 0x1b45f8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x1b45f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x1b45f8)" (( "(") (binary_expression "pcVar33 + 0x1b45f8" (identifier "pcVar33") (+ "+") (number_literal "0x1b45f8")) () ")")))) (+ "+") (number_literal "0x3860")) (, ",") (number_literal "0xa1") (, ",") (identifier "iVar29") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)\n      ;" (call_expression "(**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1b4dac))" (( "(") (pointer_expression "**(code **)(pcVar33 + 0x1b4dac)" (* "*") (pointer_expression "*(code **)(pcVar33 + 0x1b4dac)" (* "*") (cast_expression "(code **)(pcVar33 + 0x1b4dac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar33 + 0x1b4dac)" (( "(") (binary_expression "pcVar33 + 0x1b4dac" (identifier "pcVar33") (+ "+") (number_literal "0x1b4dac")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x1b45f8) + -0x9b8" (pointer_expression "*(int *)(pcVar33 + 0x1b45f8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x1b45f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x1b45f8)" (( "(") (binary_expression "pcVar33 + 0x1b45f8" (identifier "pcVar33") (+ "+") (number_literal "0x1b45f8")) () ")")))) (+ "+") (number_literal "-0x9b8")) (, ",") (number_literal "0x5c") (, ",") (binary_expression "iVar29 + -0x71c4" (identifier "iVar29") (+ "+") (number_literal "-0x71c4")) () ")"))) (; ";")) (expression_statement "iVar27 = 0x1ea;" (assignment_expression "iVar27 = 0x1ea" (identifier "iVar27") (= "=") (number_literal "0x1ea")) (; ";")) (expression_statement "pcVar32 = *(code **)(pcVar33 + 0x1b4dac);" (assignment_expression "pcVar32 = *(code **)(pcVar33 + 0x1b4dac)" (identifier "pcVar32") (= "=") (pointer_expression "*(code **)(pcVar33 + 0x1b4dac)" (* "*") (cast_expression "(code **)(pcVar33 + 0x1b4dac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar33 + 0x1b4dac)" (( "(") (binary_expression "pcVar33 + 0x1b4dac" (identifier "pcVar33") (+ "+") (number_literal "0x1b4dac")) () ")"))))) (; ";")) (expression_statement "iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;" (assignment_expression "iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570" (identifier "iVar29") (= "=") (binary_expression "*(int *)(pcVar33 + 0x1b45f8) + 0x4570" (pointer_expression "*(int *)(pcVar33 + 0x1b45f8)" (* "*") (cast_expression "(int *)(pcVar33 + 0x1b45f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x1b45f8)" (( "(") (binary_expression "pcVar33 + 0x1b45f8" (identifier "pcVar33") (+ "+") (number_literal "0x1b45f8")) () ")")))) (+ "+") (number_literal "0x4570"))) (; ";")) (expression_statement "(*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);" (call_expression "(*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4)" (parenthesized_expression "(*pcVar32)" (( "(") (pointer_expression "*pcVar32" (* "*") (identifier "pcVar32")) () ")")) (argument_list "(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4)" (( "(") (identifier "iVar29") (, ",") (number_literal "0x1ea") (, ",") (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x71b4" (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" (* "*") (cast_expression "(int *)(pcVar33 + 0x1b4658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x1b4658)" (( "(") (binary_expression "pcVar33 + 0x1b4658" (identifier "pcVar33") (+ "+") (number_literal "0x1b4658")) () ")")))) (+ "+") (number_literal "-0x71b4")) () ")"))) (; ";")) (if_statement "if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }\n      else {\n        uVar26 = 0x3c0;\n      }" (if "if") (parenthesized_expression "((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0))" (( "(") (binary_expression "(*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)" (parenthesized_expression "(*(int *)(iVar29 + 0x10) == 0)" (( "(") (binary_expression "*(int *)(iVar29 + 0x10) == 0" (pointer_expression "*(int *)(iVar29 + 0x10)" (* "*") (cast_expression "(int *)(iVar29 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x10)" (( "(") (binary_expression "iVar29 + 0x10" (identifier "iVar29") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar27 + 0x10) == 0)" (( "(") (binary_expression "*(int *)(iVar27 + 0x10) == 0" (pointer_expression "*(int *)(iVar27 + 0x10)" (* "*") (cast_expression "(int *)(iVar27 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x10)" (( "(") (binary_expression "iVar27 + 0x10" (identifier "iVar27") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }\n      }" ({ "{") (if_statement "if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }\n        else {\n          uVar26 = 0x3c1;\n        }" (if "if") (parenthesized_expression "((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0))" (( "(") (binary_expression "(*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)" (parenthesized_expression "(*(int *)(iVar29 + 0x14) == 0)" (( "(") (binary_expression "*(int *)(iVar29 + 0x14) == 0" (pointer_expression "*(int *)(iVar29 + 0x14)" (* "*") (cast_expression "(int *)(iVar29 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x14)" (( "(") (binary_expression "iVar29 + 0x14" (identifier "iVar29") (+ "+") (number_literal "0x14")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar27 + 0x14) == 0)" (( "(") (binary_expression "*(int *)(iVar27 + 0x14) == 0" (pointer_expression "*(int *)(iVar27 + 0x14)" (* "*") (cast_expression "(int *)(iVar27 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x14)" (( "(") (binary_expression "iVar27 + 0x14" (identifier "iVar27") (+ "+") (number_literal "0x14")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }\n        }" ({ "{") (if_statement "if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }\n          else {\n            uVar26 = 0x3c3;\n          }" (if "if") (parenthesized_expression "((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1))" (( "(") (binary_expression "(*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)" (parenthesized_expression "(*(int *)(iVar29 + 0x1c) == -1)" (( "(") (binary_expression "*(int *)(iVar29 + 0x1c) == -1" (pointer_expression "*(int *)(iVar29 + 0x1c)" (* "*") (cast_expression "(int *)(iVar29 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x1c)" (( "(") (binary_expression "iVar29 + 0x1c" (identifier "iVar29") (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar27 + 0x1c) == -1)" (( "(") (binary_expression "*(int *)(iVar27 + 0x1c) == -1" (pointer_expression "*(int *)(iVar27 + 0x1c)" (* "*") (cast_expression "(int *)(iVar27 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x1c)" (( "(") (binary_expression "iVar27 + 0x1c" (identifier "iVar27") (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (number_literal "-1")) () ")"))) () ")")) (compound_statement "{\n            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }\n            uVar26 = 0x3c4;\n          }" ({ "{") (if_statement "if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }" (if "if") (parenthesized_expression "((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1))" (( "(") (binary_expression "(*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)" (parenthesized_expression "(*(int *)(iVar29 + 0x18) == -1)" (( "(") (binary_expression "*(int *)(iVar29 + 0x18) == -1" (pointer_expression "*(int *)(iVar29 + 0x18)" (* "*") (cast_expression "(int *)(iVar29 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x18)" (( "(") (binary_expression "iVar29 + 0x18" (identifier "iVar29") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar27 + 0x18) == -1)" (( "(") (binary_expression "*(int *)(iVar27 + 0x18) == -1" (pointer_expression "*(int *)(iVar27 + 0x18)" (* "*") (cast_expression "(int *)(iVar27 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x18)" (( "(") (binary_expression "iVar27 + 0x18" (identifier "iVar27") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "-1")) () ")"))) () ")")) (compound_statement "{\n              if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }\n              uVar22 = *(uint *)(iVar29 + 0x28);\n              uVar26 = *(undefined4 *)(iVar27 + 8);\n              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;\n              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);\n              *(undefined4 *)(iVar29 + 8) = uVar26;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;\n              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;\n              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;\n              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;\n              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;\n              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;\n              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;\n              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;\n              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;\n              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;\n              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;\n              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;\n              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;\n              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;\n              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;\n              bVar14 = *(byte *)(iVar29 + 0x2c);\n              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;\n              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;\n              *(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;\n              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;\n              *(uint *)(iVar29 + 0x28) = uVar24;\n              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;\n              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;\n              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;\n              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);\n              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;\n              *(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);\n              if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }\n              return puVar19;\n            }" ({ "{") (if_statement "if (*(int *)(iVar27 + 4) == 0) {\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }" (if "if") (parenthesized_expression "(*(int *)(iVar27 + 4) == 0)" (( "(") (binary_expression "*(int *)(iVar27 + 4) == 0" (pointer_expression "*(int *)(iVar27 + 4)" (* "*") (cast_expression "(int *)(iVar27 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 4)" (( "(") (binary_expression "iVar27 + 4" (identifier "iVar27") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined4 *)(iVar29 + 4) = 0;\n              }" ({ "{") (expression_statement "*(undefined4 *)(iVar29 + 4) = 0;" (assignment_expression "*(undefined4 *)(iVar29 + 4) = 0" (pointer_expression "*(undefined4 *)(iVar29 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar29 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 4)" (( "(") (binary_expression "iVar29 + 4" (identifier "iVar29") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "uVar22 = *(uint *)(iVar29 + 0x28);" (assignment_expression "uVar22 = *(uint *)(iVar29 + 0x28)" (identifier "uVar22") (= "=") (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "uVar26 = *(undefined4 *)(iVar27 + 8);" (assignment_expression "uVar26 = *(undefined4 *)(iVar27 + 8)" (identifier "uVar26") (= "=") (pointer_expression "*(undefined4 *)(iVar27 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar27 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 8)" (( "(") (binary_expression "iVar27 + 8" (identifier "iVar27") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;" (assignment_expression "uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000" (identifier "uVar24") (= "=") (binary_expression "*(uint *)(iVar27 + 0x28) & 0xf0000000" (pointer_expression "*(uint *)(iVar27 + 0x28)" (* "*") (cast_expression "(uint *)(iVar27 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0xf0000000"))) (; ";")) (expression_statement "*(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);" (assignment_expression "*(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc)" (pointer_expression "*(undefined4 *)(iVar29 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar29 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xc)" (( "(") (binary_expression "iVar29 + 0xc" (identifier "iVar29") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar27 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar27 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0xc)" (( "(") (binary_expression "iVar27 + 0xc" (identifier "iVar27") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar29 + 8) = uVar26;" (assignment_expression "*(undefined4 *)(iVar29 + 8) = uVar26" (pointer_expression "*(undefined4 *)(iVar29 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar29 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 8)" (( "(") (binary_expression "iVar29 + 8" (identifier "iVar29") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar26")) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar22 & 0xfffffff | uVar24" (binary_expression "uVar22 & 0xfffffff" (identifier "uVar22") (& "&") (number_literal "0xfffffff")) (| "|") (identifier "uVar24"))) (; ";")) (expression_statement "uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;" (assignment_expression "uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18" (identifier "uVar25") (= "=") (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x28) << 4)" (( "(") (binary_expression "*(int *)(iVar27 + 0x28) << 4" (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "4")) () ")"))) (>> ">>") (number_literal "0x1c")) () ")")) (<< "<<") (number_literal "0x18"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar22 & 0xffffff | uVar24 | uVar25" (binary_expression "uVar22 & 0xffffff | uVar24" (binary_expression "uVar22 & 0xffffff" (identifier "uVar22") (& "&") (number_literal "0xffffff")) (| "|") (identifier "uVar24")) (| "|") (identifier "uVar25"))) (; ";")) (expression_statement "uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;" (assignment_expression "uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16" (identifier "uVar28") (= "=") (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x28) << 8)" (( "(") (binary_expression "*(int *)(iVar27 + 0x28) << 8" (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "8")) () ")"))) (>> ">>") (number_literal "0x1e")) () ")")) (<< "<<") (number_literal "0x16"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x3fffff | uVar24 | uVar25" (binary_expression "uVar22 & 0x3fffff | uVar24" (binary_expression "uVar22 & 0x3fffff" (identifier "uVar22") (& "&") (number_literal "0x3fffff")) (| "|") (identifier "uVar24")) (| "|") (identifier "uVar25")) (| "|") (identifier "uVar28"))) (; ";")) (expression_statement "uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;" (assignment_expression "uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10" (identifier "uVar1") (= "=") (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x28) << 10)" (( "(") (binary_expression "*(int *)(iVar27 + 0x28) << 10" (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "10")) () ")"))) (>> ">>") (number_literal "0x1a")) () ")")) (<< "<<") (number_literal "0x10"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0xffff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0xffff | uVar24 | uVar25" (binary_expression "uVar22 & 0xffff | uVar24" (binary_expression "uVar22 & 0xffff" (identifier "uVar22") (& "&") (number_literal "0xffff")) (| "|") (identifier "uVar24")) (| "|") (identifier "uVar25")) (| "|") (identifier "uVar28")) (| "|") (identifier "uVar1"))) (; ";")) (expression_statement "uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;" (assignment_expression "uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd" (identifier "uVar2") (= "=") (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x28) << 0x10)" (( "(") (binary_expression "*(int *)(iVar27 + 0x28) << 0x10" (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x10")) () ")"))) (>> ">>") (number_literal "0x1d")) () ")")) (<< "<<") (number_literal "0xd"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x1fff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x1fff | uVar24 | uVar25" (binary_expression "uVar22 & 0x1fff | uVar24" (binary_expression "uVar22 & 0x1fff" (identifier "uVar22") (& "&") (number_literal "0x1fff")) (| "|") (identifier "uVar24")) (| "|") (identifier "uVar25")) (| "|") (identifier "uVar28")) (| "|") (identifier "uVar1")) (| "|") (identifier "uVar2"))) (; ";")) (expression_statement "uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;" (assignment_expression "uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc" (identifier "uVar3") (= "=") (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x28) << 0x13)" (( "(") (binary_expression "*(int *)(iVar27 + 0x28) << 0x13" (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x13")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "0xc"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0xfff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0xfff | uVar24 | uVar25" (binary_expression "uVar22 & 0xfff | uVar24" (binary_expression "uVar22 & 0xfff" (identifier "uVar22") (& "&") (number_literal "0xfff")) (| "|") (identifier "uVar24")) (| "|") (identifier "uVar25")) (| "|") (identifier "uVar28")) (| "|") (identifier "uVar1")) (| "|") (identifier "uVar2")) (| "|") (identifier "uVar3"))) (; ";")) (expression_statement "uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;" (assignment_expression "uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb" (identifier "uVar4") (= "=") (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x14)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x28) << 0x14)" (( "(") (binary_expression "*(int *)(iVar27 + 0x28) << 0x14" (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x14")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "0xb"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x7ff | uVar24 | uVar25" (binary_expression "uVar22 & 0x7ff | uVar24" (binary_expression "uVar22 & 0x7ff" (identifier "uVar22") (& "&") (number_literal "0x7ff")) (| "|") (identifier "uVar24")) (| "|") (identifier "uVar25")) (| "|") (identifier "uVar28")) (| "|") (identifier "uVar1")) (| "|") (identifier "uVar2")) (| "|") (identifier "uVar3")) (| "|") (identifier "uVar4"))) (; ";")) (expression_statement "uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;" (assignment_expression "uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10" (identifier "uVar5") (= "=") (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x15)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x28) << 0x15)" (( "(") (binary_expression "*(int *)(iVar27 + 0x28) << 0x15" (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x15")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "10"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n              ;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x3ff | uVar24 | uVar25" (binary_expression "uVar22 & 0x3ff | uVar24" (binary_expression "uVar22 & 0x3ff" (identifier "uVar22") (& "&") (number_literal "0x3ff")) (| "|") (identifier "uVar24")) (| "|") (identifier "uVar25")) (| "|") (identifier "uVar28")) (| "|") (identifier "uVar1")) (| "|") (identifier "uVar2")) (| "|") (identifier "uVar3")) (| "|") (identifier "uVar4")) (| "|") (identifier "uVar5"))) (; ";")) (expression_statement "uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;" (assignment_expression "uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9" (identifier "uVar6") (= "=") (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x28) << 0x16)" (( "(") (binary_expression "*(int *)(iVar27 + 0x28) << 0x16" (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x16")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "9"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x1ff | uVar24 | uVar25" (binary_expression "uVar22 & 0x1ff | uVar24" (binary_expression "uVar22 & 0x1ff" (identifier "uVar22") (& "&") (number_literal "0x1ff")) (| "|") (identifier "uVar24")) (| "|") (identifier "uVar25")) (| "|") (identifier "uVar28")) (| "|") (identifier "uVar1")) (| "|") (identifier "uVar2")) (| "|") (identifier "uVar3")) (| "|") (identifier "uVar4")) (| "|") (identifier "uVar5")) (| "|") (identifier "uVar6"))) (; ";")) (expression_statement "uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;" (assignment_expression "uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8" (identifier "uVar7") (= "=") (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x17)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x28) << 0x17)" (( "(") (binary_expression "*(int *)(iVar27 + 0x28) << 0x17" (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x17")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "8"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0xff | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0xff | uVar24 | uVar25" (binary_expression "uVar22 & 0xff | uVar24" (binary_expression "uVar22 & 0xff" (identifier "uVar22") (& "&") (number_literal "0xff")) (| "|") (identifier "uVar24")) (| "|") (identifier "uVar25")) (| "|") (identifier "uVar28")) (| "|") (identifier "uVar1")) (| "|") (identifier "uVar2")) (| "|") (identifier "uVar3")) (| "|") (identifier "uVar4")) (| "|") (identifier "uVar5")) (| "|") (identifier "uVar6")) (| "|") (identifier "uVar7"))) (; ";")) (expression_statement "uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;" (assignment_expression "uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7" (identifier "uVar8") (= "=") (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x28) << 0x18)" (( "(") (binary_expression "*(int *)(iVar27 + 0x28) << 0x18" (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x18")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "7"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x7f | uVar24 | uVar25" (binary_expression "uVar22 & 0x7f | uVar24" (binary_expression "uVar22 & 0x7f" (identifier "uVar22") (& "&") (number_literal "0x7f")) (| "|") (identifier "uVar24")) (| "|") (identifier "uVar25")) (| "|") (identifier "uVar28")) (| "|") (identifier "uVar1")) (| "|") (identifier "uVar2")) (| "|") (identifier "uVar3")) (| "|") (identifier "uVar4")) (| "|") (identifier "uVar5")) (| "|") (identifier "uVar6")) (| "|") (identifier "uVar7")) (| "|") (identifier "uVar8"))) (; ";")) (expression_statement "uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;" (assignment_expression "uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6" (identifier "uVar9") (= "=") (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x28) << 0x19)" (( "(") (binary_expression "*(int *)(iVar27 + 0x28) << 0x19" (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x19")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "6"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x3f | uVar24 | uVar25" (binary_expression "uVar22 & 0x3f | uVar24" (binary_expression "uVar22 & 0x3f" (identifier "uVar22") (& "&") (number_literal "0x3f")) (| "|") (identifier "uVar24")) (| "|") (identifier "uVar25")) (| "|") (identifier "uVar28")) (| "|") (identifier "uVar1")) (| "|") (identifier "uVar2")) (| "|") (identifier "uVar3")) (| "|") (identifier "uVar4")) (| "|") (identifier "uVar5")) (| "|") (identifier "uVar6")) (| "|") (identifier "uVar7")) (| "|") (identifier "uVar8")) (| "|") (identifier "uVar9"))) (; ";")) (expression_statement "uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;" (assignment_expression "uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5" (identifier "uVar10") (= "=") (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1a)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x28) << 0x1a)" (( "(") (binary_expression "*(int *)(iVar27 + 0x28) << 0x1a" (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x1a")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "5"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6 | uVar7" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                   | uVar6" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0x1f | uVar24 | uVar25" (binary_expression "uVar22 & 0x1f | uVar24" (binary_expression "uVar22 & 0x1f" (identifier "uVar22") (& "&") (number_literal "0x1f")) (| "|") (identifier "uVar24")) (| "|") (identifier "uVar25")) (| "|") (identifier "uVar28")) (| "|") (identifier "uVar1")) (| "|") (identifier "uVar2")) (| "|") (identifier "uVar3")) (| "|") (identifier "uVar4")) (| "|") (identifier "uVar5")) (| "|") (identifier "uVar6")) (| "|") (identifier "uVar7")) (| "|") (identifier "uVar8")) (| "|") (identifier "uVar9")) (| "|") (identifier "uVar10"))) (; ";")) (expression_statement "uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;" (assignment_expression "uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4" (identifier "uVar11") (= "=") (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1b)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x28) << 0x1b)" (( "(") (binary_expression "*(int *)(iVar27 + 0x28) << 0x1b" (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x1b")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "4"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0xf | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0xf | uVar24 | uVar25" (binary_expression "uVar22 & 0xf | uVar24" (binary_expression "uVar22 & 0xf" (identifier "uVar22") (& "&") (number_literal "0xf")) (| "|") (identifier "uVar24")) (| "|") (identifier "uVar25")) (| "|") (identifier "uVar28")) (| "|") (identifier "uVar1")) (| "|") (identifier "uVar2")) (| "|") (identifier "uVar3")) (| "|") (identifier "uVar4")) (| "|") (identifier "uVar5")) (| "|") (identifier "uVar6")) (| "|") (identifier "uVar7")) (| "|") (identifier "uVar8")) (| "|") (identifier "uVar9")) (| "|") (identifier "uVar10")) (| "|") (identifier "uVar11"))) (; ";")) (expression_statement "bVar14 = *(byte *)(iVar29 + 0x2c);" (assignment_expression "bVar14 = *(byte *)(iVar29 + 0x2c)" (identifier "bVar14") (= "=") (pointer_expression "*(byte *)(iVar29 + 0x2c)" (* "*") (cast_expression "(byte *)(iVar29 + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x2c)" (( "(") (binary_expression "iVar29 + 0x2c" (identifier "iVar29") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;" (assignment_expression "uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2" (identifier "uVar12") (= "=") (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1d)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x28) << 0x1d)" (( "(") (binary_expression "*(int *)(iVar27 + 0x28) << 0x1d" (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x1d")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 0xb | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 0xb | uVar24 | uVar25" (binary_expression "uVar22 & 0xb | uVar24" (binary_expression "uVar22 & 0xb" (identifier "uVar22") (& "&") (number_literal "0xb")) (| "|") (identifier "uVar24")) (| "|") (identifier "uVar25")) (| "|") (identifier "uVar28")) (| "|") (identifier "uVar1")) (| "|") (identifier "uVar2")) (| "|") (identifier "uVar3")) (| "|") (identifier "uVar4")) (| "|") (identifier "uVar5")) (| "|") (identifier "uVar6")) (| "|") (identifier "uVar7")) (| "|") (identifier "uVar8")) (| "|") (identifier "uVar9")) (| "|") (identifier "uVar10")) (| "|") (identifier "uVar11")) (| "|") (identifier "uVar12"))) (; ";")) (expression_statement "uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;" (assignment_expression "uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1" (identifier "uVar13") (= "=") (binary_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1e)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x28) << 0x1e)" (( "(") (binary_expression "*(int *)(iVar27 + 0x28) << 0x1e" (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x1e")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;" (assignment_expression "*(uint *)(iVar29 + 0x28) =\n                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6 | uVar7" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |\n                   uVar6" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 9 | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 9 | uVar24 | uVar25" (binary_expression "uVar22 & 9 | uVar24" (binary_expression "uVar22 & 9" (identifier "uVar22") (& "&") (number_literal "9")) (| "|") (identifier "uVar24")) (| "|") (identifier "uVar25")) (| "|") (identifier "uVar28")) (| "|") (identifier "uVar1")) (| "|") (identifier "uVar2")) (| "|") (identifier "uVar3")) (| "|") (identifier "uVar4")) (| "|") (identifier "uVar5")) (| "|") (identifier "uVar6")) (| "|") (identifier "uVar7")) (| "|") (identifier "uVar8")) (| "|") (identifier "uVar9")) (| "|") (identifier "uVar10")) (| "|") (identifier "uVar11")) (| "|") (identifier "uVar12")) (| "|") (identifier "uVar13"))) (; ";")) (expression_statement "uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1;" (assignment_expression "uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1" (identifier "uVar24") (= "=") (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |\n                       *(uint *)(iVar27 + 0x28) & 1" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8 | uVar9" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7 | uVar8" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6 | uVar7" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5\n                       | uVar6" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1" (binary_expression "uVar22 & 8 | uVar24 | uVar25 | uVar28" (binary_expression "uVar22 & 8 | uVar24 | uVar25" (binary_expression "uVar22 & 8 | uVar24" (binary_expression "uVar22 & 8" (identifier "uVar22") (& "&") (number_literal "8")) (| "|") (identifier "uVar24")) (| "|") (identifier "uVar25")) (| "|") (identifier "uVar28")) (| "|") (identifier "uVar1")) (| "|") (identifier "uVar2")) (| "|") (identifier "uVar3")) (| "|") (identifier "uVar4")) (| "|") (identifier "uVar5")) (| "|") (identifier "uVar6")) (| "|") (identifier "uVar7")) (| "|") (identifier "uVar8")) (| "|") (identifier "uVar9")) (| "|") (identifier "uVar10")) (| "|") (identifier "uVar11")) (| "|") (identifier "uVar12")) (| "|") (identifier "uVar13")) (| "|") (binary_expression "*(uint *)(iVar27 + 0x28) & 1" (pointer_expression "*(uint *)(iVar27 + 0x28)" (* "*") (cast_expression "(uint *)(iVar27 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "1")))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0x28) = uVar24;" (assignment_expression "*(uint *)(iVar29 + 0x28) = uVar24" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "uVar24")) (; ";")) (expression_statement "bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);" (assignment_expression "bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7)" (identifier "bVar15") (= "=") (call_expression "(byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7)" (( "(") (binary_expression "(*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7" (parenthesized_expression "(*(uint *)(iVar27 + 0x2c) >> 0x1f)" (( "(") (binary_expression "*(uint *)(iVar27 + 0x2c) >> 0x1f" (pointer_expression "*(uint *)(iVar27 + 0x2c)" (* "*") (cast_expression "(uint *)(iVar27 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x2c)" (( "(") (binary_expression "iVar27 + 0x2c" (identifier "iVar27") (+ "+") (number_literal "0x2c")) () ")")))) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "7")) () ")")))) (; ";")) (expression_statement "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;" (assignment_expression "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15" (pointer_expression "*(byte *)(iVar29 + 0x2c)" (* "*") (cast_expression "(byte *)(iVar29 + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x2c)" (( "(") (binary_expression "iVar29 + 0x2c" (identifier "iVar29") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "bVar14 & 0x7f | bVar15" (binary_expression "bVar14 & 0x7f" (identifier "bVar14") (& "&") (number_literal "0x7f")) (| "|") (identifier "bVar15"))) (; ";")) (expression_statement "bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);" (assignment_expression "bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6)" (identifier "bVar16") (= "=") (call_expression "(byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6)" (( "(") (binary_expression "((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x2c) << 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x2c) << 1)" (( "(") (binary_expression "*(int *)(iVar27 + 0x2c) << 1" (pointer_expression "*(int *)(iVar27 + 0x2c)" (* "*") (cast_expression "(int *)(iVar27 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x2c)" (( "(") (binary_expression "iVar27 + 0x2c" (identifier "iVar27") (+ "+") (number_literal "0x2c")) () ")")))) (<< "<<") (number_literal "1")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "6")) () ")")))) (; ";")) (expression_statement "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;" (assignment_expression "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16" (pointer_expression "*(byte *)(iVar29 + 0x2c)" (* "*") (cast_expression "(byte *)(iVar29 + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x2c)" (( "(") (binary_expression "iVar29 + 0x2c" (identifier "iVar29") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "bVar14 & 0x3f | bVar15 | bVar16" (binary_expression "bVar14 & 0x3f | bVar15" (binary_expression "bVar14 & 0x3f" (identifier "bVar14") (& "&") (number_literal "0x3f")) (| "|") (identifier "bVar15")) (| "|") (identifier "bVar16"))) (; ";")) (expression_statement "bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);" (assignment_expression "bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5)" (identifier "bVar17") (= "=") (call_expression "(byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5)" (( "(") (binary_expression "((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x2c) << 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x2c) << 2)" (( "(") (binary_expression "*(int *)(iVar27 + 0x2c) << 2" (pointer_expression "*(int *)(iVar27 + 0x2c)" (* "*") (cast_expression "(int *)(iVar27 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x2c)" (( "(") (binary_expression "iVar27 + 0x2c" (identifier "iVar27") (+ "+") (number_literal "0x2c")) () ")")))) (<< "<<") (number_literal "2")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "5")) () ")")))) (; ";")) (expression_statement "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;" (assignment_expression "*(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17" (pointer_expression "*(byte *)(iVar29 + 0x2c)" (* "*") (cast_expression "(byte *)(iVar29 + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x2c)" (( "(") (binary_expression "iVar29 + 0x2c" (identifier "iVar29") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "bVar14 & 0x1f | bVar15 | bVar16 | bVar17" (binary_expression "bVar14 & 0x1f | bVar15 | bVar16" (binary_expression "bVar14 & 0x1f | bVar15" (binary_expression "bVar14 & 0x1f" (identifier "bVar14") (& "&") (number_literal "0x1f")) (| "|") (identifier "bVar15")) (| "|") (identifier "bVar16")) (| "|") (identifier "bVar17"))) (; ";")) (expression_statement "bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);" (assignment_expression "bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4)" (identifier "bVar18") (= "=") (call_expression "(byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4)" (( "(") (binary_expression "((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x2c) << 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x2c) << 3)" (( "(") (binary_expression "*(int *)(iVar27 + 0x2c) << 3" (pointer_expression "*(int *)(iVar27 + 0x2c)" (* "*") (cast_expression "(int *)(iVar27 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x2c)" (( "(") (binary_expression "iVar27 + 0x2c" (identifier "iVar27") (+ "+") (number_literal "0x2c")) () ")")))) (<< "<<") (number_literal "3")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "4")) () ")")))) (; ";")) (expression_statement "*(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;" (assignment_expression "*(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18" (pointer_expression "*(byte *)(iVar29 + 0x2c)" (* "*") (cast_expression "(byte *)(iVar29 + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x2c)" (( "(") (binary_expression "iVar29 + 0x2c" (identifier "iVar29") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18" (binary_expression "bVar14 & 0xf | bVar15 | bVar16 | bVar17" (binary_expression "bVar14 & 0xf | bVar15 | bVar16" (binary_expression "bVar14 & 0xf | bVar15" (binary_expression "bVar14 & 0xf" (identifier "bVar14") (& "&") (number_literal "0xf")) (| "|") (identifier "bVar15")) (| "|") (identifier "bVar16")) (| "|") (identifier "bVar17")) (| "|") (identifier "bVar18"))) (; ";")) (expression_statement "*(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);" (assignment_expression "*(byte *)(iVar29 + 0x2c) =\n                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3)" (pointer_expression "*(byte *)(iVar29 + 0x2c)" (* "*") (cast_expression "(byte *)(iVar29 + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x2c)" (( "(") (binary_expression "iVar29 + 0x2c" (identifier "iVar29") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |\n                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3)" (binary_expression "bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18" (binary_expression "bVar14 & 7 | bVar15 | bVar16 | bVar17" (binary_expression "bVar14 & 7 | bVar15 | bVar16" (binary_expression "bVar14 & 7 | bVar15" (binary_expression "bVar14 & 7" (identifier "bVar14") (& "&") (number_literal "7")) (| "|") (identifier "bVar15")) (| "|") (identifier "bVar16")) (| "|") (identifier "bVar17")) (| "|") (identifier "bVar18")) (| "|") (call_expression "(byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3)" (( "(") (binary_expression "((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3" (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x2c) << 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x2c) << 4)" (( "(") (binary_expression "*(int *)(iVar27 + 0x2c) << 4" (pointer_expression "*(int *)(iVar27 + 0x2c)" (* "*") (cast_expression "(int *)(iVar27 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x2c)" (( "(") (binary_expression "iVar27 + 0x2c" (identifier "iVar27") (+ "+") (number_literal "0x2c")) () ")")))) (<< "<<") (number_literal "4")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "3")) () ")"))))) (; ";")) (if_statement "if ((int)(uVar24 << 0x1c) < 0) {\n                puVar19 = (undefined *)0x0;\n              }\n              else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }" (if "if") (parenthesized_expression "((int)(uVar24 << 0x1c) < 0)" (( "(") (binary_expression "(int)(uVar24 << 0x1c) < 0" (cast_expression "(int)(uVar24 << 0x1c)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar24 << 0x1c)" (( "(") (binary_expression "uVar24 << 0x1c" (identifier "uVar24") (<< "<<") (number_literal "0x1c")) () ")"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                puVar19 = (undefined *)0x0;\n              }" ({ "{") (expression_statement "puVar19 = (undefined *)0x0;" (assignment_expression "puVar19 = (undefined *)0x0" (identifier "puVar19") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }" (else "else") (compound_statement "{\n                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);\n              }" ({ "{") (expression_statement "puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);" (assignment_expression "puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f)" (identifier "puVar19") (= "=") (cast_expression "(undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f)" (( "(") (binary_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f" (call_expression "(uint)(*(int *)(iVar27 + 0x28) << 0x1c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar27 + 0x28) << 0x1c)" (( "(") (binary_expression "*(int *)(iVar27 + 0x28) << 0x1c" (pointer_expression "*(int *)(iVar27 + 0x28)" (* "*") (cast_expression "(int *)(iVar27 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x1c")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (} "}")))) (return_statement "return puVar19;" (return "return") (identifier "puVar19") (; ";")) (} "}"))) (expression_statement "uVar26 = 0x3c4;" (assignment_expression "uVar26 = 0x3c4" (identifier "uVar26") (= "=") (number_literal "0x3c4")) (; ";")) (} "}")) (else_clause "else {\n            uVar26 = 0x3c3;\n          }" (else "else") (compound_statement "{\n            uVar26 = 0x3c3;\n          }" ({ "{") (expression_statement "uVar26 = 0x3c3;" (assignment_expression "uVar26 = 0x3c3" (identifier "uVar26") (= "=") (number_literal "0x3c3")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          uVar26 = 0x3c1;\n        }" (else "else") (compound_statement "{\n          uVar26 = 0x3c1;\n        }" ({ "{") (expression_statement "uVar26 = 0x3c1;" (assignment_expression "uVar26 = 0x3c1" (identifier "uVar26") (= "=") (number_literal "0x3c1")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        uVar26 = 0x3c0;\n      }" (else "else") (compound_statement "{\n        uVar26 = 0x3c0;\n      }" ({ "{") (expression_statement "uVar26 = 0x3c0;" (assignment_expression "uVar26 = 0x3c0" (identifier "uVar26") (= "=") (number_literal "0x3c0")) (; ";")) (} "}")))) (expression_statement "puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);" (assignment_expression "puVar19 = (undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4)" (identifier "puVar19") (= "=") (cast_expression "(undefined *)\n                (**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar32 + 0x1b48fc))\n                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1b48fc))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x1b48fc)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x1b48fc)" (* "*") (cast_expression "(code **)(pcVar32 + 0x1b48fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1b48fc)" (( "(") (binary_expression "pcVar32 + 0x1b48fc" (identifier "pcVar32") (+ "+") (number_literal "0x1b48fc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,\n                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4)" (( "(") (binary_expression "*(int *)(pcVar32 + 0x1b41a8) + -0x7758" (pointer_expression "*(int *)(pcVar32 + 0x1b41a8)" (* "*") (cast_expression "(int *)(pcVar32 + 0x1b41a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + 0x1b41a8)" (( "(") (binary_expression "pcVar32 + 0x1b41a8" (identifier "pcVar32") (+ "+") (number_literal "0x1b41a8")) () ")")))) (+ "+") (number_literal "-0x7758")) (, ",") (identifier "uVar26") (, ",") (binary_expression "*(int *)(pcVar32 + 0x1b41a8) + -0x71e4" (pointer_expression "*(int *)(pcVar32 + 0x1b41a8)" (* "*") (cast_expression "(int *)(pcVar32 + 0x1b41a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + 0x1b41a8)" (( "(") (binary_expression "pcVar32 + 0x1b41a8" (identifier "pcVar32") (+ "+") (number_literal "0x1b41a8")) () ")")))) (+ "+") (number_literal "-0x71e4")) () ")"))))) (; ";")) (return_statement "return puVar19;" (return "return") (identifier "puVar19") (; ";")) (} "}"))) (expression_statement "uVar26 = *(undefined4 *)(iVar29 + 0xc);" (assignment_expression "uVar26 = *(undefined4 *)(iVar29 + 0xc)" (identifier "uVar26") (= "=") (pointer_expression "*(undefined4 *)(iVar29 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar29 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xc)" (( "(") (binary_expression "iVar29 + 0xc" (identifier "iVar29") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar25 = (uVar25 << 4) >> 0x1c;" (assignment_expression "uVar25 = (uVar25 << 4) >> 0x1c" (identifier "uVar25") (= "=") (binary_expression "(uVar25 << 4) >> 0x1c" (parenthesized_expression "(uVar25 << 4)" (( "(") (binary_expression "uVar25 << 4" (identifier "uVar25") (<< "<<") (number_literal "4")) () ")")) (>> ">>") (number_literal "0x1c"))) (; ";")) (expression_statement "uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;" (assignment_expression "uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f" (identifier "uVar28") (= "=") (binary_expression "*(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f" (pointer_expression "*(uint *)(*(int *)(iVar29 + 8) + 0x2c)" (* "*") (cast_expression "(uint *)(*(int *)(iVar29 + 8) + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar29 + 8) + 0x2c)" (( "(") (binary_expression "*(int *)(iVar29 + 8) + 0x2c" (pointer_expression "*(int *)(iVar29 + 8)" (* "*") (cast_expression "(int *)(iVar29 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 8)" (( "(") (binary_expression "iVar29 + 8" (identifier "iVar29") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x2c")) () ")")))) (>> ">>") (number_literal "0x1f"))) (; ";")) (} "}")) (else_clause "else {\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" (else "else") (compound_statement "{\n    uVar24 = 0;\n    uVar26 = 0xfff1;\n    uVar28 = 0;\n    uVar25 = (uVar25 << 4) >> 0x1c;\n  }" ({ "{") (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" (identifier "uVar24") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar26 = 0xfff1;" (assignment_expression "uVar26 = 0xfff1" (identifier "uVar26") (= "=") (number_literal "0xfff1")) (; ";")) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" (identifier "uVar28") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar25 = (uVar25 << 4) >> 0x1c;" (assignment_expression "uVar25 = (uVar25 << 4) >> 0x1c" (identifier "uVar25") (= "=") (binary_expression "(uVar25 << 4) >> 0x1c" (parenthesized_expression "(uVar25 << 4)" (( "(") (binary_expression "uVar25 << 4" (identifier "uVar25") (<< "<<") (number_literal "4")) () ")")) (>> ">>") (number_literal "0x1c"))) (; ";")) (} "}")))))) (expression_statement "iVar21 = FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24);" (assignment_expression "iVar21 = FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24)" (identifier "iVar21") (= "=") (call_expression "FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24)" (identifier "FUN_0030c6f0") (argument_list "(uVar25,uVar28,uVar26,uVar24)" (( "(") (identifier "uVar25") (, ",") (identifier "uVar28") (, ",") (identifier "uVar26") (, ",") (identifier "uVar24") () ")")))) (; ";")) (if_statement "if ((*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6)) {\n    iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }\n    uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);\n    gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);\n  }" (if "if") (parenthesized_expression "((*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6))" (( "(") (binary_expression "(*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6)" (parenthesized_expression "(*(uint *)(iVar29 + 0x28) >> 0x1c == 6)" (( "(") (binary_expression "*(uint *)(iVar29 + 0x28) >> 0x1c == 6" (binary_expression "*(uint *)(iVar29 + 0x28) >> 0x1c" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (>> ">>") (number_literal "0x1c")) (== "==") (number_literal "6")) () ")")) (!= "!=") (parenthesized_expression "(iVar30 == 6)" (( "(") (binary_expression "iVar30 == 6" (identifier "iVar30") (== "==") (number_literal "6")) () ")"))) () ")")) (compound_statement "{\n    iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }\n    uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);\n    gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);\n  }" ({ "{") (expression_statement "iVar30 = *(int *)(pcVar33 + 0x1b4658);" (assignment_expression "iVar30 = *(int *)(pcVar33 + 0x1b4658)" (identifier "iVar30") (= "=") (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" (* "*") (cast_expression "(int *)(pcVar33 + 0x1b4658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x1b4658)" (( "(") (binary_expression "pcVar33 + 0x1b4658" (identifier "pcVar33") (+ "+") (number_literal "0x1b4658")) () ")"))))) (; ";")) (if_statement "if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }" (if "if") (parenthesized_expression "((*(uint *)(iVar29 + 0x28) & 0xe000) == 0)" (( "(") (binary_expression "(*(uint *)(iVar29 + 0x28) & 0xe000) == 0" (parenthesized_expression "(*(uint *)(iVar29 + 0x28) & 0xe000)" (( "(") (binary_expression "*(uint *)(iVar29 + 0x28) & 0xe000" (pointer_expression "*(uint *)(iVar29 + 0x28)" (* "*") (cast_expression "(uint *)(iVar29 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0xe000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));\n      if (iVar30 != 0) goto LAB_0030cd70;\n      iVar30 = *(int *)(pcVar33 + 0x1b4658);\n    }" ({ "{") (expression_statement "iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));" (assignment_expression "iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8))" (identifier "iVar30") (= "=") (call_expression "(**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8))" (parenthesized_expression "(**(code **)(**(int **)(iVar29 + 8) + 0x14))" (( "(") (pointer_expression "**(code **)(**(int **)(iVar29 + 8) + 0x14)" (* "*") (pointer_expression "*(code **)(**(int **)(iVar29 + 8) + 0x14)" (* "*") (cast_expression "(code **)(**(int **)(iVar29 + 8) + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(iVar29 + 8) + 0x14)" (( "(") (binary_expression "**(int **)(iVar29 + 8) + 0x14" (pointer_expression "**(int **)(iVar29 + 8)" (* "*") (pointer_expression "*(int **)(iVar29 + 8)" (* "*") (cast_expression "(int **)(iVar29 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar29 + 8)" (( "(") (binary_expression "iVar29 + 8" (identifier "iVar29") (+ "+") (number_literal "8")) () ")"))))) (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (argument_list "(*(int **)(iVar29 + 8))" (( "(") (pointer_expression "*(int **)(iVar29 + 8)" (* "*") (cast_expression "(int **)(iVar29 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar29 + 8)" (( "(") (binary_expression "iVar29 + 8" (identifier "iVar29") (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar30 != 0) goto LAB_0030cd70;" (if "if") (parenthesized_expression "(iVar30 != 0)" (( "(") (binary_expression "iVar30 != 0" (identifier "iVar30") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0030cd70;" (goto "goto") (statement_identifier "LAB_0030cd70") (; ";"))) (expression_statement "iVar30 = *(int *)(pcVar33 + 0x1b4658);" (assignment_expression "iVar30 = *(int *)(pcVar33 + 0x1b4658)" (identifier "iVar30") (= "=") (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" (* "*") (cast_expression "(int *)(pcVar33 + 0x1b4658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x1b4658)" (( "(") (binary_expression "pcVar33 + 0x1b4658" (identifier "pcVar33") (+ "+") (number_literal "0x1b4658")) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);" (assignment_expression "uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0)" (identifier "uVar26") (= "=") (call_expression "(**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1b8fac))" (( "(") (pointer_expression "**(code **)(pcVar33 + 0x1b8fac)" (* "*") (pointer_expression "*(code **)(pcVar33 + 0x1b8fac)" (* "*") (cast_expression "(code **)(pcVar33 + 0x1b8fac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar33 + 0x1b8fac)" (( "(") (binary_expression "pcVar33 + 0x1b8fac" (identifier "pcVar33") (+ "+") (number_literal "0x1b8fac")) () ")"))))) () ")")) (argument_list "(iVar30 + -0x76f0)" (( "(") (binary_expression "iVar30 + -0x76f0" (identifier "iVar30") (+ "+") (number_literal "-0x76f0")) () ")")))) (; ";")) (labeled_statement "gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (labeled_statement "Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);" (statement_identifier "Symbol_table") (: ":") (ERROR ":" (: ":")) (expression_statement "report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);" (call_expression "report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854)" (identifier "report_resolve_problem") (argument_list "(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854)" (( "(") (number_literal "1") (, ",") (identifier "uVar26") (, ",") (identifier "iVar29") (, ",") (identifier "puVar31") (, ",") (binary_expression "pcVar32 + 0x1bc854" (identifier "pcVar32") (+ "+") (number_literal "0x1bc854")) () ")"))) (; ";")))) (} "}"))) (labeled_statement "LAB_0030cd70:\n  uVar24 = iVar21 * 0x10 + iVar27;" (statement_identifier "LAB_0030cd70") (: ":") (expression_statement "uVar24 = iVar21 * 0x10 + iVar27;" (assignment_expression "uVar24 = iVar21 * 0x10 + iVar27" (identifier "uVar24") (= "=") (binary_expression "iVar21 * 0x10 + iVar27" (binary_expression "iVar21 * 0x10" (identifier "iVar21") (* "*") (number_literal "0x10")) (+ "+") (identifier "iVar27"))) (; ";"))) (if_statement "if (0xbb < uVar24) {\n    uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);\n    if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }\n    return puVar19;\n  }" (if "if") (parenthesized_expression "(0xbb < uVar24)" (( "(") (binary_expression "0xbb < uVar24" (number_literal "0xbb") (< "<") (identifier "uVar24")) () ")")) (compound_statement "{\n    uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);\n    if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }\n    return puVar19;\n  }" ({ "{") (expression_statement "uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);" (assignment_expression "uVar34 = (**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0)" (identifier "uVar34") (= "=") (call_expression "(**(code **)(pcVar33 + 0x1b4dac))\n                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1b4dac))" (( "(") (pointer_expression "**(code **)(pcVar33 + 0x1b4dac)" (* "*") (pointer_expression "*(code **)(pcVar33 + 0x1b4dac)" (* "*") (cast_expression "(code **)(pcVar33 + 0x1b4dac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar33 + 0x1b4dac)" (( "(") (binary_expression "pcVar33 + 0x1b4dac" (identifier "pcVar33") (+ "+") (number_literal "0x1b4dac")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,\n                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x7758" (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" (* "*") (cast_expression "(int *)(pcVar33 + 0x1b4658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x1b4658)" (( "(") (binary_expression "pcVar33 + 0x1b4658" (identifier "pcVar33") (+ "+") (number_literal "0x1b4658")) () ")")))) (+ "+") (number_literal "-0x7758")) (, ",") (number_literal "0x379") (, ",") (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x71a0" (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" (* "*") (cast_expression "(int *)(pcVar33 + 0x1b4658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x1b4658)" (( "(") (binary_expression "pcVar33 + 0x1b4658" (identifier "pcVar33") (+ "+") (number_literal "0x1b4658")) () ")")))) (+ "+") (number_literal "-0x71a0")) () ")")))) (; ";")) (if_statement "if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }" (if "if") (parenthesized_expression "((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0))" (( "(") (binary_expression "(*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)" (parenthesized_expression "(*(int *)(iVar29 + 4) != 0)" (( "(") (binary_expression "*(int *)(iVar29 + 4) != 0" (pointer_expression "*(int *)(iVar29 + 4)" (* "*") (cast_expression "(int *)(iVar29 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 4)" (( "(") (binary_expression "iVar29 + 4" (identifier "iVar29") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(puVar19 == (undefined *)0x0)" (( "(") (binary_expression "puVar19 == (undefined *)0x0" (identifier "puVar19") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }\n    }" ({ "{") (if_statement "if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }\n      else {\n        puVar19 = (undefined *)0x0;\n      }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0))))" (( "(") (binary_expression "((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&\n         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))" (parenthesized_expression "((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0)" (( "(") (binary_expression "(int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0" (binary_expression "(int)((ulonglong)uVar34 >> 0x20) << 0x17" (cast_expression "(int)((ulonglong)uVar34 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar34 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar34 >> 0x20" (cast_expression "(ulonglong)uVar34" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar34")) (>> ">>") (number_literal "0x20")) () ")"))) (<< "<<") (number_literal "0x17")) (< "<") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))" (( "(") (parenthesized_expression "(*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0))" (( "(") (binary_expression "*(int *)(iVar29 + 0x2c) << 1 < 0 &&\n          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)" (binary_expression "*(int *)(iVar29 + 0x2c) << 1 < 0" (binary_expression "*(int *)(iVar29 + 0x2c) << 1" (pointer_expression "*(int *)(iVar29 + 0x2c)" (* "*") (cast_expression "(int *)(iVar29 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x2c)" (( "(") (binary_expression "iVar29 + 0x2c" (identifier "iVar29") (+ "+") (number_literal "0x2c")) () ")")))) (<< "<<") (number_literal "1")) (< "<") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)" (( "(") (comma_expression "iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0" (assignment_expression "iVar29 = *(int *)((int)uVar34 + 0x2c)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)((int)uVar34 + 0x2c)" (* "*") (cast_expression "(int *)((int)uVar34 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)uVar34 + 0x2c)" (( "(") (binary_expression "(int)uVar34 + 0x2c" (cast_expression "(int)uVar34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar34")) (+ "+") (number_literal "0x2c")) () ")"))))) (, ",") (binary_expression "iVar29 << 6 < 0" (binary_expression "iVar29 << 6" (identifier "iVar29") (<< "<<") (number_literal "6")) (< "<") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);\n      }" ({ "{") (expression_statement "puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);" (assignment_expression "puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1)" (identifier "puVar19") (= "=") (cast_expression "(undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(iVar29 << 1) >> 0x1f ^ 1)" (( "(") (binary_expression "(uint)(iVar29 << 1) >> 0x1f ^ 1" (binary_expression "(uint)(iVar29 << 1) >> 0x1f" (call_expression "(uint)(iVar29 << 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar29 << 1)" (( "(") (binary_expression "iVar29 << 1" (identifier "iVar29") (<< "<<") (number_literal "1")) () ")"))) (>> ">>") (number_literal "0x1f")) (^ "^") (number_literal "1")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        puVar19 = (undefined *)0x0;\n      }" (else "else") (compound_statement "{\n        puVar19 = (undefined *)0x0;\n      }" ({ "{") (expression_statement "puVar19 = (undefined *)0x0;" (assignment_expression "puVar19 = (undefined *)0x0" (identifier "puVar19") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (} "}"))) (return_statement "return puVar19;" (return "return") (identifier "puVar19") (; ";")) (} "}"))) (expression_statement "puVar19 = (undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ();" (assignment_expression "puVar19 = (undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ()" (identifier "puVar19") (= "=") (cast_expression "(undefined *)\n            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ()" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))\n                      ()" (parenthesized_expression "(*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))" (( "(") (pointer_expression "*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc)" (* "*") (parenthesized_expression "(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc)" (( "(") (binary_expression "pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc" (binary_expression "pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4)" (identifier "pcVar33") (+ "+") (pointer_expression "*(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4)" (* "*") (cast_expression "(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4)" (( "(") (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4" (binary_expression "*(int *)(pcVar33 + 0x1b4658) + -0x75f4" (pointer_expression "*(int *)(pcVar33 + 0x1b4658)" (* "*") (cast_expression "(int *)(pcVar33 + 0x1b4658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar33 + 0x1b4658)" (( "(") (binary_expression "pcVar33 + 0x1b4658" (identifier "pcVar33") (+ "+") (number_literal "0x1b4658")) () ")")))) (+ "+") (number_literal "-0x75f4")) (+ "+") (binary_expression "uVar24 * 4" (identifier "uVar24") (* "*") (number_literal "4"))) () ")"))))) (+ "+") (number_literal "0x1bc5bc")) () ")"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return puVar19;" (return "return") (identifier "puVar19") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (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: (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: (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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) 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: (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: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (number_literal)))))) right: (number_literal))) consequence: (compound_statement (return_statement (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) 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 (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal)))))) right: (number_literal))) consequence: (compound_statement (return_statement (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (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) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (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 (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (if_statement condition: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))))))) arguments: (argument_list))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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 (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) alternative: (else_clause (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (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: (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: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))))))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (ERROR) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (number_literal)) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) right: (binary_expression left: (binary_expression left: (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: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)) right: (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: (number_literal))))))))) (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: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))) right: (number_literal))))) arguments: (argument_list))))) (return_statement (identifier)))))

undefined * MASKED(undefined *param_1,undefined4 param_2,undefined4 param_3,uint param_4)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  uint uVar13;
  byte bVar14;
  byte bVar15;
  byte bVar16;
  byte bVar17;
  byte bVar18;
  undefined *puVar19;
  undefined4 uVar20;
  int iVar21;
  uint uVar22;
  undefined *puVar23;
  uint uVar24;
  uint uVar25;
  undefined4 uVar26;
  int iVar27;
  uint uVar28;
  int iVar29;
  int iVar30;
  undefined1 *puVar31;
  code *pcVar32;
  code *pcVar33;
  undefined8 uVar34;
  undefined1 *puStack_9c;
  undefined1 *puStack_98;
  uint uStack_94;
  undefined1 auStack_90 [20];
  
  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) == 0) {
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_UINT_004c12dc + -0x7228
              );
  }
  else if (**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4) == 0x20) {
    return param_1;
  }
  puVar23 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860;
  puVar19 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar23,0x7f4,PTR_UINT_004c12dc + -0x726c);
  if (*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) == 0) {
    (**(code **)(puVar19 + 0x1b5130))
              (*(int *)(puVar19 + 0x1b497c) + -0x9b8,0x69,*(int *)(puVar19 + 0x1b49dc) + -0x7228);
  }
  else if (**(int **)(*(int *)(**(int **)(puVar19 + 0x1b50b4) + 0xc) + 4) == 0x40) {
    return puVar23;
  }
  uVar26 = 0x7f4;
  pcVar32 = *(code **)(puVar19 + 0x1b5130);
  iVar29 = *(int *)(puVar19 + 0x1b49dc) + -0x72b8;
  uVar24 = *(int *)(puVar19 + 0x1b497c) + 0x3860;
  (*pcVar32)();
  if (uVar24 < 0x40000000) {
    uVar26 = (**(code **)(pcVar32 + 0x1b4a28))(uVar24 << 2);
    puVar19 = (undefined *)(**(code **)(pcVar32 + 0x1b92e8))(uVar26,0,uVar24 << 2);
    return puVar19;
  }
  pcVar32 = *(code **)(pcVar32 + 0x1b5140);
  (*pcVar32)();
  (**(code **)(pcVar32 + 0x1b52dc))(&puStack_98,iVar29);
  iVar29 = (**(code **)(pcVar32 + 0x1b91b0))(uVar26);
  iVar29 = uStack_94 + 10 + iVar29;
  uVar20 = (**(code **)(pcVar32 + 0x1b4960))(iVar29);
  puVar31 = puStack_98;
  (**(code **)(pcVar32 + 0x1b90a8))(uVar20,iVar29,uVar26,puStack_98);
  if (param_4 < 7) {
                    /* WARNING: Could not recover jumptable at 0x0030caac. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    puVar19 = (undefined *)
              (*(pcVar32 + 0x1bc854 + *(int *)(*(int *)(pcVar32 + 0x1b48f0) + -0x7610 + param_4 * 4)
                ))();
    return puVar19;
  }
  iVar30 = *(int *)(pcVar32 + 0x1b48f0) + -0x71dc;
  (**(code **)(pcVar32 + 0x1b5044))(*(int *)(pcVar32 + 0x1b48f0) + -0x7758,0x3a6);
  iVar27 = 0xa1;
  iVar30 = iVar30 + -0x71bc;
  iVar29 = *(int *)(pcVar32 + 0x1b4890) + 0x3860;
  (**(code **)(pcVar32 + 0x1b5044))();
  if (puStack_98 != auStack_90) {
    (**(code **)(pcVar32 + 0x1b4910))(puStack_98);
  }
  pcVar33 = *(code **)(pcVar32 + 0x1b48dc);
  (*pcVar33)();
  puVar19 = (undefined *)(uStack_94 & 0xff);
  *puStack_9c = 0;
  *puStack_98 = 0;
  uVar25 = *(uint *)(iVar29 + 0x28);
  uVar24 = (uVar25 << 0x10) >> 0x1d;
  if (uVar24 == 4) {
    uVar24 = 1;
    uVar26 = 0;
    uVar28 = 0;
    uVar25 = (uVar25 << 4) >> 0x1c;
  }
  else if (uVar24 == 0) {
    uVar24 = (uVar25 << 0x1d) >> 0x1f;
    if ((uVar25 & 0xe000) != 0) {
      iVar29 = *(int *)(pcVar33 + 0x1b4658) + -0x71a8;
      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xaa,iVar29,uVar24);
      iVar29 = iVar29 + -0x71bc;
      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + 0x3860,0xa1,iVar29);
      (**(code **)(pcVar33 + 0x1b4dac))(*(int *)(pcVar33 + 0x1b45f8) + -0x9b8,0x5c,iVar29 + -0x71c4)
      ;
      iVar27 = 0x1ea;
      pcVar32 = *(code **)(pcVar33 + 0x1b4dac);
      iVar29 = *(int *)(pcVar33 + 0x1b45f8) + 0x4570;
      (*pcVar32)(iVar29,0x1ea,*(int *)(pcVar33 + 0x1b4658) + -0x71b4);
      if ((*(int *)(iVar29 + 0x10) == 0) && (*(int *)(iVar27 + 0x10) == 0)) {
        if ((*(int *)(iVar29 + 0x14) == 0) && (*(int *)(iVar27 + 0x14) == 0)) {
          if ((*(int *)(iVar29 + 0x1c) == -1) && (*(int *)(iVar27 + 0x1c) == -1)) {
            if ((*(int *)(iVar29 + 0x18) == -1) && (*(int *)(iVar27 + 0x18) == -1)) {
              if (*(int *)(iVar27 + 4) == 0) {
                *(undefined4 *)(iVar29 + 4) = 0;
              }
              uVar22 = *(uint *)(iVar29 + 0x28);
              uVar26 = *(undefined4 *)(iVar27 + 8);
              uVar24 = *(uint *)(iVar27 + 0x28) & 0xf0000000;
              *(undefined4 *)(iVar29 + 0xc) = *(undefined4 *)(iVar27 + 0xc);
              *(undefined4 *)(iVar29 + 8) = uVar26;
              *(uint *)(iVar29 + 0x28) = uVar22 & 0xfffffff | uVar24;
              uVar25 = ((uint)(*(int *)(iVar27 + 0x28) << 4) >> 0x1c) << 0x18;
              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffffff | uVar24 | uVar25;
              uVar28 = ((uint)(*(int *)(iVar27 + 0x28) << 8) >> 0x1e) << 0x16;
              *(uint *)(iVar29 + 0x28) = uVar22 & 0x3fffff | uVar24 | uVar25 | uVar28;
              uVar1 = ((uint)(*(int *)(iVar27 + 0x28) << 10) >> 0x1a) << 0x10;
              *(uint *)(iVar29 + 0x28) = uVar22 & 0xffff | uVar24 | uVar25 | uVar28 | uVar1;
              uVar2 = ((uint)(*(int *)(iVar27 + 0x28) << 0x10) >> 0x1d) << 0xd;
              *(uint *)(iVar29 + 0x28) = uVar22 & 0x1fff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2;
              uVar3 = ((uint)(*(int *)(iVar27 + 0x28) << 0x13) >> 0x1f) << 0xc;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0xfff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3;
              uVar4 = ((uint)(*(int *)(iVar27 + 0x28) << 0x14) >> 0x1f) << 0xb;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0x7ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4;
              uVar5 = ((uint)(*(int *)(iVar27 + 0x28) << 0x15) >> 0x1f) << 10;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0x3ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5
              ;
              uVar6 = ((uint)(*(int *)(iVar27 + 0x28) << 0x16) >> 0x1f) << 9;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0x1ff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5
                   | uVar6;
              uVar7 = ((uint)(*(int *)(iVar27 + 0x28) << 0x17) >> 0x1f) << 8;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0xff | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5
                   | uVar6 | uVar7;
              uVar8 = ((uint)(*(int *)(iVar27 + 0x28) << 0x18) >> 0x1f) << 7;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0x7f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5
                   | uVar6 | uVar7 | uVar8;
              uVar9 = ((uint)(*(int *)(iVar27 + 0x28) << 0x19) >> 0x1f) << 6;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0x3f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5
                   | uVar6 | uVar7 | uVar8 | uVar9;
              uVar10 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1a) >> 0x1f) << 5;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0x1f | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5
                   | uVar6 | uVar7 | uVar8 | uVar9 | uVar10;
              uVar11 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1b) >> 0x1f) << 4;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0xf | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |
                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11;
              bVar14 = *(byte *)(iVar29 + 0x2c);
              uVar12 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1d) >> 0x1f) << 2;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 0xb | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |
                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12;
              uVar13 = ((uint)(*(int *)(iVar27 + 0x28) << 0x1e) >> 0x1f) << 1;
              *(uint *)(iVar29 + 0x28) =
                   uVar22 & 9 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5 |
                   uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13;
              uVar24 = uVar22 & 8 | uVar24 | uVar25 | uVar28 | uVar1 | uVar2 | uVar3 | uVar4 | uVar5
                       | uVar6 | uVar7 | uVar8 | uVar9 | uVar10 | uVar11 | uVar12 | uVar13 |
                       *(uint *)(iVar27 + 0x28) & 1;
              *(uint *)(iVar29 + 0x28) = uVar24;
              bVar15 = (byte)((*(uint *)(iVar27 + 0x2c) >> 0x1f) << 7);
              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x7f | bVar15;
              bVar16 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 1) >> 0x1f) << 6);
              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x3f | bVar15 | bVar16;
              bVar17 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 2) >> 0x1f) << 5);
              *(byte *)(iVar29 + 0x2c) = bVar14 & 0x1f | bVar15 | bVar16 | bVar17;
              bVar18 = (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 3) >> 0x1f) << 4);
              *(byte *)(iVar29 + 0x2c) = bVar14 & 0xf | bVar15 | bVar16 | bVar17 | bVar18;
              *(byte *)(iVar29 + 0x2c) =
                   bVar14 & 7 | bVar15 | bVar16 | bVar17 | bVar18 |
                   (byte)(((uint)(*(int *)(iVar27 + 0x2c) << 4) >> 0x1f) << 3);
              if ((int)(uVar24 << 0x1c) < 0) {
                puVar19 = (undefined *)0x0;
              }
              else {
                puVar19 = (undefined *)((uint)(*(int *)(iVar27 + 0x28) << 0x1c) >> 0x1f);
              }
              return puVar19;
            }
            uVar26 = 0x3c4;
          }
          else {
            uVar26 = 0x3c3;
          }
        }
        else {
          uVar26 = 0x3c1;
        }
      }
      else {
        uVar26 = 0x3c0;
      }
      puVar19 = (undefined *)
                (**(code **)(pcVar32 + 0x1b48fc))
                          (*(int *)(pcVar32 + 0x1b41a8) + -0x7758,uVar26,
                           *(int *)(pcVar32 + 0x1b41a8) + -0x71e4);
      return puVar19;
    }
    uVar26 = *(undefined4 *)(iVar29 + 0xc);
    uVar25 = (uVar25 << 4) >> 0x1c;
    uVar28 = *(uint *)(*(int *)(iVar29 + 8) + 0x2c) >> 0x1f;
  }
  else {
    uVar24 = 0;
    uVar26 = 0xfff1;
    uVar28 = 0;
    uVar25 = (uVar25 << 4) >> 0x1c;
  }
  iVar21 = FUN_0030c6f0(uVar25,uVar28,uVar26,uVar24);
  if ((*(uint *)(iVar29 + 0x28) >> 0x1c == 6) != (iVar30 == 6)) {
    iVar30 = *(int *)(pcVar33 + 0x1b4658);
    if ((*(uint *)(iVar29 + 0x28) & 0xe000) == 0) {
      iVar30 = (**(code **)(**(int **)(iVar29 + 8) + 0x14))(*(int **)(iVar29 + 8));
      if (iVar30 != 0) goto LAB_0030cd70;
      iVar30 = *(int *)(pcVar33 + 0x1b4658);
    }
    uVar26 = (**(code **)(pcVar33 + 0x1b8fac))(iVar30 + -0x76f0);
    gold::Symbol_table::report_resolve_problem(1,uVar26,iVar29,puVar31,pcVar32 + 0x1bc854);
  }
LAB_0030cd70:
  uVar24 = iVar21 * 0x10 + iVar27;
  if (0xbb < uVar24) {
    uVar34 = (**(code **)(pcVar33 + 0x1b4dac))
                       (*(int *)(pcVar33 + 0x1b4658) + -0x7758,0x379,
                        *(int *)(pcVar33 + 0x1b4658) + -0x71a0);
    if ((*(int *)(iVar29 + 4) != 0) || (puVar19 == (undefined *)0x0)) {
      if (((int)((ulonglong)uVar34 >> 0x20) << 0x17 < 0) &&
         ((*(int *)(iVar29 + 0x2c) << 1 < 0 &&
          (iVar29 = *(int *)((int)uVar34 + 0x2c), iVar29 << 6 < 0)))) {
        puVar19 = (undefined *)((uint)(iVar29 << 1) >> 0x1f ^ 1);
      }
      else {
        puVar19 = (undefined *)0x0;
      }
    }
    return puVar19;
  }
                    /* WARNING: Could not recover jumptable at 0x0030cd98. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  puVar19 = (undefined *)
            (*(pcVar33 + *(int *)(*(int *)(pcVar33 + 0x1b4658) + -0x75f4 + uVar24 * 4) + 0x1bc5bc))
                      ();
  return puVar19;
}

