
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* DWARF original name: get_fde_pc<32, true>
   DWARF original prototype: Elf_Addr get_fde_pc<32,_true>(Eh_frame_hdr * this, Elf_Addr
   eh_frame_address, uchar * eh_frame_contents, section_offset_type fde_offset, uchar fde_encoding)
    */

Elf_Addr __thiscall
gold::Eh_frame_hdr::get_fde_pc<32,_true>
          (Eh_frame_hdr *this,Elf_Addr eh_frame_address,uchar *eh_frame_contents,
          section_offset_type fde_offset,uchar fde_encoding)

{
  int iVar1;
  int *piVar2;
  undefined4 *puVar3;
  byte bVar5;
  int iVar4;
  uint uVar6;
  int extraout_v1;
  Output_section *pOVar7;
  code *extraout_v1_00;
  int extraout_v1_01;
  Eh_frame_hdr *this_00;
  Output_file *this_01;
  uint *puVar8;
  undefined4 *puVar9;
  undefined4 uVar10;
  size_t size;
  uint uVar11;
  Elf_Addr *pEVar12;
  Output_file *this_1;
  undefined4 uVar13;
  uint uVar14;
  int *piVar15;
  int *piVar16;
  undefined4 *puVar17;
  uint uVar18;
  int iVar19;
  Elf_Addr unaff_s1;
  int iVar20;
  undefined4 *puVar21;
  undefined4 *puVar22;
  Elf_Addr EVar23;
  undefined4 *puVar24;
  code *pcVar25;
  int iVar26;
  int iVar27;
  int iVar28;
  undefined *puVar29;
  code *pcVar30;
  int iVar31;
  longlong lVar32;
  int iStackY_c4;
  int iStackY_9c;
  byte bStackY_95;
  undefined4 in_stack_ffffff98;
  undefined4 in_stack_ffffff9c;
  Elf_Addr EStack_58;
  int iStack_54;
  uint uStack_50;
  Elf_Addr EStack_4c;
  
  uVar14 = (uint)fde_encoding;
  uVar6 = uVar14 & 7;
  if (((fde_encoding & 7) == 0) || (uVar6 == 3)) {
    unaff_s1 = *(Elf_Addr *)(eh_frame_contents + fde_offset + 8);
LAB_00274bec:
    if ((uVar14 & 0x70) == 0x10) goto LAB_00274bb8;
LAB_00274bfc:
    if ((uVar14 & 0x70) == 0x30) goto LAB_00274c2c;
    if ((fde_encoding & 0x70) != 0) {
      uVar10 = 0x11d;
      goto LAB_00274c14;
    }
  }
  else {
    if (uVar6 == 4) {
      uVar10 = 0x104;
      goto LAB_00274c14;
    }
    if (uVar6 != 2) {
      uVar10 = 0x10a;
      goto LAB_00274c14;
    }
    unaff_s1 = (Elf_Addr)*(ushort *)(eh_frame_contents + fde_offset + 8);
    if ((fde_encoding & 8) == 0) goto LAB_00274bec;
    unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000;
    if ((uVar14 & 0x70) != 0x10) goto LAB_00274bfc;
LAB_00274bb8:
    unaff_s1 = unaff_s1 + eh_frame_address + 8 + fde_offset;
  }
  while( true ) {
    uVar14 = (uint)(char)fde_encoding;
    uVar10 = 0x120;
    if (-1 < (int)uVar14) {
      return unaff_s1;
    }
LAB_00274c14:
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_s__0043226c + 0x1dc0,uVar10,PTR_s__0043226c + 0x1fc0);
LAB_00274c2c:
    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;
    fde_encoding = (uchar)uVar14;
    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();
    unaff_s1 = unaff_s1 + extraout_v1;
  }
  size = 0x69;
  pEVar12 = (Elf_Addr *)(PTR_s__0043226c + 0x1fe4);
  this_00 = (Eh_frame_hdr *)(PTR_s_alize_xindex_004323b4 + -0x5cec);
  puVar29 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)();
  pOVar7 = this_00->eh_frame_section_;
  iVar1 = *(int *)&(pOVar7->super_Output_data).field_0x20;
  uVar6 = fde_offset;
  uStack_50 = uVar14;
  EStack_4c = unaff_s1;
  if (iVar1 < 0) {
    EVar23 = (Elf_Addr)(pOVar7->super_Output_data).address_;
    if (iVar1 << 2 < 0) {
      this_01 = *(Output_file **)((int)&(pOVar7->super_Output_data).offset_ + 4);
      this_1 = *(Output_file **)&(pOVar7->super_Output_data).offset_;
      if (iVar1 << 1 < 0) {
        uVar11 = (uint)(pOVar7->super_Output_data).data_size_;
        if (-1 < (int)this_1) {
          uVar6 = (int)&this_01->name_ + uVar11;
          iVar1 = (int)&this_1->name_ + (uint)(uVar6 < uVar11);
          this_1 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);
          if ((this_1 == (Output_file *)0x0) &&
             ((*(int *)(size + 8) != iVar1 ||
              (uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0)))) {
            iVar1 = *(int *)(size + 0x10);
            piVar2 = (int *)pEVar12[1];
            if ((int *)*pEVar12 != piVar2) {
              pcVar25 = *(code **)(puVar29 + 0x1bf518);
              piVar15 = (int *)*pEVar12;
              do {
                piVar16 = piVar15 + 2;
                EStack_58 = get_fde_pc<32,_true>
                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),
                                       *piVar15,*(uchar *)(piVar15 + 1));
                iStack_54 = EVar23 + *piVar15;
                (*pcVar25)(fde_offset,&EStack_58);
                piVar2 = (int *)pEVar12[1];
                piVar15 = piVar16;
              } while (piVar2 != piVar16);
            }
            return (Elf_Addr)piVar2;
          }
        }
        Output_file::get_output_view
                  (this_01,CONCAT44(in_stack_ffffff98,in_stack_ffffff9c),size,this_1);
      }
      (**(code **)(puVar29 + 0x1bd740))
                (*(int *)(puVar29 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar29 + 0x1bd5e8) + 0x2008);
    }
    (**(code **)(puVar29 + 0x1bd740))
              (*(int *)(puVar29 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar29 + 0x1bd5e8) + 0x2014);
  }
  uVar11 = 0xc5;
  pcVar25 = *(code **)(puVar29 + 0x1bd740);
  iVar1 = *(int *)(puVar29 + 0x1bd5e8) + 0x1fdc;
  puVar8 = (uint *)(*(int *)(puVar29 + 0x1bd730) + -0x4fe0);
  (*pcVar25)();
  if (uVar11 < 0x10000000) {
    puVar17 = (undefined4 *)*puVar8;
    puVar3 = (undefined4 *)(uint)((uint)((int)(puVar8[2] - (int)puVar17) >> 4) < uVar11);
    if (puVar3 != (undefined4 *)0x0) {
      puVar24 = (undefined4 *)puVar8[1];
      iVar1 = (int)puVar24 - (int)puVar17;
      if (uVar11 == 0) {
        puVar22 = (undefined4 *)0x0;
        puVar21 = puVar22;
        puVar9 = puVar17;
      }
      else {
        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd508))(uVar11 * 0x10);
        puVar22 = puVar3;
        puVar21 = puVar3;
        puVar9 = (undefined4 *)*puVar8;
      }
      for (; puVar17 != puVar24; puVar17 = puVar17 + 4) {
        uVar13 = puVar17[1];
        uVar10 = puVar17[2];
        puVar3 = (undefined4 *)puVar17[3];
        *puVar22 = *puVar17;
        puVar22[1] = uVar13;
        puVar22[2] = uVar10;
        puVar22[3] = puVar3;
        puVar22 = puVar22 + 4;
      }
      if (puVar9 != (undefined4 *)0x0) {
        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd458))();
      }
      *puVar8 = (uint)puVar21;
      puVar8[1] = (int)puVar21 + iVar1;
      puVar8[2] = (uint)(puVar21 + uVar11 * 4);
      return (Elf_Addr)puVar3;
    }
    return 0;
  }
  pcVar30 = *(code **)(pcVar25 + 0x1bd64c);
  (*pcVar30)(*(int *)(pcVar25 + 0x1bd3d8) + 0x4864);
  bVar5 = bStackY_95 & 7;
  pcVar25 = pcVar25 + iStackY_9c + 0x1c53a4;
  if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;
  if (bVar5 == 3) {
    uVar11 = *(uint *)pcVar25;
    uVar11 = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +
             ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;
    if ((bStackY_95 & 8) != 0) {
      EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;
      goto LAB_00275014;
    }
  }
  else {
    if (bVar5 == 4) goto LAB_00274ff4;
    if (bVar5 != 2) {
      uVar10 = 0x10a;
      goto LAB_00274fdc;
    }
    uVar11 = (*(ushort *)pcVar25 & 0xff) << 8 | (uint)(*(ushort *)pcVar25 >> 8);
    if ((bStackY_95 & 8) != 0) {
      uVar18 = uVar11 ^ 0x8000;
      uVar11 = uVar18 - 0x8000;
      EVar23 = (uVar11 < uVar18) - 1;
      goto LAB_00275014;
    }
  }
  EVar23 = 0;
LAB_00275014:
  do {
    if ((bStackY_95 & 0x70) == 0x10) {
      uVar18 = uVar6 + 8;
      uVar6 = EVar23 + (uint)(uVar18 + iStackY_9c < uVar18) +
                       (uint)(uVar18 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);
      EVar23 = (uVar11 + uVar18 + iStackY_9c < uVar11) + uVar6;
LAB_00275078:
      uVar10 = 0x120;
      if (-1 < (char)bStackY_95) {
        return EVar23;
      }
    }
    else {
      if ((bStackY_95 & 0x70) == 0x30) {
        if (*(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) != (int *)0x0) {
          lVar32 = (**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50))();
          EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);
          goto LAB_00275078;
        }
        pcVar25 = *(code **)(pcVar30 + 0x1bd44c);
        iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fe4;
        (*pcVar25)(*(int *)(pcVar30 + 0x1bd43c) + -0x5cec,0x69);
        uVar18 = uVar14 & 0xff;
        uVar11 = uVar14 & 7;
        pcVar30 = pcVar30 + iStackY_c4 + 0x1c5260;
        if ((uVar14 & 7) == 0) goto LAB_002751c0;
        if (uVar11 == 3) {
          uVar11 = *(uint *)pcVar30;
          if ((uVar14 & 8) != 0) {
            EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;
            break;
          }
        }
        else {
          if (uVar11 == 4) goto LAB_002751c0;
          uVar10 = 0x10a;
          if (uVar11 != 2) goto LAB_002751a8;
          uVar11 = (uint)*(ushort *)pcVar30;
          if ((uVar14 & 8) != 0) {
            uVar14 = uVar11 ^ 0x8000;
            uVar11 = uVar14 - 0x8000;
            EVar23 = (uVar11 < uVar14) - 1;
            break;
          }
        }
        EVar23 = 0;
        break;
      }
      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;
      uVar10 = 0x11d;
    }
LAB_00274fdc:
    iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fa4;
    (**(code **)(pcVar30 + 0x1bd44c))(*(int *)(pcVar30 + 0x1bd2f4) + 0x1dc0,uVar10);
    pcVar25 = extraout_v1_00;
LAB_00274ff4:
    uVar11 = *(uint *)(pcVar25 + 4);
    uVar18 = *(uint *)pcVar25;
    EVar23 = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +
             ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;
    uVar11 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +
             ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;
  } while( true );
LAB_002751d0:
  uVar14 = uVar18 & 0x70;
  if (uVar14 == 0x10) {
    uVar14 = uVar6 + 8;
    uVar6 = (uint)(uVar14 + iStackY_c4 < uVar14) +
            (uint)(uVar14 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);
    EVar23 = (uint)(uVar11 + uVar14 + iStackY_c4 < uVar11) + EVar23 + uVar6;
LAB_00275238:
    uVar18 = (uint)(char)uVar18;
    uVar10 = 0x120;
    if (-1 < (int)uVar18) {
      return EVar23;
    }
  }
  else {
    if (uVar14 == 0x30) {
      if (*(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) != (int *)0x0) {
        lVar32 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50))();
        EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);
        goto LAB_00275238;
      }
      iVar1 = 0x69;
      pcVar30 = *(code **)(pcVar25 + 0x1bd27c);
      puVar17 = (undefined4 *)(*(int *)(pcVar25 + 0x1bd124) + 0x1fe4);
      piVar2 = (int *)(*(int *)(pcVar25 + 0x1bd26c) + -0x5cec);
      (*pcVar30)();
      iVar27 = piVar2[1];
      iVar20 = *piVar2;
      iVar28 = iVar1 - iVar20;
      uVar6 = iVar27 - iVar20 >> 2;
      if (uVar6 == 0) {
        uVar14 = 1;
LAB_00275498:
        iVar26 = uVar14 << 2;
LAB_0027536c:
        iVar4 = (**(code **)(pcVar30 + 0x1bd044))(iVar26);
        iVar26 = iVar4 + iVar26;
      }
      else {
        uVar14 = uVar6 << 1;
        if (uVar14 < uVar6) {
          iVar26 = -4;
          goto LAB_0027536c;
        }
        iVar26 = -4;
        if (0x3fffffff < uVar14) goto LAB_0027536c;
        iVar4 = 0;
        if (uVar14 != 0) goto LAB_00275498;
        iVar26 = 0;
      }
      puVar3 = (undefined4 *)(iVar4 + iVar28);
      iVar19 = iVar4 + iVar28 + 4;
      *puVar3 = *puVar17;
      iVar31 = iVar19 + (iVar27 - iVar1);
      if (iVar20 == iVar1) {
        pcVar25 = *(code **)(pcVar30 + 0x1c1490);
        if (iVar27 != iVar20) goto LAB_002753cc;
      }
      else {
        (**(code **)(pcVar30 + 0x1c13e0))(iVar4,iVar20,iVar28);
        if (iVar27 == iVar1) goto LAB_00275420;
        pcVar25 = *(code **)(pcVar30 + 0x1c1490);
LAB_002753cc:
        puVar3 = (undefined4 *)(*pcVar25)(iVar19,iVar1,iVar27 - iVar1);
      }
      if (iVar20 == 0) {
        *piVar2 = iVar4;
        piVar2[1] = iVar31;
        piVar2[2] = iVar26;
        return (Elf_Addr)puVar3;
      }
LAB_00275420:
      EVar23 = (**(code **)(pcVar30 + 0x1bcf94))(iVar20);
      *piVar2 = iVar4;
      piVar2[1] = iVar31;
      piVar2[2] = iVar26;
      return EVar23;
    }
    if (uVar14 == 0) goto LAB_00275238;
    uVar10 = 0x11d;
  }
LAB_002751a8:
  iVar1 = *(int *)(pcVar25 + 0x1bd124) + 0x1f88;
  pcVar30 = (code *)(*(int *)(pcVar25 + 0x1bd124) + 0x1dc0);
  (**(code **)(pcVar25 + 0x1bd27c))(pcVar30,uVar10);
  iStackY_c4 = extraout_v1_01;
LAB_002751c0:
  uVar11 = *(uint *)(pcVar30 + 4);
  EVar23 = *(Elf_Addr *)pcVar30;
  goto LAB_002751d0;
}



/* elfcpp::Elf_types<32>::Elf_Addr gold::Eh_frame_hdr::get_fde_pc<32,
   true>(elfcpp::Elf_types<32>::Elf_Addr, unsigned char const*, int, unsigned char) */

int * __thiscall
gold::Eh_frame_hdr::get_fde_pc<32,true>
          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)

{
  int iVar1;
  int *piVar2;
  int *piVar3;
  byte bVar5;
  int iVar4;
  uint uVar6;
  int extraout_v1;
  int iVar7;
  code *extraout_v1_00;
  int extraout_v1_01;
  undefined *puVar8;
  int iVar9;
  int *piVar10;
  undefined4 uVar11;
  int iVar12;
  uint uVar13;
  uint *puVar14;
  undefined4 *puVar15;
  uint uVar16;
  uint uVar17;
  int iVar18;
  int *unaff_s1;
  int iVar19;
  int *piVar20;
  int *piVar21;
  int *piVar22;
  code *pcVar23;
  undefined *puVar24;
  code *pcVar25;
  int iVar26;
  longlong lVar27;
  int iStackY_c4;
  int iStackY_9c;
  byte bStackY_95;
  undefined4 uStack_58;
  int iStack_54;
  uint uStack_50;
  int *piStack_4c;
  
  uVar16 = (uint)param_5;
  uVar6 = uVar16 & 7;
  puVar14 = (uint *)(param_3 + param_4 + 8);
  if (((param_5 & 7) == 0) || (uVar6 == 3)) {
    unaff_s1 = (int *)*puVar14;
LAB_00274bec:
    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;
LAB_00274bfc:
    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;
    if ((param_5 & 0x70) != 0) {
      uVar11 = 0x11d;
      goto LAB_00274c14;
    }
  }
  else {
    if (uVar6 == 4) {
      uVar11 = 0x104;
      goto LAB_00274c14;
    }
    if (uVar6 != 2) {
      uVar11 = 0x10a;
      goto LAB_00274c14;
    }
    unaff_s1 = (int *)(uint)*(ushort *)puVar14;
    if ((param_5 & 8) == 0) goto LAB_00274bec;
    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);
    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;
LAB_00274bb8:
    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);
  }
  while( true ) {
    uVar16 = (uint)(char)param_5;
    uVar11 = 0x120;
    if (-1 < (int)uVar16) {
      return unaff_s1;
    }
LAB_00274c14:
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);
LAB_00274c2c:
    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;
    param_5 = (byte)uVar16;
    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();
    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);
  }
  iVar12 = 0x69;
  puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4);
  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;
  puVar24 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)();
  iVar7 = *(int *)(puVar8 + 0x30);
  iVar1 = *(int *)(iVar7 + 0x20);
  uVar6 = param_4;
  uStack_50 = uVar16;
  piStack_4c = unaff_s1;
  if (iVar1 < 0) {
    iVar19 = *(int *)(iVar7 + 0xc);
    if (iVar1 << 2 < 0) {
      iVar9 = *(int *)(iVar7 + 0x1c);
      if (iVar1 << 1 < 0) {
        if (-1 < *(int *)(iVar7 + 0x18)) {
          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;
          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);
          if ((iVar1 <= *(int *)(iVar12 + 8)) &&
             ((*(int *)(iVar12 + 8) != iVar1 ||
              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {
            iVar1 = *(int *)(iVar12 + 0x10);
            piVar2 = (int *)puVar15[1];
            if ((int *)*puVar15 != piVar2) {
              pcVar23 = *(code **)(puVar24 + 0x1bf518);
              piVar3 = (int *)*puVar15;
              do {
                piVar22 = piVar3 + 2;
                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,
                                                *(undefined1 *)(piVar3 + 1));
                iStack_54 = iVar19 + *piVar3;
                (*pcVar23)(param_4,&uStack_58);
                piVar2 = (int *)puVar15[1];
                piVar3 = piVar22;
              } while (piVar2 != piVar22);
            }
            return piVar2;
          }
        }
        FUN_00271ec8();
      }
      (**(code **)(puVar24 + 0x1bd740))
                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);
    }
    (**(code **)(puVar24 + 0x1bd740))
              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);
  }
  uVar13 = 0xc5;
  pcVar23 = *(code **)(puVar24 + 0x1bd740);
  iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc;
  puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0);
  (*pcVar23)(puVar14,0xc5,iVar1);
  if (uVar13 < 0x10000000) {
    piVar2 = (int *)*puVar14;
    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);
    if (piVar3 != (int *)0x0) {
      piVar22 = (int *)puVar14[1];
      iVar1 = (int)piVar22 - (int)piVar2;
      if (uVar13 == 0) {
        piVar21 = (int *)0x0;
        piVar20 = piVar21;
        piVar10 = piVar2;
      }
      else {
        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);
        piVar21 = piVar3;
        piVar20 = piVar3;
        piVar10 = (int *)*puVar14;
      }
      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {
        iVar12 = piVar2[1];
        iVar7 = piVar2[2];
        piVar3 = (int *)piVar2[3];
        *piVar21 = *piVar2;
        piVar21[1] = iVar12;
        piVar21[2] = iVar7;
        piVar21[3] = (int)piVar3;
        piVar21 = piVar21 + 4;
      }
      if (piVar10 != (int *)0x0) {
        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();
      }
      *puVar14 = (uint)piVar20;
      puVar14[1] = (int)piVar20 + iVar1;
      puVar14[2] = (uint)(piVar20 + uVar13 * 4);
      return piVar3;
    }
    return (int *)0x0;
  }
  pcVar25 = *(code **)(pcVar23 + 0x1bd64c);
  (*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864);
  bVar5 = bStackY_95 & 7;
  pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4;
  if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;
  if (bVar5 == 3) {
    uVar13 = *(uint *)pcVar23;
    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +
             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;
    if ((bStackY_95 & 8) != 0) {
      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);
      goto LAB_00275014;
    }
  }
  else {
    if (bVar5 == 4) goto LAB_00274ff4;
    if (bVar5 != 2) {
      uVar11 = 0x10a;
      goto LAB_00274fdc;
    }
    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);
    if ((bStackY_95 & 8) != 0) {
      uVar17 = uVar13 ^ 0x8000;
      uVar13 = uVar17 - 0x8000;
      piVar2 = (int *)((uVar13 < uVar17) - 1);
      goto LAB_00275014;
    }
  }
  piVar2 = (int *)0x0;
LAB_00275014:
  do {
    if ((bStackY_95 & 0x70) == 0x10) {
      uVar17 = uVar6 + 8;
      uVar6 = (int)piVar2 +
              (uint)(uVar17 + iStackY_9c < uVar17) +
              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);
      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);
LAB_00275078:
      uVar11 = 0x120;
      if (-1 < (char)bStackY_95) {
        return piVar2;
      }
    }
    else {
      if ((bStackY_95 & 0x70) == 0x30) {
        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {
          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();
          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);
          goto LAB_00275078;
        }
        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);
        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;
        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);
        uVar17 = uVar16 & 0xff;
        uVar13 = uVar16 & 7;
        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;
        if ((uVar16 & 7) == 0) goto LAB_002751c0;
        if (uVar13 == 3) {
          uVar13 = *(uint *)pcVar25;
          if ((uVar16 & 8) != 0) {
            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);
            break;
          }
        }
        else {
          if (uVar13 == 4) goto LAB_002751c0;
          uVar11 = 0x10a;
          if (uVar13 != 2) goto LAB_002751a8;
          uVar13 = (uint)*(ushort *)pcVar25;
          if ((uVar16 & 8) != 0) {
            uVar16 = uVar13 ^ 0x8000;
            uVar13 = uVar16 - 0x8000;
            piVar2 = (int *)((uVar13 < uVar16) - 1);
            break;
          }
        }
        piVar2 = (int *)0x0;
        break;
      }
      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;
      uVar11 = 0x11d;
    }
LAB_00274fdc:
    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;
    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);
    pcVar23 = extraout_v1_00;
LAB_00274ff4:
    uVar13 = *(uint *)(pcVar23 + 4);
    uVar17 = *(uint *)pcVar23;
    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +
                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);
    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +
             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;
  } while( true );
LAB_002751d0:
  uVar16 = uVar17 & 0x70;
  if (uVar16 == 0x10) {
    uVar16 = uVar6 + 8;
    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +
            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);
    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);
LAB_00275238:
    uVar17 = (uint)(char)uVar17;
    uVar11 = 0x120;
    if (-1 < (int)uVar17) {
      return piVar2;
    }
  }
  else {
    if (uVar16 == 0x30) {
      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {
        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();
        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);
        goto LAB_00275238;
      }
      iVar1 = 0x69;
      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);
      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);
      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);
      (*pcVar25)();
      iVar12 = piVar2[1];
      iVar7 = *piVar2;
      iVar19 = iVar1 - iVar7;
      uVar6 = iVar12 - iVar7 >> 2;
      if (uVar6 == 0) {
        uVar16 = 1;
LAB_00275498:
        iVar9 = uVar16 << 2;
LAB_0027536c:
        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);
        iVar9 = iVar4 + iVar9;
      }
      else {
        uVar16 = uVar6 << 1;
        if (uVar16 < uVar6) {
          iVar9 = -4;
          goto LAB_0027536c;
        }
        iVar9 = -4;
        if (0x3fffffff < uVar16) goto LAB_0027536c;
        iVar4 = 0;
        if (uVar16 != 0) goto LAB_00275498;
        iVar9 = 0;
      }
      piVar22 = (int *)(iVar4 + iVar19);
      iVar18 = iVar4 + iVar19 + 4;
      *piVar22 = *piVar3;
      iVar26 = iVar18 + (iVar12 - iVar1);
      if (iVar7 == iVar1) {
        pcVar23 = *(code **)(pcVar25 + 0x1c1490);
        if (iVar12 != iVar7) goto LAB_002753cc;
      }
      else {
        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);
        if (iVar12 == iVar1) goto LAB_00275420;
        pcVar23 = *(code **)(pcVar25 + 0x1c1490);
LAB_002753cc:
        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);
      }
      if (iVar7 == 0) {
        *piVar2 = iVar4;
        piVar2[1] = iVar26;
        piVar2[2] = iVar9;
        return piVar22;
      }
LAB_00275420:
      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);
      *piVar2 = iVar4;
      piVar2[1] = iVar26;
      piVar2[2] = iVar9;
      return piVar3;
    }
    if (uVar16 == 0) goto LAB_00275238;
    uVar11 = 0x11d;
  }
LAB_002751a8:
  iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;
  pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0);
  (**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1);
  iStackY_c4 = extraout_v1_01;
LAB_002751c0:
  uVar13 = *(uint *)(pcVar25 + 4);
  piVar2 = *(int **)pcVar25;
  goto LAB_002751d0;
}


lui gp,0x1c
addiu gp,gp,0x5684
addu gp,gp,t9
addiu sp,sp,-0x28
addiu v0,a3,0x8
sw s0,0x1c(sp)
sw gp,0x10(sp)
sw ra,0x24(sp)
sw s1,0x20(sp)
lbu s0,0x3b(sp)
andi v1,s0,0x7
beq v1,zero,0x00274be8
_addu a2,a2,v0
li v0,0x3
beq v1,v0,0x00274be8
_li v0,0x4
beq v1,v0,0x00274c5c
_li v0,0x2
bne v1,v0,0x00274c64
_andi v0,s0,0x8
beq v0,zero,0x00274bec
_lhu s1,0x0(a2)
li v1,0x10
xori s1,s1,0x8000
andi v0,s0,0x70
bne v0,v1,0x00274bfc
_addiu s1,s1,-0x8000
addiu a1,a1,0x8
addu a1,a1,a3
addu s1,s1,a1
seb s0,s0
bltz s0,0x00274c14
_li a1,0x120
lw ra,0x24(sp)
or v0,s1,zero
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x28
lw s1,0x0(a2)
li v1,0x10
andi v0,s0,0x70
beq v0,v1,0x00274bb8
_nop
li v1,0x30
beq v0,v1,0x00274c2c
_nop
beq v0,zero,0x00274bc4
_nop
li a1,0x11d
lw a2,-0x7f64(gp)
lw a0,-0x7f64(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x1fc0
jalr t9
_addiu a0,a0,0x1dc0
lw v0,-0x75f0(gp)
lw v0,0x0(v0)
lw a0,0xc(v0)
beq a0,zero,0x00274c6c
_lw t9,-0x7e0c(gp)
lw v0,0x0(a0)
lw t9,0x50(v0)
jalr t9
_seb s0,s0
lw gp,0x10(sp)
b 0x00274bc8
_addu s1,s1,v1
b 0x00274c14
_li a1,0x104
b 0x00274c14
_li a1,0x10a
lw a2,-0x7f64(gp)
li a1,0x69
lw a0,-0x7e1c(gp)
addiu a2,a2,0x1fe4
jalr t9
_addiu a0,a0,-0x5cec
(translation_unit "/* elfcpp::Elf_types<32>::Elf_Addr gold::Eh_frame_hdr::get_fde_pc<32,\n   true>(elfcpp::Elf_types<32>::Elf_Addr, unsigned char const*, int, unsigned char) */\n\nint * __thiscall\ngold::Eh_frame_hdr::get_fde_pc<32,true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int extraout_v1;\n  int iVar7;\n  code *extraout_v1_00;\n  int extraout_v1_01;\n  undefined *puVar8;\n  int iVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined4 *puVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  int *unaff_s1;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  int *piVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  int iVar26;\n  longlong lVar27;\n  int iStackY_c4;\n  int iStackY_9c;\n  byte bStackY_95;\n  undefined4 uStack_58;\n  int iStack_54;\n  uint uStack_50;\n  int *piStack_4c;\n  \n  uVar16 = (uint)param_5;\n  uVar6 = uVar16 & 7;\n  puVar14 = (uint *)(param_3 + param_4 + 8);\n  if (((param_5 & 7) == 0) || (uVar6 == 3)) {\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }\n  else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }\n  while( true ) {\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }\n  iVar12 = 0x69;\n  puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4);\n  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n  puVar24 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  iVar7 = *(int *)(puVar8 + 0x30);\n  iVar1 = *(int *)(iVar7 + 0x20);\n  uVar6 = param_4;\n  uStack_50 = uVar16;\n  piStack_4c = unaff_s1;\n  if (iVar1 < 0) {\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }\n  uVar13 = 0xc5;\n  pcVar23 = *(code **)(puVar24 + 0x1bd740);\n  iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc;\n  puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0);\n  (*pcVar23)(puVar14,0xc5,iVar1);\n  if (uVar13 < 0x10000000) {\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }\n  pcVar25 = *(code **)(pcVar23 + 0x1bd64c);\n  (*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864);\n  bVar5 = bStackY_95 & 7;\n  pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4;\n  if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;\n  if (bVar5 == 3) {\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }\n  else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }\n  piVar2 = (int *)0x0;\nLAB_00275014:\n  do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );\nLAB_002751d0:\n  uVar16 = uVar17 & 0x70;\n  if (uVar16 == 0x10) {\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }\n  else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }\nLAB_002751a8:\n  iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;\n  pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0);\n  (**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1);\n  iStackY_c4 = extraout_v1_01;\nLAB_002751c0:\n  uVar13 = *(uint *)(pcVar25 + 4);\n  piVar2 = *(int **)pcVar25;\n  goto LAB_002751d0;\n}\n\n" comment (declaration "int * __thiscall" primitive_type (pointer_declarator "* __thiscall" * identifier) ;) (labeled_statement "gold::Eh_frame_hdr::get_fde_pc<32,true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int extraout_v1;\n  int iVar7;\n  code *extraout_v1_00;\n  int extraout_v1_01;\n  undefined *puVar8;\n  int iVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined4 *puVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  int *unaff_s1;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  int *piVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  int iVar26;\n  longlong lVar27;\n  int iStackY_c4;\n  int iStackY_9c;\n  byte bStackY_95;\n  undefined4 uStack_58;\n  int iStack_54;\n  uint uStack_50;\n  int *piStack_4c;\n  \n  uVar16 = (uint)param_5;\n  uVar6 = uVar16 & 7;\n  puVar14 = (uint *)(param_3 + param_4 + 8);\n  if (((param_5 & 7) == 0) || (uVar6 == 3)) {\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }\n  else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }\n  while( true ) {\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }\n  iVar12 = 0x69;\n  puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4);\n  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n  puVar24 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  iVar7 = *(int *)(puVar8 + 0x30);\n  iVar1 = *(int *)(iVar7 + 0x20);\n  uVar6 = param_4;\n  uStack_50 = uVar16;\n  piStack_4c = unaff_s1;\n  if (iVar1 < 0) {\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }\n  uVar13 = 0xc5;\n  pcVar23 = *(code **)(puVar24 + 0x1bd740);\n  iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc;\n  puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0);\n  (*pcVar23)(puVar14,0xc5,iVar1);\n  if (uVar13 < 0x10000000) {\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }\n  pcVar25 = *(code **)(pcVar23 + 0x1bd64c);\n  (*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864);\n  bVar5 = bStackY_95 & 7;\n  pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4;\n  if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;\n  if (bVar5 == 3) {\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }\n  else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }\n  piVar2 = (int *)0x0;\nLAB_00275014:\n  do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );\nLAB_002751d0:\n  uVar16 = uVar17 & 0x70;\n  if (uVar16 == 0x10) {\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }\n  else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }\nLAB_002751a8:\n  iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;\n  pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0);\n  (**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1);\n  iStackY_c4 = extraout_v1_01;\nLAB_002751c0:\n  uVar13 = *(uint *)(pcVar25 + 4);\n  piVar2 = *(int **)pcVar25;\n  goto LAB_002751d0;\n}" statement_identifier : (ERROR ":" :) (labeled_statement "Eh_frame_hdr::get_fde_pc<32,true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int extraout_v1;\n  int iVar7;\n  code *extraout_v1_00;\n  int extraout_v1_01;\n  undefined *puVar8;\n  int iVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined4 *puVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  int *unaff_s1;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  int *piVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  int iVar26;\n  longlong lVar27;\n  int iStackY_c4;\n  int iStackY_9c;\n  byte bStackY_95;\n  undefined4 uStack_58;\n  int iStack_54;\n  uint uStack_50;\n  int *piStack_4c;\n  \n  uVar16 = (uint)param_5;\n  uVar6 = uVar16 & 7;\n  puVar14 = (uint *)(param_3 + param_4 + 8);\n  if (((param_5 & 7) == 0) || (uVar6 == 3)) {\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }\n  else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }\n  while( true ) {\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }\n  iVar12 = 0x69;\n  puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4);\n  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n  puVar24 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  iVar7 = *(int *)(puVar8 + 0x30);\n  iVar1 = *(int *)(iVar7 + 0x20);\n  uVar6 = param_4;\n  uStack_50 = uVar16;\n  piStack_4c = unaff_s1;\n  if (iVar1 < 0) {\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }\n  uVar13 = 0xc5;\n  pcVar23 = *(code **)(puVar24 + 0x1bd740);\n  iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc;\n  puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0);\n  (*pcVar23)(puVar14,0xc5,iVar1);\n  if (uVar13 < 0x10000000) {\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }\n  pcVar25 = *(code **)(pcVar23 + 0x1bd64c);\n  (*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864);\n  bVar5 = bStackY_95 & 7;\n  pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4;\n  if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;\n  if (bVar5 == 3) {\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }\n  else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }\n  piVar2 = (int *)0x0;\nLAB_00275014:\n  do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );\nLAB_002751d0:\n  uVar16 = uVar17 & 0x70;\n  if (uVar16 == 0x10) {\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }\n  else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }\nLAB_002751a8:\n  iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;\n  pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0);\n  (**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1);\n  iStackY_c4 = extraout_v1_01;\nLAB_002751c0:\n  uVar13 = *(uint *)(pcVar25 + 4);\n  piVar2 = *(int **)pcVar25;\n  goto LAB_002751d0;\n}" statement_identifier : (ERROR ":get_fde_pc<32,true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)" : (comma_expression "get_fde_pc<32,true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)" (binary_expression "get_fde_pc<32" identifier < number_literal) , (binary_expression "true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)" true > (parenthesized_expression "(undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)" ( (comma_expression "undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5" identifier (ERROR "param_1" identifier) , (ERROR "int" identifier) (comma_expression "param_2,int param_3,uint param_4,byte param_5" identifier , (ERROR "int" identifier) (comma_expression "param_3,uint param_4,byte param_5" identifier , (ERROR "uint" identifier) (comma_expression "param_4,byte param_5" identifier , (ERROR "byte" identifier) identifier)))) ))))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int extraout_v1;\n  int iVar7;\n  code *extraout_v1_00;\n  int extraout_v1_01;\n  undefined *puVar8;\n  int iVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined4 *puVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  int *unaff_s1;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  int *piVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  int iVar26;\n  longlong lVar27;\n  int iStackY_c4;\n  int iStackY_9c;\n  byte bStackY_95;\n  undefined4 uStack_58;\n  int iStack_54;\n  uint uStack_50;\n  int *piStack_4c;\n  \n  uVar16 = (uint)param_5;\n  uVar6 = uVar16 & 7;\n  puVar14 = (uint *)(param_3 + param_4 + 8);\n  if (((param_5 & 7) == 0) || (uVar6 == 3)) {\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }\n  else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }\n  while( true ) {\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }\n  iVar12 = 0x69;\n  puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4);\n  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n  puVar24 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  iVar7 = *(int *)(puVar8 + 0x30);\n  iVar1 = *(int *)(iVar7 + 0x20);\n  uVar6 = param_4;\n  uStack_50 = uVar16;\n  piStack_4c = unaff_s1;\n  if (iVar1 < 0) {\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }\n  uVar13 = 0xc5;\n  pcVar23 = *(code **)(puVar24 + 0x1bd740);\n  iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc;\n  puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0);\n  (*pcVar23)(puVar14,0xc5,iVar1);\n  if (uVar13 < 0x10000000) {\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }\n  pcVar25 = *(code **)(pcVar23 + 0x1bd64c);\n  (*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864);\n  bVar5 = bStackY_95 & 7;\n  pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4;\n  if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;\n  if (bVar5 == 3) {\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }\n  else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }\n  piVar2 = (int *)0x0;\nLAB_00275014:\n  do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );\nLAB_002751d0:\n  uVar16 = uVar17 & 0x70;\n  if (uVar16 == 0x10) {\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }\n  else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }\nLAB_002751a8:\n  iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;\n  pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0);\n  (**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1);\n  iStackY_c4 = extraout_v1_01;\nLAB_002751c0:\n  uVar13 = *(uint *)(pcVar25 + 4);\n  piVar2 = *(int **)pcVar25;\n  goto LAB_002751d0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "code *extraout_v1_00;" type_identifier (pointer_declarator "*extraout_v1_00" * identifier) ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int *unaff_s1;" primitive_type (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "longlong lVar27;" type_identifier identifier ;) (declaration "int iStackY_c4;" primitive_type identifier ;) (declaration "int iStackY_9c;" primitive_type identifier ;) (declaration "byte bStackY_95;" type_identifier identifier ;) (declaration "undefined4 uStack_58;" type_identifier identifier ;) (declaration "int iStack_54;" primitive_type identifier ;) (declaration "uint uStack_50;" type_identifier identifier ;) (declaration "int *piStack_4c;" primitive_type (pointer_declarator "*piStack_4c" * identifier) ;) (expression_statement "uVar16 = (uint)param_5;" (assignment_expression "uVar16 = (uint)param_5" identifier = (cast_expression "(uint)param_5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar6 = uVar16 & 7;" (assignment_expression "uVar6 = uVar16 & 7" identifier = (binary_expression "uVar16 & 7" identifier & number_literal)) ;) (expression_statement "puVar14 = (uint *)(param_3 + param_4 + 8);" (assignment_expression "puVar14 = (uint *)(param_3 + param_4 + 8)" identifier = (cast_expression "(uint *)(param_3 + param_4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + param_4 + 8)" ( (binary_expression "param_3 + param_4 + 8" (binary_expression "param_3 + param_4" identifier + identifier) + number_literal) )))) ;) (if_statement "if (((param_5 & 7) == 0) || (uVar6 == 3)) {\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }\n  else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }" if (parenthesized_expression "(((param_5 & 7) == 0) || (uVar6 == 3))" ( (binary_expression "((param_5 & 7) == 0) || (uVar6 == 3)" (parenthesized_expression "((param_5 & 7) == 0)" ( (binary_expression "(param_5 & 7) == 0" (parenthesized_expression "(param_5 & 7)" ( (binary_expression "param_5 & 7" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar6 == 3)" ( (binary_expression "uVar6 == 3" identifier == number_literal) ))) )) (compound_statement "{\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }" { (expression_statement "unaff_s1 = (int *)*puVar14;" (assignment_expression "unaff_s1 = (int *)*puVar14" identifier = (cast_expression "(int *)*puVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar14" * identifier))) ;) (labeled_statement "LAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;" statement_identifier : (if_statement "if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;" if (parenthesized_expression "((uVar16 & 0x70) == 0x10)" ( (binary_expression "(uVar16 & 0x70) == 0x10" (parenthesized_expression "(uVar16 & 0x70)" ( (binary_expression "uVar16 & 0x70" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00274bb8;" goto statement_identifier ;))) (labeled_statement "LAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;" statement_identifier : (if_statement "if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;" if (parenthesized_expression "((uVar16 & 0x70) == 0x30)" ( (binary_expression "(uVar16 & 0x70) == 0x30" (parenthesized_expression "(uVar16 & 0x70)" ( (binary_expression "uVar16 & 0x70" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00274c2c;" goto statement_identifier ;))) (if_statement "if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }" if (parenthesized_expression "((param_5 & 0x70) != 0)" ( (binary_expression "(param_5 & 0x70) != 0" (parenthesized_expression "(param_5 & 0x70)" ( (binary_expression "param_5 & 0x70" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }" { (expression_statement "uVar11 = 0x11d;" (assignment_expression "uVar11 = 0x11d" identifier = number_literal) ;) (goto_statement "goto LAB_00274c14;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }" else (compound_statement "{\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }" { (if_statement "if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }" if (parenthesized_expression "(uVar6 == 4)" ( (binary_expression "uVar6 == 4" identifier == number_literal) )) (compound_statement "{\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }" { (expression_statement "uVar11 = 0x104;" (assignment_expression "uVar11 = 0x104" identifier = number_literal) ;) (goto_statement "goto LAB_00274c14;" goto statement_identifier ;) })) (if_statement "if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }" if (parenthesized_expression "(uVar6 != 2)" ( (binary_expression "uVar6 != 2" identifier != number_literal) )) (compound_statement "{\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }" { (expression_statement "uVar11 = 0x10a;" (assignment_expression "uVar11 = 0x10a" identifier = number_literal) ;) (goto_statement "goto LAB_00274c14;" goto statement_identifier ;) })) (expression_statement "unaff_s1 = (int *)(uint)*(ushort *)puVar14;" (assignment_expression "unaff_s1 = (int *)(uint)*(ushort *)puVar14" identifier = (binary_expression "(int *)(uint)*(ushort *)puVar14" (cast_expression "(int *)(uint)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)puVar14" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((param_5 & 8) == 0) goto LAB_00274bec;" if (parenthesized_expression "((param_5 & 8) == 0)" ( (binary_expression "(param_5 & 8) == 0" (parenthesized_expression "(param_5 & 8)" ( (binary_expression "param_5 & 8" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00274bec;" goto statement_identifier ;)) (expression_statement "unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);" (assignment_expression "unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000)" identifier = (cast_expression "(int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)unaff_s1 ^ 0x8000) - 0x8000)" ( (binary_expression "((uint)unaff_s1 ^ 0x8000) - 0x8000" (parenthesized_expression "((uint)unaff_s1 ^ 0x8000)" ( (binary_expression "(uint)unaff_s1 ^ 0x8000" (cast_expression "(uint)unaff_s1" ( (type_descriptor "uint" type_identifier) ) identifier) ^ number_literal) )) - number_literal) )))) ;) (if_statement "if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;" if (parenthesized_expression "((uVar16 & 0x70) != 0x10)" ( (binary_expression "(uVar16 & 0x70) != 0x10" (parenthesized_expression "(uVar16 & 0x70)" ( (binary_expression "uVar16 & 0x70" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00274bfc;" goto statement_identifier ;)) (labeled_statement "LAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);" statement_identifier : (expression_statement "unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);" (assignment_expression "unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4)" identifier = (cast_expression "(int *)((int)unaff_s1 + param_2 + 8 + param_4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s1 + param_2 + 8 + param_4)" ( (binary_expression "(int)unaff_s1 + param_2 + 8 + param_4" (binary_expression "(int)unaff_s1 + param_2 + 8" (binary_expression "(int)unaff_s1 + param_2" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) + identifier) )))) ;)) }))) (while_statement "while( true ) {\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }" { (expression_statement "uVar16 = (uint)(char)param_5;" (assignment_expression "uVar16 = (uint)(char)param_5" identifier = (cast_expression "(uint)(char)param_5" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)param_5" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "uVar11 = 0x120;" (assignment_expression "uVar11 = 0x120" identifier = number_literal) ;) (if_statement "if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }" if (parenthesized_expression "(-1 < (int)uVar16)" ( (binary_expression "-1 < (int)uVar16" number_literal < (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      return unaff_s1;\n    }" { (return_statement "return unaff_s1;" return identifier ;) })) (labeled_statement "LAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0)" ( (binary_expression "PTR_DAT_0043226c + 0x1dc0" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0043226c + 0x1fc0" identifier + number_literal) ))) ;)) (labeled_statement "LAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;" statement_identifier : (if_statement "if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;" if (parenthesized_expression "(*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0)" ( (binary_expression "*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0" (pointer_expression "*(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 0xc" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;))) (expression_statement "param_5 = (byte)uVar16;" (assignment_expression "param_5 = (byte)uVar16" identifier = (cast_expression "(byte)uVar16" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();" (call_expression "(**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50)" ( (binary_expression "**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50" (pointer_expression "**(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" * (pointer_expression "*(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 0xc" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);" (assignment_expression "unaff_s1 = (int *)((int)unaff_s1 + extraout_v1)" identifier = (cast_expression "(int *)((int)unaff_s1 + extraout_v1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s1 + extraout_v1)" ( (binary_expression "(int)unaff_s1 + extraout_v1" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })) (expression_statement "iVar12 = 0x69;" (assignment_expression "iVar12 = 0x69" identifier = number_literal) ;) (expression_statement "puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4);" (assignment_expression "puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4)" identifier = (cast_expression "(undefined4 *)(PTR_DAT_0043226c + 0x1fe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043226c + 0x1fe4)" ( (binary_expression "PTR_DAT_0043226c + 0x1fe4" identifier + number_literal) )))) ;) (expression_statement "puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;" (assignment_expression "puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec" identifier = (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal)) ;) (expression_statement "puVar24 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar24 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)();" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)()" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar7 = *(int *)(puVar8 + 0x30);" (assignment_expression "iVar7 = *(int *)(puVar8 + 0x30)" identifier = (pointer_expression "*(int *)(puVar8 + 0x30)" * (cast_expression "(int *)(puVar8 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x30)" ( (binary_expression "puVar8 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(iVar7 + 0x20);" (assignment_expression "iVar1 = *(int *)(iVar7 + 0x20)" identifier = (pointer_expression "*(int *)(iVar7 + 0x20)" * (cast_expression "(int *)(iVar7 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = param_4;" (assignment_expression "uVar6 = param_4" identifier = identifier) ;) (expression_statement "uStack_50 = uVar16;" (assignment_expression "uStack_50 = uVar16" identifier = identifier) ;) (expression_statement "piStack_4c = unaff_s1;" (assignment_expression "piStack_4c = unaff_s1" identifier = identifier) ;) (if_statement "if (iVar1 < 0) {\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }" if (parenthesized_expression "(iVar1 < 0)" ( (binary_expression "iVar1 < 0" identifier < number_literal) )) (compound_statement "{\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }" { (expression_statement "iVar19 = *(int *)(iVar7 + 0xc);" (assignment_expression "iVar19 = *(int *)(iVar7 + 0xc)" identifier = (pointer_expression "*(int *)(iVar7 + 0xc)" * (cast_expression "(int *)(iVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }" if (parenthesized_expression "(iVar1 << 2 < 0)" ( (binary_expression "iVar1 << 2 < 0" (binary_expression "iVar1 << 2" identifier << number_literal) < number_literal) )) (compound_statement "{\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }" { (expression_statement "iVar9 = *(int *)(iVar7 + 0x1c);" (assignment_expression "iVar9 = *(int *)(iVar7 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar7 + 0x1c)" * (cast_expression "(int *)(iVar7 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }" if (parenthesized_expression "(iVar1 << 1 < 0)" ( (binary_expression "iVar1 << 1 < 0" (binary_expression "iVar1 << 1" identifier << number_literal) < number_literal) )) (compound_statement "{\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }" { (if_statement "if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }" if (parenthesized_expression "(-1 < *(int *)(iVar7 + 0x18))" ( (binary_expression "-1 < *(int *)(iVar7 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar7 + 0x18)" * (cast_expression "(int *)(iVar7 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }" { (expression_statement "uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;" (assignment_expression "uVar6 = *(uint *)(iVar7 + 0x14) + iVar9" identifier = (binary_expression "*(uint *)(iVar7 + 0x14) + iVar9" (pointer_expression "*(uint *)(iVar7 + 0x14)" * (cast_expression "(uint *)(iVar7 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) + identifier)) ;) (expression_statement "iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);" (assignment_expression "iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18)" identifier = (binary_expression "(uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18)" (call_expression "(uint)(uVar6 < *(uint *)(iVar7 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar6 < *(uint *)(iVar7 + 0x14))" ( (binary_expression "uVar6 < *(uint *)(iVar7 + 0x14)" identifier < (pointer_expression "*(uint *)(iVar7 + 0x14)" * (cast_expression "(uint *)(iVar7 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(iVar7 + 0x18)" * (cast_expression "(int *)(iVar7 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }" if (parenthesized_expression "((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0))))" ( (binary_expression "(iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))" (parenthesized_expression "(iVar1 <= *(int *)(iVar12 + 8))" ( (binary_expression "iVar1 <= *(int *)(iVar12 + 8)" identifier <= (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))" ( (parenthesized_expression "(*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0))" ( (binary_expression "*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)" (binary_expression "*(int *)(iVar12 + 8) != iVar1" (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)" ( (comma_expression "uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0" (assignment_expression "uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6)" identifier = (call_expression "(uint)(*(uint *)(iVar12 + 0xc) < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(iVar12 + 0xc) < uVar6)" ( (binary_expression "*(uint *)(iVar12 + 0xc) < uVar6" (pointer_expression "*(uint *)(iVar12 + 0xc)" * (cast_expression "(uint *)(iVar12 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))) < identifier) )))) , (binary_expression "uVar6 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }" { (expression_statement "iVar1 = *(int *)(iVar12 + 0x10);" (assignment_expression "iVar1 = *(int *)(iVar12 + 0x10)" identifier = (pointer_expression "*(int *)(iVar12 + 0x10)" * (cast_expression "(int *)(iVar12 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x10)" ( (binary_expression "iVar12 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "piVar2 = (int *)puVar15[1];" (assignment_expression "piVar2 = (int *)puVar15[1]" identifier = (cast_expression "(int *)puVar15[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[1]" identifier [ number_literal ]))) ;) (if_statement "if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }" if (parenthesized_expression "((int *)*puVar15 != piVar2)" ( (binary_expression "(int *)*puVar15 != piVar2" (cast_expression "(int *)*puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier)) != identifier) )) (compound_statement "{\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }" { (expression_statement "pcVar23 = *(code **)(puVar24 + 0x1bf518);" (assignment_expression "pcVar23 = *(code **)(puVar24 + 0x1bf518)" identifier = (pointer_expression "*(code **)(puVar24 + 0x1bf518)" * (cast_expression "(code **)(puVar24 + 0x1bf518)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x1bf518)" ( (binary_expression "puVar24 + 0x1bf518" identifier + number_literal) ))))) ;) (expression_statement "piVar3 = (int *)*puVar15;" (assignment_expression "piVar3 = (int *)*puVar15" identifier = (cast_expression "(int *)*puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (do_statement "do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);" do (compound_statement "{\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              }" { (expression_statement "piVar22 = piVar3 + 2;" (assignment_expression "piVar22 = piVar3 + 2" identifier = (binary_expression "piVar3 + 2" identifier + number_literal)) ;) (expression_statement "uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));" (comma_expression "uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1))" (assignment_expression "uStack_58 = get_fde_pc<32" identifier = (binary_expression "get_fde_pc<32" identifier < number_literal)) , (binary_expression "true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1))" true > (parenthesized_expression "(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1))" ( (comma_expression "puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1)" identifier , (comma_expression "iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1)" identifier , (comma_expression "iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1)" (binary_expression "iVar1 + iVar9" identifier + identifier) , (comma_expression "*piVar3,\n                                                *(undefined1 *)(piVar3 + 1)" (pointer_expression "*piVar3" * identifier) , (pointer_expression "*(undefined1 *)(piVar3 + 1)" * (cast_expression "(undefined1 *)(piVar3 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3 + 1)" ( (binary_expression "piVar3 + 1" identifier + number_literal) )))))))) )))) ;) (expression_statement "iStack_54 = iVar19 + *piVar3;" (assignment_expression "iStack_54 = iVar19 + *piVar3" identifier = (binary_expression "iVar19 + *piVar3" identifier + (pointer_expression "*piVar3" * identifier))) ;) (expression_statement "(*pcVar23)(param_4,&uStack_58);" (call_expression "(*pcVar23)(param_4,&uStack_58)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(param_4,&uStack_58)" ( identifier , (pointer_expression "&uStack_58" & identifier) ))) ;) (expression_statement "piVar2 = (int *)puVar15[1];" (assignment_expression "piVar2 = (int *)puVar15[1]" identifier = (cast_expression "(int *)puVar15[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[1]" identifier [ number_literal ]))) ;) (expression_statement "piVar3 = piVar22;" (assignment_expression "piVar3 = piVar22" identifier = identifier) ;) }) while (parenthesized_expression "(piVar2 != piVar22)" ( (binary_expression "piVar2 != piVar22" identifier != identifier) )) ;) })) (return_statement "return piVar2;" return identifier ;) })) })) (expression_statement "FUN_00271ec8();" (call_expression "FUN_00271ec8()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);" (call_expression "(**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008)" (parenthesized_expression "(**(code **)(puVar24 + 0x1bd740))" ( (pointer_expression "**(code **)(puVar24 + 0x1bd740)" * (pointer_expression "*(code **)(puVar24 + 0x1bd740)" * (cast_expression "(code **)(puVar24 + 0x1bd740)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x1bd740)" ( (binary_expression "puVar24 + 0x1bd740" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008)" ( (binary_expression "*(int *)(puVar24 + 0x1bd730) + -0x4fe0" (pointer_expression "*(int *)(puVar24 + 0x1bd730)" * (cast_expression "(int *)(puVar24 + 0x1bd730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x1bd730)" ( (binary_expression "puVar24 + 0x1bd730" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar24 + 0x1bd5e8) + 0x2008" (pointer_expression "*(int *)(puVar24 + 0x1bd5e8)" * (cast_expression "(int *)(puVar24 + 0x1bd5e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x1bd5e8)" ( (binary_expression "puVar24 + 0x1bd5e8" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);" (call_expression "(**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014)" (parenthesized_expression "(**(code **)(puVar24 + 0x1bd740))" ( (pointer_expression "**(code **)(puVar24 + 0x1bd740)" * (pointer_expression "*(code **)(puVar24 + 0x1bd740)" * (cast_expression "(code **)(puVar24 + 0x1bd740)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x1bd740)" ( (binary_expression "puVar24 + 0x1bd740" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014)" ( (binary_expression "*(int *)(puVar24 + 0x1bd730) + -0x4fe0" (pointer_expression "*(int *)(puVar24 + 0x1bd730)" * (cast_expression "(int *)(puVar24 + 0x1bd730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x1bd730)" ( (binary_expression "puVar24 + 0x1bd730" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar24 + 0x1bd5e8) + 0x2014" (pointer_expression "*(int *)(puVar24 + 0x1bd5e8)" * (cast_expression "(int *)(puVar24 + 0x1bd5e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x1bd5e8)" ( (binary_expression "puVar24 + 0x1bd5e8" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "uVar13 = 0xc5;" (assignment_expression "uVar13 = 0xc5" identifier = number_literal) ;) (expression_statement "pcVar23 = *(code **)(puVar24 + 0x1bd740);" (assignment_expression "pcVar23 = *(code **)(puVar24 + 0x1bd740)" identifier = (pointer_expression "*(code **)(puVar24 + 0x1bd740)" * (cast_expression "(code **)(puVar24 + 0x1bd740)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x1bd740)" ( (binary_expression "puVar24 + 0x1bd740" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc;" (assignment_expression "iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc" identifier = (binary_expression "*(int *)(puVar24 + 0x1bd5e8) + 0x1fdc" (pointer_expression "*(int *)(puVar24 + 0x1bd5e8)" * (cast_expression "(int *)(puVar24 + 0x1bd5e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x1bd5e8)" ( (binary_expression "puVar24 + 0x1bd5e8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0);" (assignment_expression "puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0)" identifier = (cast_expression "(uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar24 + 0x1bd730) + -0x4fe0)" ( (binary_expression "*(int *)(puVar24 + 0x1bd730) + -0x4fe0" (pointer_expression "*(int *)(puVar24 + 0x1bd730)" * (cast_expression "(int *)(puVar24 + 0x1bd730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x1bd730)" ( (binary_expression "puVar24 + 0x1bd730" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar23)(puVar14,0xc5,iVar1);" (call_expression "(*pcVar23)(puVar14,0xc5,iVar1)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(puVar14,0xc5,iVar1)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (uVar13 < 0x10000000) {\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }" if (parenthesized_expression "(uVar13 < 0x10000000)" ( (binary_expression "uVar13 < 0x10000000" identifier < number_literal) )) (compound_statement "{\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }" { (expression_statement "piVar2 = (int *)*puVar14;" (assignment_expression "piVar2 = (int *)*puVar14" identifier = (cast_expression "(int *)*puVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar14" * identifier))) ;) (expression_statement "piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);" (assignment_expression "piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13)" identifier = (cast_expression "(int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13)" ( (binary_expression "(uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13" (call_expression "(uint)((int)(puVar14[2] - (int)piVar2) >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(puVar14[2] - (int)piVar2) >> 4)" ( (binary_expression "(int)(puVar14[2] - (int)piVar2) >> 4" (cast_expression "(int)(puVar14[2] - (int)piVar2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar14[2] - (int)piVar2)" ( (binary_expression "puVar14[2] - (int)piVar2" (subscript_expression "puVar14[2]" identifier [ number_literal ]) - (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ))) >> number_literal) ))) < identifier) ))))) ;) (if_statement "if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }" if (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }" { (expression_statement "piVar22 = (int *)puVar14[1];" (assignment_expression "piVar22 = (int *)puVar14[1]" identifier = (cast_expression "(int *)puVar14[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar1 = (int)piVar22 - (int)piVar2;" (assignment_expression "iVar1 = (int)piVar22 - (int)piVar2" identifier = (binary_expression "(int)piVar22 - (int)piVar2" (cast_expression "(int)piVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }" if (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) (compound_statement "{\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }" { (expression_statement "piVar21 = (int *)0x0;" (assignment_expression "piVar21 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar20 = piVar21;" (assignment_expression "piVar20 = piVar21" identifier = identifier) ;) (expression_statement "piVar10 = piVar2;" (assignment_expression "piVar10 = piVar2" identifier = identifier) ;) }) (else_clause "else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }" else (compound_statement "{\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }" { (expression_statement "piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);" (assignment_expression "piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10)" identifier = (cast_expression "(int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10)" (parenthesized_expression "(**(code **)(pcVar23 + 0x1bd508))" ( (pointer_expression "**(code **)(pcVar23 + 0x1bd508)" * (pointer_expression "*(code **)(pcVar23 + 0x1bd508)" * (cast_expression "(code **)(pcVar23 + 0x1bd508)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1bd508)" ( (binary_expression "pcVar23 + 0x1bd508" identifier + number_literal) ))))) )) (argument_list "(uVar13 * 0x10)" ( (binary_expression "uVar13 * 0x10" identifier * number_literal) ))))) ;) (expression_statement "piVar21 = piVar3;" (assignment_expression "piVar21 = piVar3" identifier = identifier) ;) (expression_statement "piVar20 = piVar3;" (assignment_expression "piVar20 = piVar3" identifier = identifier) ;) (expression_statement "piVar10 = (int *)*puVar14;" (assignment_expression "piVar10 = (int *)*puVar14" identifier = (cast_expression "(int *)*puVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar14" * identifier))) ;) }))) (for_statement "for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }" for ( ; (binary_expression "piVar2 != piVar22" identifier != identifier) ; (assignment_expression "piVar2 = piVar2 + 4" identifier = (binary_expression "piVar2 + 4" identifier + number_literal)) ) (compound_statement "{\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }" { (expression_statement "iVar12 = piVar2[1];" (assignment_expression "iVar12 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = piVar2[2];" (assignment_expression "iVar7 = piVar2[2]" identifier = (subscript_expression "piVar2[2]" identifier [ number_literal ])) ;) (expression_statement "piVar3 = (int *)piVar2[3];" (assignment_expression "piVar3 = (int *)piVar2[3]" identifier = (cast_expression "(int *)piVar2[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[3]" identifier [ number_literal ]))) ;) (expression_statement "*piVar21 = *piVar2;" (assignment_expression "*piVar21 = *piVar2" (pointer_expression "*piVar21" * identifier) = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "piVar21[1] = iVar12;" (assignment_expression "piVar21[1] = iVar12" (subscript_expression "piVar21[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar21[2] = iVar7;" (assignment_expression "piVar21[2] = iVar7" (subscript_expression "piVar21[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar21[3] = (int)piVar3;" (assignment_expression "piVar21[3] = (int)piVar3" (subscript_expression "piVar21[3]" identifier [ number_literal ]) = (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar21 = piVar21 + 4;" (assignment_expression "piVar21 = piVar21 + 4" identifier = (binary_expression "piVar21 + 4" identifier + number_literal)) ;) })) (if_statement "if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }" if (parenthesized_expression "(piVar10 != (int *)0x0)" ( (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }" { (expression_statement "piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();" (assignment_expression "piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))()" identifier = (cast_expression "(int *)(**(code **)(pcVar23 + 0x1bd458))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + 0x1bd458))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x1bd458))" ( (pointer_expression "**(code **)(pcVar23 + 0x1bd458)" * (pointer_expression "*(code **)(pcVar23 + 0x1bd458)" * (cast_expression "(code **)(pcVar23 + 0x1bd458)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1bd458)" ( (binary_expression "pcVar23 + 0x1bd458" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) })) (expression_statement "*puVar14 = (uint)piVar20;" (assignment_expression "*puVar14 = (uint)piVar20" (pointer_expression "*puVar14" * identifier) = (cast_expression "(uint)piVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar14[1] = (int)piVar20 + iVar1;" (assignment_expression "puVar14[1] = (int)piVar20 + iVar1" (subscript_expression "puVar14[1]" identifier [ number_literal ]) = (binary_expression "(int)piVar20 + iVar1" (cast_expression "(int)piVar20" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "puVar14[2] = (uint)(piVar20 + uVar13 * 4);" (assignment_expression "puVar14[2] = (uint)(piVar20 + uVar13 * 4)" (subscript_expression "puVar14[2]" identifier [ number_literal ]) = (call_expression "(uint)(piVar20 + uVar13 * 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar20 + uVar13 * 4)" ( (binary_expression "piVar20 + uVar13 * 4" identifier + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) ;) (return_statement "return piVar3;" return identifier ;) })) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "pcVar25 = *(code **)(pcVar23 + 0x1bd64c);" (assignment_expression "pcVar25 = *(code **)(pcVar23 + 0x1bd64c)" identifier = (pointer_expression "*(code **)(pcVar23 + 0x1bd64c)" * (cast_expression "(code **)(pcVar23 + 0x1bd64c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1bd64c)" ( (binary_expression "pcVar23 + 0x1bd64c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864);" (call_expression "(*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864)" ( (binary_expression "*(int *)(pcVar23 + 0x1bd3d8) + 0x4864" (pointer_expression "*(int *)(pcVar23 + 0x1bd3d8)" * (cast_expression "(int *)(pcVar23 + 0x1bd3d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x1bd3d8)" ( (binary_expression "pcVar23 + 0x1bd3d8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "bVar5 = bStackY_95 & 7;" (assignment_expression "bVar5 = bStackY_95 & 7" identifier = (binary_expression "bStackY_95 & 7" identifier & number_literal)) ;) (expression_statement "pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4;" (assignment_expression "pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4" identifier = (binary_expression "pcVar23 + iStackY_9c + 0x1c53a4" (binary_expression "pcVar23 + iStackY_9c" identifier + identifier) + number_literal)) ;) (if_statement "if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;" if (parenthesized_expression "((bStackY_95 & 7) == 0)" ( (binary_expression "(bStackY_95 & 7) == 0" (parenthesized_expression "(bStackY_95 & 7)" ( (binary_expression "bStackY_95 & 7" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00274ff4;" goto statement_identifier ;)) (if_statement "if (bVar5 == 3) {\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }\n  else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }" if (parenthesized_expression "(bVar5 == 3)" ( (binary_expression "bVar5 == 3" identifier == number_literal) )) (compound_statement "{\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }" { (expression_statement "uVar13 = *(uint *)pcVar23;" (assignment_expression "uVar13 = *(uint *)pcVar23" identifier = (pointer_expression "*(uint *)pcVar23" * (cast_expression "(uint *)pcVar23" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10)" ( (binary_expression "(uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10" (binary_expression "(uVar13 >> 0x10) << 0x18" (parenthesized_expression "(uVar13 >> 0x10)" ( (binary_expression "uVar13 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar13 >> 0x18) << 0x10" (parenthesized_expression "(uVar13 >> 0x18)" ( (binary_expression "uVar13 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff)" ( (binary_expression "(uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff" (binary_expression "(uVar13 & 0xff) << 8" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar13 >> 8 & 0xff" (binary_expression "uVar13 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }" if (parenthesized_expression "((bStackY_95 & 8) != 0)" ( (binary_expression "(bStackY_95 & 8) != 0" (parenthesized_expression "(bStackY_95 & 8)" ( (binary_expression "bStackY_95 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }" { (expression_statement "piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);" (assignment_expression "piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1)" identifier = (cast_expression "(int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar13 < (uVar13 ^ 0x80000000)) - 1)" ( (binary_expression "(uVar13 < (uVar13 ^ 0x80000000)) - 1" (parenthesized_expression "(uVar13 < (uVar13 ^ 0x80000000))" ( (binary_expression "uVar13 < (uVar13 ^ 0x80000000)" identifier < (parenthesized_expression "(uVar13 ^ 0x80000000)" ( (binary_expression "uVar13 ^ 0x80000000" identifier ^ number_literal) ))) )) - number_literal) )))) ;) (goto_statement "goto LAB_00275014;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }" else (compound_statement "{\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }" { (if_statement "if (bVar5 == 4) goto LAB_00274ff4;" if (parenthesized_expression "(bVar5 == 4)" ( (binary_expression "bVar5 == 4" identifier == number_literal) )) (goto_statement "goto LAB_00274ff4;" goto statement_identifier ;)) (if_statement "if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }" if (parenthesized_expression "(bVar5 != 2)" ( (binary_expression "bVar5 != 2" identifier != number_literal) )) (compound_statement "{\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }" { (expression_statement "uVar11 = 0x10a;" (assignment_expression "uVar11 = 0x10a" identifier = number_literal) ;) (goto_statement "goto LAB_00274fdc;" goto statement_identifier ;) })) (expression_statement "uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);" (assignment_expression "uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8)" identifier = (binary_expression "(*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8)" (binary_expression "(*(ushort *)pcVar23 & 0xff) << 8" (parenthesized_expression "(*(ushort *)pcVar23 & 0xff)" ( (binary_expression "*(ushort *)pcVar23 & 0xff" (pointer_expression "*(ushort *)pcVar23" * (cast_expression "(ushort *)pcVar23" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) << number_literal) | (call_expression "(uint)(*(ushort *)pcVar23 >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)pcVar23 >> 8)" ( (binary_expression "*(ushort *)pcVar23 >> 8" (pointer_expression "*(ushort *)pcVar23" * (cast_expression "(ushort *)pcVar23" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) >> number_literal) ))))) ;) (if_statement "if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }" if (parenthesized_expression "((bStackY_95 & 8) != 0)" ( (binary_expression "(bStackY_95 & 8) != 0" (parenthesized_expression "(bStackY_95 & 8)" ( (binary_expression "bStackY_95 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }" { (expression_statement "uVar17 = uVar13 ^ 0x8000;" (assignment_expression "uVar17 = uVar13 ^ 0x8000" identifier = (binary_expression "uVar13 ^ 0x8000" identifier ^ number_literal)) ;) (expression_statement "uVar13 = uVar17 - 0x8000;" (assignment_expression "uVar13 = uVar17 - 0x8000" identifier = (binary_expression "uVar17 - 0x8000" identifier - number_literal)) ;) (expression_statement "piVar2 = (int *)((uVar13 < uVar17) - 1);" (assignment_expression "piVar2 = (int *)((uVar13 < uVar17) - 1)" identifier = (cast_expression "(int *)((uVar13 < uVar17) - 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar13 < uVar17) - 1)" ( (binary_expression "(uVar13 < uVar17) - 1" (parenthesized_expression "(uVar13 < uVar17)" ( (binary_expression "uVar13 < uVar17" identifier < identifier) )) - number_literal) )))) ;) (goto_statement "goto LAB_00275014;" goto statement_identifier ;) })) }))) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00275014:\n  do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );" statement_identifier : (do_statement "do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );" do (compound_statement "{\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  }" { (if_statement "if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }" if (parenthesized_expression "((bStackY_95 & 0x70) == 0x10)" ( (binary_expression "(bStackY_95 & 0x70) == 0x10" (parenthesized_expression "(bStackY_95 & 0x70)" ( (binary_expression "bStackY_95 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }" { (expression_statement "uVar17 = uVar6 + 8;" (assignment_expression "uVar17 = uVar6 + 8" identifier = (binary_expression "uVar6 + 8" identifier + number_literal)) ;) (expression_statement "uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);" (assignment_expression "uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f)" identifier = (binary_expression "(int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f)" (binary_expression "(int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1" (binary_expression "(int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6)" (binary_expression "(int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17)" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(uVar17 + iStackY_9c < uVar17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 + iStackY_9c < uVar17)" ( (binary_expression "uVar17 + iStackY_9c < uVar17" (binary_expression "uVar17 + iStackY_9c" identifier + identifier) < identifier) )))) + (call_expression "(uint)(uVar17 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < uVar6)" ( (binary_expression "uVar17 < uVar6" identifier < identifier) )))) + identifier) + (parenthesized_expression "(iStackY_9c >> 0x1f)" ( (binary_expression "iStackY_9c >> 0x1f" identifier >> number_literal) )))) ;) (expression_statement "piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);" (assignment_expression "piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6)" identifier = (cast_expression "(int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6)" ( (binary_expression "(uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6" (parenthesized_expression "(uVar13 + uVar17 + iStackY_9c < uVar13)" ( (binary_expression "uVar13 + uVar17 + iStackY_9c < uVar13" (binary_expression "uVar13 + uVar17 + iStackY_9c" (binary_expression "uVar13 + uVar17" identifier + identifier) + identifier) < identifier) )) + identifier) )))) ;) (labeled_statement "LAB_00275078:\n      uVar11 = 0x120;" statement_identifier : (expression_statement "uVar11 = 0x120;" (assignment_expression "uVar11 = 0x120" identifier = number_literal) ;)) (if_statement "if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }" if (parenthesized_expression "(-1 < (char)bStackY_95)" ( (binary_expression "-1 < (char)bStackY_95" number_literal < (cast_expression "(char)bStackY_95" ( (type_descriptor "char" primitive_type) ) identifier)) )) (compound_statement "{\n        return piVar2;\n      }" { (return_statement "return piVar2;" return identifier ;) })) }) (else_clause "else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }" else (compound_statement "{\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }" { (if_statement "if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }" if (parenthesized_expression "((bStackY_95 & 0x70) == 0x30)" ( (binary_expression "(bStackY_95 & 0x70) == 0x30" (parenthesized_expression "(bStackY_95 & 0x70)" ( (binary_expression "bStackY_95 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }" { (if_statement "if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }" if (parenthesized_expression "(*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0)" ( (binary_expression "*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0" (pointer_expression "*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" ( (binary_expression "**(int **)(pcVar25 + 0x1bdc68) + 0xc" (pointer_expression "**(int **)(pcVar25 + 0x1bdc68)" * (pointer_expression "*(int **)(pcVar25 + 0x1bdc68)" * (cast_expression "(int **)(pcVar25 + 0x1bdc68)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bdc68)" ( (binary_expression "pcVar25 + 0x1bdc68" identifier + number_literal) ))))) + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }" { (expression_statement "lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();" (assignment_expression "lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))()" identifier = (call_expression "(**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50)" ( (binary_expression "**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" * (pointer_expression "*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" ( (binary_expression "**(int **)(pcVar25 + 0x1bdc68) + 0xc" (pointer_expression "**(int **)(pcVar25 + 0x1bdc68)" * (pointer_expression "*(int **)(pcVar25 + 0x1bdc68)" * (cast_expression "(int **)(pcVar25 + 0x1bdc68)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bdc68)" ( (binary_expression "pcVar25 + 0x1bdc68" identifier + number_literal) ))))) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);" (assignment_expression "piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" identifier = (cast_expression "(int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" ( (binary_expression "(ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20" (call_expression "(ulonglong)(lVar27 + CONCAT44(piVar2,uVar13))" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar27 + CONCAT44(piVar2,uVar13))" ( (binary_expression "lVar27 + CONCAT44(piVar2,uVar13)" identifier + (call_expression "CONCAT44(piVar2,uVar13)" identifier (argument_list "(piVar2,uVar13)" ( identifier , identifier )))) ))) >> number_literal) )))) ;) (goto_statement "goto LAB_00275078;" goto statement_identifier ;) })) (expression_statement "pcVar23 = *(code **)(pcVar25 + 0x1bd44c);" (assignment_expression "pcVar23 = *(code **)(pcVar25 + 0x1bd44c)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x1bd44c)" * (cast_expression "(code **)(pcVar25 + 0x1bd44c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bd44c)" ( (binary_expression "pcVar25 + 0x1bd44c" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;" (assignment_expression "iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4" identifier = (binary_expression "*(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4" (pointer_expression "*(int *)(pcVar25 + 0x1bd2f4)" * (cast_expression "(int *)(pcVar25 + 0x1bd2f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x1bd2f4)" ( (binary_expression "pcVar25 + 0x1bd2f4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);" (call_expression "(*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1)" ( (binary_expression "*(int *)(pcVar25 + 0x1bd43c) + -0x5cec" (pointer_expression "*(int *)(pcVar25 + 0x1bd43c)" * (cast_expression "(int *)(pcVar25 + 0x1bd43c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x1bd43c)" ( (binary_expression "pcVar25 + 0x1bd43c" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (expression_statement "uVar17 = uVar16 & 0xff;" (assignment_expression "uVar17 = uVar16 & 0xff" identifier = (binary_expression "uVar16 & 0xff" identifier & number_literal)) ;) (expression_statement "uVar13 = uVar16 & 7;" (assignment_expression "uVar13 = uVar16 & 7" identifier = (binary_expression "uVar16 & 7" identifier & number_literal)) ;) (expression_statement "pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;" (assignment_expression "pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260" identifier = (binary_expression "pcVar25 + iStackY_c4 + 0x1c5260" (binary_expression "pcVar25 + iStackY_c4" identifier + identifier) + number_literal)) ;) (if_statement "if ((uVar16 & 7) == 0) goto LAB_002751c0;" if (parenthesized_expression "((uVar16 & 7) == 0)" ( (binary_expression "(uVar16 & 7) == 0" (parenthesized_expression "(uVar16 & 7)" ( (binary_expression "uVar16 & 7" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002751c0;" goto statement_identifier ;)) (if_statement "if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }" if (parenthesized_expression "(uVar13 == 3)" ( (binary_expression "uVar13 == 3" identifier == number_literal) )) (compound_statement "{\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }" { (expression_statement "uVar13 = *(uint *)pcVar25;" (assignment_expression "uVar13 = *(uint *)pcVar25" identifier = (pointer_expression "*(uint *)pcVar25" * (cast_expression "(uint *)pcVar25" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }" if (parenthesized_expression "((uVar16 & 8) != 0)" ( (binary_expression "(uVar16 & 8) != 0" (parenthesized_expression "(uVar16 & 8)" ( (binary_expression "uVar16 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }" { (expression_statement "piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);" (assignment_expression "piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1)" identifier = (cast_expression "(int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar13 < (uVar13 ^ 0x80000000)) - 1)" ( (binary_expression "(uVar13 < (uVar13 ^ 0x80000000)) - 1" (parenthesized_expression "(uVar13 < (uVar13 ^ 0x80000000))" ( (binary_expression "uVar13 < (uVar13 ^ 0x80000000)" identifier < (parenthesized_expression "(uVar13 ^ 0x80000000)" ( (binary_expression "uVar13 ^ 0x80000000" identifier ^ number_literal) ))) )) - number_literal) )))) ;) (break_statement "break;" break ;) })) }) (else_clause "else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }" else (compound_statement "{\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }" { (if_statement "if (uVar13 == 4) goto LAB_002751c0;" if (parenthesized_expression "(uVar13 == 4)" ( (binary_expression "uVar13 == 4" identifier == number_literal) )) (goto_statement "goto LAB_002751c0;" goto statement_identifier ;)) (expression_statement "uVar11 = 0x10a;" (assignment_expression "uVar11 = 0x10a" identifier = number_literal) ;) (if_statement "if (uVar13 != 2) goto LAB_002751a8;" if (parenthesized_expression "(uVar13 != 2)" ( (binary_expression "uVar13 != 2" identifier != number_literal) )) (goto_statement "goto LAB_002751a8;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)*(ushort *)pcVar25;" (assignment_expression "uVar13 = (uint)*(ushort *)pcVar25" identifier = (binary_expression "(uint)*(ushort *)pcVar25" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)pcVar25" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }" if (parenthesized_expression "((uVar16 & 8) != 0)" ( (binary_expression "(uVar16 & 8) != 0" (parenthesized_expression "(uVar16 & 8)" ( (binary_expression "uVar16 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }" { (expression_statement "uVar16 = uVar13 ^ 0x8000;" (assignment_expression "uVar16 = uVar13 ^ 0x8000" identifier = (binary_expression "uVar13 ^ 0x8000" identifier ^ number_literal)) ;) (expression_statement "uVar13 = uVar16 - 0x8000;" (assignment_expression "uVar13 = uVar16 - 0x8000" identifier = (binary_expression "uVar16 - 0x8000" identifier - number_literal)) ;) (expression_statement "piVar2 = (int *)((uVar13 < uVar16) - 1);" (assignment_expression "piVar2 = (int *)((uVar13 < uVar16) - 1)" identifier = (cast_expression "(int *)((uVar13 < uVar16) - 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar13 < uVar16) - 1)" ( (binary_expression "(uVar13 < uVar16) - 1" (parenthesized_expression "(uVar13 < uVar16)" ( (binary_expression "uVar13 < uVar16" identifier < identifier) )) - number_literal) )))) ;) (break_statement "break;" break ;) })) }))) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (break_statement "break;" break ;) })) (if_statement "if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;" if (parenthesized_expression "((bStackY_95 & 0x70) == 0)" ( (binary_expression "(bStackY_95 & 0x70) == 0" (parenthesized_expression "(bStackY_95 & 0x70)" ( (binary_expression "bStackY_95 & 0x70" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00275078;" goto statement_identifier ;)) (expression_statement "uVar11 = 0x11d;" (assignment_expression "uVar11 = 0x11d" identifier = number_literal) ;) }))) (labeled_statement "LAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;" statement_identifier : (expression_statement "iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;" (assignment_expression "iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4" identifier = (binary_expression "*(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4" (pointer_expression "*(int *)(pcVar25 + 0x1bd2f4)" * (cast_expression "(int *)(pcVar25 + 0x1bd2f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x1bd2f4)" ( (binary_expression "pcVar25 + 0x1bd2f4" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "(**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);" (call_expression "(**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1)" (parenthesized_expression "(**(code **)(pcVar25 + 0x1bd44c))" ( (pointer_expression "**(code **)(pcVar25 + 0x1bd44c)" * (pointer_expression "*(code **)(pcVar25 + 0x1bd44c)" * (cast_expression "(code **)(pcVar25 + 0x1bd44c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bd44c)" ( (binary_expression "pcVar25 + 0x1bd44c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1)" ( (binary_expression "*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0" (pointer_expression "*(int *)(pcVar25 + 0x1bd2f4)" * (cast_expression "(int *)(pcVar25 + 0x1bd2f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x1bd2f4)" ( (binary_expression "pcVar25 + 0x1bd2f4" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (expression_statement "pcVar23 = extraout_v1_00;" (assignment_expression "pcVar23 = extraout_v1_00" identifier = identifier) ;) (labeled_statement "LAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);" statement_identifier : (expression_statement "uVar13 = *(uint *)(pcVar23 + 4);" (assignment_expression "uVar13 = *(uint *)(pcVar23 + 4)" identifier = (pointer_expression "*(uint *)(pcVar23 + 4)" * (cast_expression "(uint *)(pcVar23 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 4)" ( (binary_expression "pcVar23 + 4" identifier + number_literal) ))))) ;)) (expression_statement "uVar17 = *(uint *)pcVar23;" (assignment_expression "uVar17 = *(uint *)pcVar23" identifier = (pointer_expression "*(uint *)pcVar23" * (cast_expression "(uint *)pcVar23" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);" (assignment_expression "piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000)" identifier = (cast_expression "(int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10)" ( (binary_expression "(uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10" (binary_expression "(uVar13 >> 0x10) << 0x18" (parenthesized_expression "(uVar13 >> 0x10)" ( (binary_expression "uVar13 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar13 >> 0x18) << 0x10" (parenthesized_expression "(uVar13 >> 0x18)" ( (binary_expression "uVar13 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff)" ( (binary_expression "(uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff" (binary_expression "(uVar13 & 0xff) << 8" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar13 >> 8 & 0xff" (binary_expression "uVar13 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )))) ;) (expression_statement "uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10)" ( (binary_expression "(uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10" (binary_expression "(uVar17 >> 0x10) << 0x18" (parenthesized_expression "(uVar17 >> 0x10)" ( (binary_expression "uVar17 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar17 >> 0x18) << 0x10" (parenthesized_expression "(uVar17 >> 0x18)" ( (binary_expression "uVar17 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff)" ( (binary_expression "(uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff" (binary_expression "(uVar17 & 0xff) << 8" (parenthesized_expression "(uVar17 & 0xff)" ( (binary_expression "uVar17 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar17 >> 8 & 0xff" (binary_expression "uVar17 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) (labeled_statement "LAB_002751d0:\n  uVar16 = uVar17 & 0x70;" statement_identifier : (expression_statement "uVar16 = uVar17 & 0x70;" (assignment_expression "uVar16 = uVar17 & 0x70" identifier = (binary_expression "uVar17 & 0x70" identifier & number_literal)) ;)) (if_statement "if (uVar16 == 0x10) {\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }\n  else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }" if (parenthesized_expression "(uVar16 == 0x10)" ( (binary_expression "uVar16 == 0x10" identifier == number_literal) )) (compound_statement "{\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }" { (expression_statement "uVar16 = uVar6 + 8;" (assignment_expression "uVar16 = uVar6 + 8" identifier = (binary_expression "uVar6 + 8" identifier + number_literal)) ;) (expression_statement "uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);" (assignment_expression "uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f)" identifier = (binary_expression "(uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f)" (binary_expression "(uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1" (binary_expression "(uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6)" (call_expression "(uint)(uVar16 + iStackY_c4 < uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 + iStackY_c4 < uVar16)" ( (binary_expression "uVar16 + iStackY_c4 < uVar16" (binary_expression "uVar16 + iStackY_c4" identifier + identifier) < identifier) ))) + (call_expression "(uint)(uVar16 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < uVar6)" ( (binary_expression "uVar16 < uVar6" identifier < identifier) )))) + identifier) + (parenthesized_expression "(iStackY_c4 >> 0x1f)" ( (binary_expression "iStackY_c4 >> 0x1f" identifier >> number_literal) )))) ;) (expression_statement "piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);" (assignment_expression "piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6)" identifier = (cast_expression "(int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6)" ( (binary_expression "(int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6" (binary_expression "(int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13)" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar13 + uVar16 + iStackY_c4 < uVar13)" ( (binary_expression "uVar13 + uVar16 + iStackY_c4 < uVar13" (binary_expression "uVar13 + uVar16 + iStackY_c4" (binary_expression "uVar13 + uVar16" identifier + identifier) + identifier) < identifier) ))) + identifier) )))) ;) (labeled_statement "LAB_00275238:\n    uVar17 = (uint)(char)uVar17;" statement_identifier : (expression_statement "uVar17 = (uint)(char)uVar17;" (assignment_expression "uVar17 = (uint)(char)uVar17" identifier = (cast_expression "(uint)(char)uVar17" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier))) ;)) (expression_statement "uVar11 = 0x120;" (assignment_expression "uVar11 = 0x120" identifier = number_literal) ;) (if_statement "if (-1 < (int)uVar17) {\n      return piVar2;\n    }" if (parenthesized_expression "(-1 < (int)uVar17)" ( (binary_expression "-1 < (int)uVar17" number_literal < (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      return piVar2;\n    }" { (return_statement "return piVar2;" return identifier ;) })) }) (else_clause "else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }" else (compound_statement "{\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }" { (if_statement "if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }" if (parenthesized_expression "(uVar16 == 0x30)" ( (binary_expression "uVar16 == 0x30" identifier == number_literal) )) (compound_statement "{\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }" { (if_statement "if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }" if (parenthesized_expression "(*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0)" ( (binary_expression "*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0" (pointer_expression "*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar23 + 0x1bda98) + 0xc)" ( (binary_expression "**(int **)(pcVar23 + 0x1bda98) + 0xc" (pointer_expression "**(int **)(pcVar23 + 0x1bda98)" * (pointer_expression "*(int **)(pcVar23 + 0x1bda98)" * (cast_expression "(int **)(pcVar23 + 0x1bda98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1bda98)" ( (binary_expression "pcVar23 + 0x1bda98" identifier + number_literal) ))))) + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }" { (expression_statement "lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();" (assignment_expression "lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))()" identifier = (call_expression "(**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50)" ( (binary_expression "**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc)" * (pointer_expression "*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar23 + 0x1bda98) + 0xc)" ( (binary_expression "**(int **)(pcVar23 + 0x1bda98) + 0xc" (pointer_expression "**(int **)(pcVar23 + 0x1bda98)" * (pointer_expression "*(int **)(pcVar23 + 0x1bda98)" * (cast_expression "(int **)(pcVar23 + 0x1bda98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1bda98)" ( (binary_expression "pcVar23 + 0x1bda98" identifier + number_literal) ))))) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);" (assignment_expression "piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" identifier = (cast_expression "(int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" ( (binary_expression "(ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20" (call_expression "(ulonglong)(lVar27 + CONCAT44(piVar2,uVar13))" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar27 + CONCAT44(piVar2,uVar13))" ( (binary_expression "lVar27 + CONCAT44(piVar2,uVar13)" identifier + (call_expression "CONCAT44(piVar2,uVar13)" identifier (argument_list "(piVar2,uVar13)" ( identifier , identifier )))) ))) >> number_literal) )))) ;) (goto_statement "goto LAB_00275238;" goto statement_identifier ;) })) (expression_statement "iVar1 = 0x69;" (assignment_expression "iVar1 = 0x69" identifier = number_literal) ;) (expression_statement "pcVar25 = *(code **)(pcVar23 + 0x1bd27c);" (assignment_expression "pcVar25 = *(code **)(pcVar23 + 0x1bd27c)" identifier = (pointer_expression "*(code **)(pcVar23 + 0x1bd27c)" * (cast_expression "(code **)(pcVar23 + 0x1bd27c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1bd27c)" ( (binary_expression "pcVar23 + 0x1bd27c" identifier + number_literal) ))))) ;) (expression_statement "piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4)" identifier = (cast_expression "(int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4)" ( (binary_expression "*(int *)(pcVar23 + 0x1bd124) + 0x1fe4" (pointer_expression "*(int *)(pcVar23 + 0x1bd124)" * (cast_expression "(int *)(pcVar23 + 0x1bd124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x1bd124)" ( (binary_expression "pcVar23 + 0x1bd124" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);" (assignment_expression "piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec)" identifier = (cast_expression "(int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec)" ( (binary_expression "*(int *)(pcVar23 + 0x1bd26c) + -0x5cec" (pointer_expression "*(int *)(pcVar23 + 0x1bd26c)" * (cast_expression "(int *)(pcVar23 + 0x1bd26c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x1bd26c)" ( (binary_expression "pcVar23 + 0x1bd26c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar12 = piVar2[1];" (assignment_expression "iVar12 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = *piVar2;" (assignment_expression "iVar7 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "iVar19 = iVar1 - iVar7;" (assignment_expression "iVar19 = iVar1 - iVar7" identifier = (binary_expression "iVar1 - iVar7" identifier - identifier)) ;) (expression_statement "uVar6 = iVar12 - iVar7 >> 2;" (assignment_expression "uVar6 = iVar12 - iVar7 >> 2" identifier = (binary_expression "iVar12 - iVar7 >> 2" (binary_expression "iVar12 - iVar7" identifier - identifier) >> number_literal)) ;) (if_statement "if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }" { (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00275498:\n        iVar9 = uVar16 << 2;" statement_identifier : (expression_statement "iVar9 = uVar16 << 2;" (assignment_expression "iVar9 = uVar16 << 2" identifier = (binary_expression "uVar16 << 2" identifier << number_literal)) ;)) (labeled_statement "LAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);" statement_identifier : (expression_statement "iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);" (assignment_expression "iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9)" identifier = (call_expression "(**(code **)(pcVar25 + 0x1bd044))(iVar9)" (parenthesized_expression "(**(code **)(pcVar25 + 0x1bd044))" ( (pointer_expression "**(code **)(pcVar25 + 0x1bd044)" * (pointer_expression "*(code **)(pcVar25 + 0x1bd044)" * (cast_expression "(code **)(pcVar25 + 0x1bd044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bd044)" ( (binary_expression "pcVar25 + 0x1bd044" identifier + number_literal) ))))) )) (argument_list "(iVar9)" ( identifier )))) ;)) (expression_statement "iVar9 = iVar4 + iVar9;" (assignment_expression "iVar9 = iVar4 + iVar9" identifier = (binary_expression "iVar4 + iVar9" identifier + identifier)) ;) }) (else_clause "else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }" else (compound_statement "{\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }" { (expression_statement "uVar16 = uVar6 << 1;" (assignment_expression "uVar16 = uVar6 << 1" identifier = (binary_expression "uVar6 << 1" identifier << number_literal)) ;) (if_statement "if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }" if (parenthesized_expression "(uVar16 < uVar6)" ( (binary_expression "uVar16 < uVar6" identifier < identifier) )) (compound_statement "{\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }" { (expression_statement "iVar9 = -4;" (assignment_expression "iVar9 = -4" identifier = number_literal) ;) (goto_statement "goto LAB_0027536c;" goto statement_identifier ;) })) (expression_statement "iVar9 = -4;" (assignment_expression "iVar9 = -4" identifier = number_literal) ;) (if_statement "if (0x3fffffff < uVar16) goto LAB_0027536c;" if (parenthesized_expression "(0x3fffffff < uVar16)" ( (binary_expression "0x3fffffff < uVar16" number_literal < identifier) )) (goto_statement "goto LAB_0027536c;" goto statement_identifier ;)) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (if_statement "if (uVar16 != 0) goto LAB_00275498;" if (parenthesized_expression "(uVar16 != 0)" ( (binary_expression "uVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00275498;" goto statement_identifier ;)) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) }))) (expression_statement "piVar22 = (int *)(iVar4 + iVar19);" (assignment_expression "piVar22 = (int *)(iVar4 + iVar19)" identifier = (cast_expression "(int *)(iVar4 + iVar19)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar19)" ( (binary_expression "iVar4 + iVar19" identifier + identifier) )))) ;) (expression_statement "iVar18 = iVar4 + iVar19 + 4;" (assignment_expression "iVar18 = iVar4 + iVar19 + 4" identifier = (binary_expression "iVar4 + iVar19 + 4" (binary_expression "iVar4 + iVar19" identifier + identifier) + number_literal)) ;) (expression_statement "*piVar22 = *piVar3;" (assignment_expression "*piVar22 = *piVar3" (pointer_expression "*piVar22" * identifier) = (pointer_expression "*piVar3" * identifier)) ;) (expression_statement "iVar26 = iVar18 + (iVar12 - iVar1);" (assignment_expression "iVar26 = iVar18 + (iVar12 - iVar1)" identifier = (binary_expression "iVar18 + (iVar12 - iVar1)" identifier + (parenthesized_expression "(iVar12 - iVar1)" ( (binary_expression "iVar12 - iVar1" identifier - identifier) )))) ;) (if_statement "if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }" if (parenthesized_expression "(iVar7 == iVar1)" ( (binary_expression "iVar7 == iVar1" identifier == identifier) )) (compound_statement "{\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }" { (expression_statement "pcVar23 = *(code **)(pcVar25 + 0x1c1490);" (assignment_expression "pcVar23 = *(code **)(pcVar25 + 0x1c1490)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x1c1490)" * (cast_expression "(code **)(pcVar25 + 0x1c1490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1c1490)" ( (binary_expression "pcVar25 + 0x1c1490" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 != iVar7) goto LAB_002753cc;" if (parenthesized_expression "(iVar12 != iVar7)" ( (binary_expression "iVar12 != iVar7" identifier != identifier) )) (goto_statement "goto LAB_002753cc;" goto statement_identifier ;)) }) (else_clause "else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }" else (compound_statement "{\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }" { (expression_statement "(**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);" (call_expression "(**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19)" (parenthesized_expression "(**(code **)(pcVar25 + 0x1c13e0))" ( (pointer_expression "**(code **)(pcVar25 + 0x1c13e0)" * (pointer_expression "*(code **)(pcVar25 + 0x1c13e0)" * (cast_expression "(code **)(pcVar25 + 0x1c13e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1c13e0)" ( (binary_expression "pcVar25 + 0x1c13e0" identifier + number_literal) ))))) )) (argument_list "(iVar4,iVar7,iVar19)" ( identifier , identifier , identifier ))) ;) (if_statement "if (iVar12 == iVar1) goto LAB_00275420;" if (parenthesized_expression "(iVar12 == iVar1)" ( (binary_expression "iVar12 == iVar1" identifier == identifier) )) (goto_statement "goto LAB_00275420;" goto statement_identifier ;)) (expression_statement "pcVar23 = *(code **)(pcVar25 + 0x1c1490);" (assignment_expression "pcVar23 = *(code **)(pcVar25 + 0x1c1490)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x1c1490)" * (cast_expression "(code **)(pcVar25 + 0x1c1490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1c1490)" ( (binary_expression "pcVar25 + 0x1c1490" identifier + number_literal) ))))) ;) (labeled_statement "LAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);" statement_identifier : (expression_statement "piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);" (assignment_expression "piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1)" identifier = (cast_expression "(int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar23)(iVar18,iVar1,iVar12 - iVar1)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(iVar18,iVar1,iVar12 - iVar1)" ( identifier , identifier , (binary_expression "iVar12 - iVar1" identifier - identifier) ))))) ;)) }))) (if_statement "if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }" { (expression_statement "*piVar2 = iVar4;" (assignment_expression "*piVar2 = iVar4" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "piVar2[1] = iVar26;" (assignment_expression "piVar2[1] = iVar26" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[2] = iVar9;" (assignment_expression "piVar2[2] = iVar9" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = identifier) ;) (return_statement "return piVar22;" return identifier ;) })) (labeled_statement "LAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);" statement_identifier : (expression_statement "piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);" (assignment_expression "piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7)" identifier = (cast_expression "(int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0x1bcf94))(iVar7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x1bcf94))" ( (pointer_expression "**(code **)(pcVar25 + 0x1bcf94)" * (pointer_expression "*(code **)(pcVar25 + 0x1bcf94)" * (cast_expression "(code **)(pcVar25 + 0x1bcf94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bcf94)" ( (binary_expression "pcVar25 + 0x1bcf94" identifier + number_literal) ))))) )) (argument_list "(iVar7)" ( identifier ))))) ;)) (expression_statement "*piVar2 = iVar4;" (assignment_expression "*piVar2 = iVar4" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "piVar2[1] = iVar26;" (assignment_expression "piVar2[1] = iVar26" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[2] = iVar9;" (assignment_expression "piVar2[2] = iVar9" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = identifier) ;) (return_statement "return piVar3;" return identifier ;) })) (if_statement "if (uVar16 == 0) goto LAB_00275238;" if (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00275238;" goto statement_identifier ;)) (expression_statement "uVar11 = 0x11d;" (assignment_expression "uVar11 = 0x11d" identifier = number_literal) ;) }))) (labeled_statement "LAB_002751a8:\n  iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;" statement_identifier : (expression_statement "iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;" (assignment_expression "iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88" identifier = (binary_expression "*(int *)(pcVar23 + 0x1bd124) + 0x1f88" (pointer_expression "*(int *)(pcVar23 + 0x1bd124)" * (cast_expression "(int *)(pcVar23 + 0x1bd124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x1bd124)" ( (binary_expression "pcVar23 + 0x1bd124" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0);" (assignment_expression "pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0)" identifier = (cast_expression "(code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0)" ( (binary_expression "*(int *)(pcVar23 + 0x1bd124) + 0x1dc0" (pointer_expression "*(int *)(pcVar23 + 0x1bd124)" * (cast_expression "(int *)(pcVar23 + 0x1bd124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x1bd124)" ( (binary_expression "pcVar23 + 0x1bd124" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1);" (call_expression "(**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1)" (parenthesized_expression "(**(code **)(pcVar23 + 0x1bd27c))" ( (pointer_expression "**(code **)(pcVar23 + 0x1bd27c)" * (pointer_expression "*(code **)(pcVar23 + 0x1bd27c)" * (cast_expression "(code **)(pcVar23 + 0x1bd27c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1bd27c)" ( (binary_expression "pcVar23 + 0x1bd27c" identifier + number_literal) ))))) )) (argument_list "(pcVar25,uVar11,iVar1)" ( identifier , identifier , identifier ))) ;) (expression_statement "iStackY_c4 = extraout_v1_01;" (assignment_expression "iStackY_c4 = extraout_v1_01" identifier = identifier) ;) (labeled_statement "LAB_002751c0:\n  uVar13 = *(uint *)(pcVar25 + 4);" statement_identifier : (expression_statement "uVar13 = *(uint *)(pcVar25 + 4);" (assignment_expression "uVar13 = *(uint *)(pcVar25 + 4)" identifier = (pointer_expression "*(uint *)(pcVar25 + 4)" * (cast_expression "(uint *)(pcVar25 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 4)" ( (binary_expression "pcVar25 + 4" identifier + number_literal) ))))) ;)) (expression_statement "piVar2 = *(int **)pcVar25;" (assignment_expression "piVar2 = *(int **)pcVar25" identifier = (pointer_expression "*(int **)pcVar25" * (cast_expression "(int **)pcVar25" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto LAB_002751d0;" goto statement_identifier ;) }))))
(translation_unit "/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* DWARF original name: get_fde_pc<32, true>\n   DWARF original prototype: Elf_Addr get_fde_pc<32,_true>(Eh_frame_hdr * this, Elf_Addr\n   eh_frame_address, uchar * eh_frame_contents, section_offset_type fde_offset, uchar fde_encoding)\n    */\n\nElf_Addr __thiscall\ngold::Eh_frame_hdr::get_fde_pc<32,_true>\n          (Eh_frame_hdr *this,Elf_Addr eh_frame_address,uchar *eh_frame_contents,\n          section_offset_type fde_offset,uchar fde_encoding)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int extraout_v1;\n  Output_section *pOVar7;\n  code *extraout_v1_00;\n  int extraout_v1_01;\n  Eh_frame_hdr *this_00;\n  Output_file *this_01;\n  uint *puVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  size_t size;\n  uint uVar11;\n  Elf_Addr *pEVar12;\n  Output_file *this_1;\n  undefined4 uVar13;\n  uint uVar14;\n  int *piVar15;\n  int *piVar16;\n  undefined4 *puVar17;\n  uint uVar18;\n  int iVar19;\n  Elf_Addr unaff_s1;\n  int iVar20;\n  undefined4 *puVar21;\n  undefined4 *puVar22;\n  Elf_Addr EVar23;\n  undefined4 *puVar24;\n  code *pcVar25;\n  int iVar26;\n  int iVar27;\n  int iVar28;\n  undefined *puVar29;\n  code *pcVar30;\n  int iVar31;\n  longlong lVar32;\n  int iStackY_c4;\n  int iStackY_9c;\n  byte bStackY_95;\n  undefined4 in_stack_ffffff98;\n  undefined4 in_stack_ffffff9c;\n  Elf_Addr EStack_58;\n  int iStack_54;\n  uint uStack_50;\n  Elf_Addr EStack_4c;\n  \n  uVar14 = (uint)fde_encoding;\n  uVar6 = uVar14 & 7;\n  if (((fde_encoding & 7) == 0) || (uVar6 == 3)) {\n    unaff_s1 = *(Elf_Addr *)(eh_frame_contents + fde_offset + 8);\nLAB_00274bec:\n    if ((uVar14 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar14 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((fde_encoding & 0x70) != 0) {\n      uVar10 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }\n  else {\n    if (uVar6 == 4) {\n      uVar10 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar10 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (Elf_Addr)*(ushort *)(eh_frame_contents + fde_offset + 8);\n    if ((fde_encoding & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000;\n    if ((uVar14 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = unaff_s1 + eh_frame_address + 8 + fde_offset;\n  }\n  while( true ) {\n    uVar14 = (uint)(char)fde_encoding;\n    uVar10 = 0x120;\n    if (-1 < (int)uVar14) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s__0043226c + 0x1dc0,uVar10,PTR_s__0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    fde_encoding = (uchar)uVar14;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = unaff_s1 + extraout_v1;\n  }\n  size = 0x69;\n  pEVar12 = (Elf_Addr *)(PTR_s__0043226c + 0x1fe4);\n  this_00 = (Eh_frame_hdr *)(PTR_s_alize_xindex_004323b4 + -0x5cec);\n  puVar29 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  pOVar7 = this_00->eh_frame_section_;\n  iVar1 = *(int *)&(pOVar7->super_Output_data).field_0x20;\n  uVar6 = fde_offset;\n  uStack_50 = uVar14;\n  EStack_4c = unaff_s1;\n  if (iVar1 < 0) {\n    EVar23 = (Elf_Addr)(pOVar7->super_Output_data).address_;\n    if (iVar1 << 2 < 0) {\n      this_01 = *(Output_file **)((int)&(pOVar7->super_Output_data).offset_ + 4);\n      this_1 = *(Output_file **)&(pOVar7->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        uVar11 = (uint)(pOVar7->super_Output_data).data_size_;\n        if (-1 < (int)this_1) {\n          uVar6 = (int)&this_01->name_ + uVar11;\n          iVar1 = (int)&this_1->name_ + (uint)(uVar6 < uVar11);\n          this_1 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((this_1 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(size + 0x10);\n            piVar2 = (int *)pEVar12[1];\n            if ((int *)*pEVar12 != piVar2) {\n              pcVar25 = *(code **)(puVar29 + 0x1bf518);\n              piVar15 = (int *)*pEVar12;\n              do {\n                piVar16 = piVar15 + 2;\n                EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1));\n                iStack_54 = EVar23 + *piVar15;\n                (*pcVar25)(fde_offset,&EStack_58);\n                piVar2 = (int *)pEVar12[1];\n                piVar15 = piVar16;\n              } while (piVar2 != piVar16);\n            }\n            return (Elf_Addr)piVar2;\n          }\n        }\n        Output_file::get_output_view\n                  (this_01,CONCAT44(in_stack_ffffff98,in_stack_ffffff9c),size,this_1);\n      }\n      (**(code **)(puVar29 + 0x1bd740))\n                (*(int *)(puVar29 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar29 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar29 + 0x1bd740))\n              (*(int *)(puVar29 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar29 + 0x1bd5e8) + 0x2014);\n  }\n  uVar11 = 0xc5;\n  pcVar25 = *(code **)(puVar29 + 0x1bd740);\n  iVar1 = *(int *)(puVar29 + 0x1bd5e8) + 0x1fdc;\n  puVar8 = (uint *)(*(int *)(puVar29 + 0x1bd730) + -0x4fe0);\n  (*pcVar25)();\n  if (uVar11 < 0x10000000) {\n    puVar17 = (undefined4 *)*puVar8;\n    puVar3 = (undefined4 *)(uint)((uint)((int)(puVar8[2] - (int)puVar17) >> 4) < uVar11);\n    if (puVar3 != (undefined4 *)0x0) {\n      puVar24 = (undefined4 *)puVar8[1];\n      iVar1 = (int)puVar24 - (int)puVar17;\n      if (uVar11 == 0) {\n        puVar22 = (undefined4 *)0x0;\n        puVar21 = puVar22;\n        puVar9 = puVar17;\n      }\n      else {\n        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd508))(uVar11 * 0x10);\n        puVar22 = puVar3;\n        puVar21 = puVar3;\n        puVar9 = (undefined4 *)*puVar8;\n      }\n      for (; puVar17 != puVar24; puVar17 = puVar17 + 4) {\n        uVar13 = puVar17[1];\n        uVar10 = puVar17[2];\n        puVar3 = (undefined4 *)puVar17[3];\n        *puVar22 = *puVar17;\n        puVar22[1] = uVar13;\n        puVar22[2] = uVar10;\n        puVar22[3] = puVar3;\n        puVar22 = puVar22 + 4;\n      }\n      if (puVar9 != (undefined4 *)0x0) {\n        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd458))();\n      }\n      *puVar8 = (uint)puVar21;\n      puVar8[1] = (int)puVar21 + iVar1;\n      puVar8[2] = (uint)(puVar21 + uVar11 * 4);\n      return (Elf_Addr)puVar3;\n    }\n    return 0;\n  }\n  pcVar30 = *(code **)(pcVar25 + 0x1bd64c);\n  (*pcVar30)(*(int *)(pcVar25 + 0x1bd3d8) + 0x4864);\n  bVar5 = bStackY_95 & 7;\n  pcVar25 = pcVar25 + iStackY_9c + 0x1c53a4;\n  if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;\n  if (bVar5 == 3) {\n    uVar11 = *(uint *)pcVar25;\n    uVar11 = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n      goto LAB_00275014;\n    }\n  }\n  else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar10 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar11 = (*(ushort *)pcVar25 & 0xff) << 8 | (uint)(*(ushort *)pcVar25 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar18 = uVar11 ^ 0x8000;\n      uVar11 = uVar18 - 0x8000;\n      EVar23 = (uVar11 < uVar18) - 1;\n      goto LAB_00275014;\n    }\n  }\n  EVar23 = 0;\nLAB_00275014:\n  do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar18 = uVar6 + 8;\n      uVar6 = EVar23 + (uint)(uVar18 + iStackY_9c < uVar18) +\n                       (uint)(uVar18 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      EVar23 = (uVar11 + uVar18 + iStackY_9c < uVar11) + uVar6;\nLAB_00275078:\n      uVar10 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return EVar23;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar32 = (**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50))();\n          EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar25 = *(code **)(pcVar30 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar25)(*(int *)(pcVar30 + 0x1bd43c) + -0x5cec,0x69);\n        uVar18 = uVar14 & 0xff;\n        uVar11 = uVar14 & 7;\n        pcVar30 = pcVar30 + iStackY_c4 + 0x1c5260;\n        if ((uVar14 & 7) == 0) goto LAB_002751c0;\n        if (uVar11 == 3) {\n          uVar11 = *(uint *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n            break;\n          }\n        }\n        else {\n          if (uVar11 == 4) goto LAB_002751c0;\n          uVar10 = 0x10a;\n          if (uVar11 != 2) goto LAB_002751a8;\n          uVar11 = (uint)*(ushort *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            uVar14 = uVar11 ^ 0x8000;\n            uVar11 = uVar14 - 0x8000;\n            EVar23 = (uVar11 < uVar14) - 1;\n            break;\n          }\n        }\n        EVar23 = 0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar10 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar30 + 0x1bd44c))(*(int *)(pcVar30 + 0x1bd2f4) + 0x1dc0,uVar10);\n    pcVar25 = extraout_v1_00;\nLAB_00274ff4:\n    uVar11 = *(uint *)(pcVar25 + 4);\n    uVar18 = *(uint *)pcVar25;\n    EVar23 = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n    uVar11 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n  } while( true );\nLAB_002751d0:\n  uVar14 = uVar18 & 0x70;\n  if (uVar14 == 0x10) {\n    uVar14 = uVar6 + 8;\n    uVar6 = (uint)(uVar14 + iStackY_c4 < uVar14) +\n            (uint)(uVar14 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    EVar23 = (uint)(uVar11 + uVar14 + iStackY_c4 < uVar11) + EVar23 + uVar6;\nLAB_00275238:\n    uVar18 = (uint)(char)uVar18;\n    uVar10 = 0x120;\n    if (-1 < (int)uVar18) {\n      return EVar23;\n    }\n  }\n  else {\n    if (uVar14 == 0x30) {\n      if (*(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar32 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50))();\n        EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar30 = *(code **)(pcVar25 + 0x1bd27c);\n      puVar17 = (undefined4 *)(*(int *)(pcVar25 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar25 + 0x1bd26c) + -0x5cec);\n      (*pcVar30)();\n      iVar27 = piVar2[1];\n      iVar20 = *piVar2;\n      iVar28 = iVar1 - iVar20;\n      uVar6 = iVar27 - iVar20 >> 2;\n      if (uVar6 == 0) {\n        uVar14 = 1;\nLAB_00275498:\n        iVar26 = uVar14 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar30 + 0x1bd044))(iVar26);\n        iVar26 = iVar4 + iVar26;\n      }\n      else {\n        uVar14 = uVar6 << 1;\n        if (uVar14 < uVar6) {\n          iVar26 = -4;\n          goto LAB_0027536c;\n        }\n        iVar26 = -4;\n        if (0x3fffffff < uVar14) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar14 != 0) goto LAB_00275498;\n        iVar26 = 0;\n      }\n      puVar3 = (undefined4 *)(iVar4 + iVar28);\n      iVar19 = iVar4 + iVar28 + 4;\n      *puVar3 = *puVar17;\n      iVar31 = iVar19 + (iVar27 - iVar1);\n      if (iVar20 == iVar1) {\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\n        if (iVar27 != iVar20) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar30 + 0x1c13e0))(iVar4,iVar20,iVar28);\n        if (iVar27 == iVar1) goto LAB_00275420;\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\nLAB_002753cc:\n        puVar3 = (undefined4 *)(*pcVar25)(iVar19,iVar1,iVar27 - iVar1);\n      }\n      if (iVar20 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar31;\n        piVar2[2] = iVar26;\n        return (Elf_Addr)puVar3;\n      }\nLAB_00275420:\n      EVar23 = (**(code **)(pcVar30 + 0x1bcf94))(iVar20);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar31;\n      piVar2[2] = iVar26;\n      return EVar23;\n    }\n    if (uVar14 == 0) goto LAB_00275238;\n    uVar10 = 0x11d;\n  }\nLAB_002751a8:\n  iVar1 = *(int *)(pcVar25 + 0x1bd124) + 0x1f88;\n  pcVar30 = (code *)(*(int *)(pcVar25 + 0x1bd124) + 0x1dc0);\n  (**(code **)(pcVar25 + 0x1bd27c))(pcVar30,uVar10);\n  iStackY_c4 = extraout_v1_01;\nLAB_002751c0:\n  uVar11 = *(uint *)(pcVar30 + 4);\n  EVar23 = *(Elf_Addr *)pcVar30;\n  goto LAB_002751d0;\n}\n\n" comment comment comment (declaration "Elf_Addr __thiscall\ngold::Eh_frame_hdr::get_fde_pc<32,_true>\n          (Eh_frame_hdr *this,Elf_Addr eh_frame_address,uchar *eh_frame_contents,\n          section_offset_type fde_offset,uchar fde_encoding)\n\n{\n  int iVar1;" type_identifier (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Eh_frame_hdr::" identifier : : identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_true>\n          (Eh_frame_hdr *this,Elf_Addr eh_frame_address,uchar *eh_frame_contents,\n          section_offset_type fde_offset,uchar fde_encoding)\n\n{\n  int" (function_declarator "_true>\n          (Eh_frame_hdr *this,Elf_Addr eh_frame_address,uchar *eh_frame_contents,\n          section_offset_type fde_offset,uchar fde_encoding)" identifier (ERROR ">" >) (parameter_list "(Eh_frame_hdr *this,Elf_Addr eh_frame_address,uchar *eh_frame_contents,\n          section_offset_type fde_offset,uchar fde_encoding)" ( (parameter_declaration "Eh_frame_hdr *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Elf_Addr eh_frame_address" type_identifier identifier) , (parameter_declaration "uchar *eh_frame_contents" type_identifier (pointer_declarator "*eh_frame_contents" * identifier)) , (parameter_declaration "section_offset_type fde_offset" type_identifier identifier) , (parameter_declaration "uchar fde_encoding" type_identifier identifier) ))) { primitive_type) identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "Output_section *pOVar7;" type_identifier (pointer_declarator "*pOVar7" * identifier) ;) (declaration "code *extraout_v1_00;" type_identifier (pointer_declarator "*extraout_v1_00" * identifier) ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "Eh_frame_hdr *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "Output_file *this_01;" type_identifier (pointer_declarator "*this_01" * identifier) ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "size_t size;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "Elf_Addr *pEVar12;" type_identifier (pointer_declarator "*pEVar12" * identifier) ;) (declaration "Output_file *this_1;" type_identifier (pointer_declarator "*this_1" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "Elf_Addr unaff_s1;" type_identifier identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "undefined4 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined4 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "Elf_Addr EVar23;" type_identifier identifier ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "undefined *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "code *pcVar30;" type_identifier (pointer_declarator "*pcVar30" * identifier) ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "longlong lVar32;" type_identifier identifier ;) (declaration "int iStackY_c4;" primitive_type identifier ;) (declaration "int iStackY_9c;" primitive_type identifier ;) (declaration "byte bStackY_95;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffff98;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffff9c;" type_identifier identifier ;) (declaration "Elf_Addr EStack_58;" type_identifier identifier ;) (declaration "int iStack_54;" primitive_type identifier ;) (declaration "uint uStack_50;" type_identifier identifier ;) (declaration "Elf_Addr EStack_4c;" type_identifier identifier ;) (expression_statement "uVar14 = (uint)fde_encoding;" (assignment_expression "uVar14 = (uint)fde_encoding" identifier = (cast_expression "(uint)fde_encoding" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar6 = uVar14 & 7;" (assignment_expression "uVar6 = uVar14 & 7" identifier = (binary_expression "uVar14 & 7" identifier & number_literal)) ;) (if_statement "if (((fde_encoding & 7) == 0) || (uVar6 == 3)) {\n    unaff_s1 = *(Elf_Addr *)(eh_frame_contents + fde_offset + 8);\nLAB_00274bec:\n    if ((uVar14 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar14 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((fde_encoding & 0x70) != 0) {\n      uVar10 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }\n  else {\n    if (uVar6 == 4) {\n      uVar10 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar10 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (Elf_Addr)*(ushort *)(eh_frame_contents + fde_offset + 8);\n    if ((fde_encoding & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000;\n    if ((uVar14 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = unaff_s1 + eh_frame_address + 8 + fde_offset;\n  }" if (parenthesized_expression "(((fde_encoding & 7) == 0) || (uVar6 == 3))" ( (binary_expression "((fde_encoding & 7) == 0) || (uVar6 == 3)" (parenthesized_expression "((fde_encoding & 7) == 0)" ( (binary_expression "(fde_encoding & 7) == 0" (parenthesized_expression "(fde_encoding & 7)" ( (binary_expression "fde_encoding & 7" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar6 == 3)" ( (binary_expression "uVar6 == 3" identifier == number_literal) ))) )) (compound_statement "{\n    unaff_s1 = *(Elf_Addr *)(eh_frame_contents + fde_offset + 8);\nLAB_00274bec:\n    if ((uVar14 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar14 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((fde_encoding & 0x70) != 0) {\n      uVar10 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }" { (expression_statement "unaff_s1 = *(Elf_Addr *)(eh_frame_contents + fde_offset + 8);" (assignment_expression "unaff_s1 = *(Elf_Addr *)(eh_frame_contents + fde_offset + 8)" identifier = (pointer_expression "*(Elf_Addr *)(eh_frame_contents + fde_offset + 8)" * (cast_expression "(Elf_Addr *)(eh_frame_contents + fde_offset + 8)" ( (type_descriptor "Elf_Addr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(eh_frame_contents + fde_offset + 8)" ( (binary_expression "eh_frame_contents + fde_offset + 8" (binary_expression "eh_frame_contents + fde_offset" identifier + identifier) + number_literal) ))))) ;) (labeled_statement "LAB_00274bec:\n    if ((uVar14 & 0x70) == 0x10) goto LAB_00274bb8;" statement_identifier : (if_statement "if ((uVar14 & 0x70) == 0x10) goto LAB_00274bb8;" if (parenthesized_expression "((uVar14 & 0x70) == 0x10)" ( (binary_expression "(uVar14 & 0x70) == 0x10" (parenthesized_expression "(uVar14 & 0x70)" ( (binary_expression "uVar14 & 0x70" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00274bb8;" goto statement_identifier ;))) (labeled_statement "LAB_00274bfc:\n    if ((uVar14 & 0x70) == 0x30) goto LAB_00274c2c;" statement_identifier : (if_statement "if ((uVar14 & 0x70) == 0x30) goto LAB_00274c2c;" if (parenthesized_expression "((uVar14 & 0x70) == 0x30)" ( (binary_expression "(uVar14 & 0x70) == 0x30" (parenthesized_expression "(uVar14 & 0x70)" ( (binary_expression "uVar14 & 0x70" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00274c2c;" goto statement_identifier ;))) (if_statement "if ((fde_encoding & 0x70) != 0) {\n      uVar10 = 0x11d;\n      goto LAB_00274c14;\n    }" if (parenthesized_expression "((fde_encoding & 0x70) != 0)" ( (binary_expression "(fde_encoding & 0x70) != 0" (parenthesized_expression "(fde_encoding & 0x70)" ( (binary_expression "fde_encoding & 0x70" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar10 = 0x11d;\n      goto LAB_00274c14;\n    }" { (expression_statement "uVar10 = 0x11d;" (assignment_expression "uVar10 = 0x11d" identifier = number_literal) ;) (goto_statement "goto LAB_00274c14;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (uVar6 == 4) {\n      uVar10 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar10 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (Elf_Addr)*(ushort *)(eh_frame_contents + fde_offset + 8);\n    if ((fde_encoding & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000;\n    if ((uVar14 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = unaff_s1 + eh_frame_address + 8 + fde_offset;\n  }" else (compound_statement "{\n    if (uVar6 == 4) {\n      uVar10 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar10 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (Elf_Addr)*(ushort *)(eh_frame_contents + fde_offset + 8);\n    if ((fde_encoding & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000;\n    if ((uVar14 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = unaff_s1 + eh_frame_address + 8 + fde_offset;\n  }" { (if_statement "if (uVar6 == 4) {\n      uVar10 = 0x104;\n      goto LAB_00274c14;\n    }" if (parenthesized_expression "(uVar6 == 4)" ( (binary_expression "uVar6 == 4" identifier == number_literal) )) (compound_statement "{\n      uVar10 = 0x104;\n      goto LAB_00274c14;\n    }" { (expression_statement "uVar10 = 0x104;" (assignment_expression "uVar10 = 0x104" identifier = number_literal) ;) (goto_statement "goto LAB_00274c14;" goto statement_identifier ;) })) (if_statement "if (uVar6 != 2) {\n      uVar10 = 0x10a;\n      goto LAB_00274c14;\n    }" if (parenthesized_expression "(uVar6 != 2)" ( (binary_expression "uVar6 != 2" identifier != number_literal) )) (compound_statement "{\n      uVar10 = 0x10a;\n      goto LAB_00274c14;\n    }" { (expression_statement "uVar10 = 0x10a;" (assignment_expression "uVar10 = 0x10a" identifier = number_literal) ;) (goto_statement "goto LAB_00274c14;" goto statement_identifier ;) })) (expression_statement "unaff_s1 = (Elf_Addr)*(ushort *)(eh_frame_contents + fde_offset + 8);" (assignment_expression "unaff_s1 = (Elf_Addr)*(ushort *)(eh_frame_contents + fde_offset + 8)" identifier = (binary_expression "(Elf_Addr)*(ushort *)(eh_frame_contents + fde_offset + 8)" (parenthesized_expression "(Elf_Addr)" ( identifier )) * (cast_expression "(ushort *)(eh_frame_contents + fde_offset + 8)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(eh_frame_contents + fde_offset + 8)" ( (binary_expression "eh_frame_contents + fde_offset + 8" (binary_expression "eh_frame_contents + fde_offset" identifier + identifier) + number_literal) ))))) ;) (if_statement "if ((fde_encoding & 8) == 0) goto LAB_00274bec;" if (parenthesized_expression "((fde_encoding & 8) == 0)" ( (binary_expression "(fde_encoding & 8) == 0" (parenthesized_expression "(fde_encoding & 8)" ( (binary_expression "fde_encoding & 8" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00274bec;" goto statement_identifier ;)) (expression_statement "unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000;" (assignment_expression "unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000" identifier = (binary_expression "(unaff_s1 ^ 0x8000) - 0x8000" (parenthesized_expression "(unaff_s1 ^ 0x8000)" ( (binary_expression "unaff_s1 ^ 0x8000" identifier ^ number_literal) )) - number_literal)) ;) (if_statement "if ((uVar14 & 0x70) != 0x10) goto LAB_00274bfc;" if (parenthesized_expression "((uVar14 & 0x70) != 0x10)" ( (binary_expression "(uVar14 & 0x70) != 0x10" (parenthesized_expression "(uVar14 & 0x70)" ( (binary_expression "uVar14 & 0x70" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00274bfc;" goto statement_identifier ;)) (labeled_statement "LAB_00274bb8:\n    unaff_s1 = unaff_s1 + eh_frame_address + 8 + fde_offset;" statement_identifier : (expression_statement "unaff_s1 = unaff_s1 + eh_frame_address + 8 + fde_offset;" (assignment_expression "unaff_s1 = unaff_s1 + eh_frame_address + 8 + fde_offset" identifier = (binary_expression "unaff_s1 + eh_frame_address + 8 + fde_offset" (binary_expression "unaff_s1 + eh_frame_address + 8" (binary_expression "unaff_s1 + eh_frame_address" identifier + identifier) + number_literal) + identifier)) ;)) }))) (while_statement "while( true ) {\n    uVar14 = (uint)(char)fde_encoding;\n    uVar10 = 0x120;\n    if (-1 < (int)uVar14) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s__0043226c + 0x1dc0,uVar10,PTR_s__0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    fde_encoding = (uchar)uVar14;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = unaff_s1 + extraout_v1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    uVar14 = (uint)(char)fde_encoding;\n    uVar10 = 0x120;\n    if (-1 < (int)uVar14) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s__0043226c + 0x1dc0,uVar10,PTR_s__0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    fde_encoding = (uchar)uVar14;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = unaff_s1 + extraout_v1;\n  }" { (expression_statement "uVar14 = (uint)(char)fde_encoding;" (assignment_expression "uVar14 = (uint)(char)fde_encoding" identifier = (cast_expression "(uint)(char)fde_encoding" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)fde_encoding" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "uVar10 = 0x120;" (assignment_expression "uVar10 = 0x120" identifier = number_literal) ;) (if_statement "if (-1 < (int)uVar14) {\n      return unaff_s1;\n    }" if (parenthesized_expression "(-1 < (int)uVar14)" ( (binary_expression "-1 < (int)uVar14" number_literal < (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      return unaff_s1;\n    }" { (return_statement "return unaff_s1;" return identifier ;) })) (labeled_statement "LAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s__0043226c + 0x1dc0,uVar10,PTR_s__0043226c + 0x1fc0);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s__0043226c + 0x1dc0,uVar10,PTR_s__0043226c + 0x1fc0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s__0043226c + 0x1dc0,uVar10,PTR_s__0043226c + 0x1fc0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__0043226c + 0x1dc0,uVar10,PTR_s__0043226c + 0x1fc0)" ( (binary_expression "PTR_s__0043226c + 0x1dc0" identifier + number_literal) , identifier , (binary_expression "PTR_s__0043226c + 0x1fc0" identifier + number_literal) ))) ;)) (labeled_statement "LAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;" statement_identifier : (if_statement "if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;" if (parenthesized_expression "(*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0)" ( (binary_expression "*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0" (pointer_expression "*(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 0xc" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;))) (expression_statement "fde_encoding = (uchar)uVar14;" (assignment_expression "fde_encoding = (uchar)uVar14" identifier = (cast_expression "(uchar)uVar14" ( (type_descriptor "uchar" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();" (call_expression "(**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50)" ( (binary_expression "**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50" (pointer_expression "**(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" * (pointer_expression "*(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 0xc" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "unaff_s1 = unaff_s1 + extraout_v1;" (assignment_expression "unaff_s1 = unaff_s1 + extraout_v1" identifier = (binary_expression "unaff_s1 + extraout_v1" identifier + identifier)) ;) })) (expression_statement "size = 0x69;" (assignment_expression "size = 0x69" identifier = number_literal) ;) (expression_statement "pEVar12 = (Elf_Addr *)(PTR_s__0043226c + 0x1fe4);" (assignment_expression "pEVar12 = (Elf_Addr *)(PTR_s__0043226c + 0x1fe4)" identifier = (cast_expression "(Elf_Addr *)(PTR_s__0043226c + 0x1fe4)" ( (type_descriptor "Elf_Addr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s__0043226c + 0x1fe4)" ( (binary_expression "PTR_s__0043226c + 0x1fe4" identifier + number_literal) )))) ;) (expression_statement "this_00 = (Eh_frame_hdr *)(PTR_s_alize_xindex_004323b4 + -0x5cec);" (assignment_expression "this_00 = (Eh_frame_hdr *)(PTR_s_alize_xindex_004323b4 + -0x5cec)" identifier = (cast_expression "(Eh_frame_hdr *)(PTR_s_alize_xindex_004323b4 + -0x5cec)" ( (type_descriptor "Eh_frame_hdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_alize_xindex_004323b4 + -0x5cec)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal) )))) ;) (expression_statement "puVar29 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar29 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)();" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)()" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "pOVar7 = this_00->eh_frame_section_;" (assignment_expression "pOVar7 = this_00->eh_frame_section_" identifier = (field_expression "this_00->eh_frame_section_" identifier -> field_identifier)) ;) (expression_statement "iVar1 = *(int *)&(pOVar7->super_Output_data).field_0x20;" (assignment_expression "iVar1 = *(int *)&(pOVar7->super_Output_data).field_0x20" identifier = (pointer_expression "*(int *)&(pOVar7->super_Output_data).field_0x20" * (cast_expression "(int *)&(pOVar7->super_Output_data).field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar7->super_Output_data).field_0x20" & (field_expression "(pOVar7->super_Output_data).field_0x20" (parenthesized_expression "(pOVar7->super_Output_data)" ( (field_expression "pOVar7->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "uVar6 = fde_offset;" (assignment_expression "uVar6 = fde_offset" identifier = identifier) ;) (expression_statement "uStack_50 = uVar14;" (assignment_expression "uStack_50 = uVar14" identifier = identifier) ;) (expression_statement "EStack_4c = unaff_s1;" (assignment_expression "EStack_4c = unaff_s1" identifier = identifier) ;) (if_statement "if (iVar1 < 0) {\n    EVar23 = (Elf_Addr)(pOVar7->super_Output_data).address_;\n    if (iVar1 << 2 < 0) {\n      this_01 = *(Output_file **)((int)&(pOVar7->super_Output_data).offset_ + 4);\n      this_1 = *(Output_file **)&(pOVar7->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        uVar11 = (uint)(pOVar7->super_Output_data).data_size_;\n        if (-1 < (int)this_1) {\n          uVar6 = (int)&this_01->name_ + uVar11;\n          iVar1 = (int)&this_1->name_ + (uint)(uVar6 < uVar11);\n          this_1 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((this_1 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(size + 0x10);\n            piVar2 = (int *)pEVar12[1];\n            if ((int *)*pEVar12 != piVar2) {\n              pcVar25 = *(code **)(puVar29 + 0x1bf518);\n              piVar15 = (int *)*pEVar12;\n              do {\n                piVar16 = piVar15 + 2;\n                EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1));\n                iStack_54 = EVar23 + *piVar15;\n                (*pcVar25)(fde_offset,&EStack_58);\n                piVar2 = (int *)pEVar12[1];\n                piVar15 = piVar16;\n              } while (piVar2 != piVar16);\n            }\n            return (Elf_Addr)piVar2;\n          }\n        }\n        Output_file::get_output_view\n                  (this_01,CONCAT44(in_stack_ffffff98,in_stack_ffffff9c),size,this_1);\n      }\n      (**(code **)(puVar29 + 0x1bd740))\n                (*(int *)(puVar29 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar29 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar29 + 0x1bd740))\n              (*(int *)(puVar29 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar29 + 0x1bd5e8) + 0x2014);\n  }" if (parenthesized_expression "(iVar1 < 0)" ( (binary_expression "iVar1 < 0" identifier < number_literal) )) (compound_statement "{\n    EVar23 = (Elf_Addr)(pOVar7->super_Output_data).address_;\n    if (iVar1 << 2 < 0) {\n      this_01 = *(Output_file **)((int)&(pOVar7->super_Output_data).offset_ + 4);\n      this_1 = *(Output_file **)&(pOVar7->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        uVar11 = (uint)(pOVar7->super_Output_data).data_size_;\n        if (-1 < (int)this_1) {\n          uVar6 = (int)&this_01->name_ + uVar11;\n          iVar1 = (int)&this_1->name_ + (uint)(uVar6 < uVar11);\n          this_1 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((this_1 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(size + 0x10);\n            piVar2 = (int *)pEVar12[1];\n            if ((int *)*pEVar12 != piVar2) {\n              pcVar25 = *(code **)(puVar29 + 0x1bf518);\n              piVar15 = (int *)*pEVar12;\n              do {\n                piVar16 = piVar15 + 2;\n                EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1));\n                iStack_54 = EVar23 + *piVar15;\n                (*pcVar25)(fde_offset,&EStack_58);\n                piVar2 = (int *)pEVar12[1];\n                piVar15 = piVar16;\n              } while (piVar2 != piVar16);\n            }\n            return (Elf_Addr)piVar2;\n          }\n        }\n        Output_file::get_output_view\n                  (this_01,CONCAT44(in_stack_ffffff98,in_stack_ffffff9c),size,this_1);\n      }\n      (**(code **)(puVar29 + 0x1bd740))\n                (*(int *)(puVar29 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar29 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar29 + 0x1bd740))\n              (*(int *)(puVar29 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar29 + 0x1bd5e8) + 0x2014);\n  }" { (expression_statement "EVar23 = (Elf_Addr)(pOVar7->super_Output_data).address_;" (assignment_expression "EVar23 = (Elf_Addr)(pOVar7->super_Output_data).address_" identifier = (field_expression "(Elf_Addr)(pOVar7->super_Output_data).address_" (call_expression "(Elf_Addr)(pOVar7->super_Output_data)" (parenthesized_expression "(Elf_Addr)" ( identifier )) (argument_list "(pOVar7->super_Output_data)" ( (field_expression "pOVar7->super_Output_data" identifier -> field_identifier) ))) . field_identifier)) ;) (if_statement "if (iVar1 << 2 < 0) {\n      this_01 = *(Output_file **)((int)&(pOVar7->super_Output_data).offset_ + 4);\n      this_1 = *(Output_file **)&(pOVar7->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        uVar11 = (uint)(pOVar7->super_Output_data).data_size_;\n        if (-1 < (int)this_1) {\n          uVar6 = (int)&this_01->name_ + uVar11;\n          iVar1 = (int)&this_1->name_ + (uint)(uVar6 < uVar11);\n          this_1 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((this_1 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(size + 0x10);\n            piVar2 = (int *)pEVar12[1];\n            if ((int *)*pEVar12 != piVar2) {\n              pcVar25 = *(code **)(puVar29 + 0x1bf518);\n              piVar15 = (int *)*pEVar12;\n              do {\n                piVar16 = piVar15 + 2;\n                EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1));\n                iStack_54 = EVar23 + *piVar15;\n                (*pcVar25)(fde_offset,&EStack_58);\n                piVar2 = (int *)pEVar12[1];\n                piVar15 = piVar16;\n              } while (piVar2 != piVar16);\n            }\n            return (Elf_Addr)piVar2;\n          }\n        }\n        Output_file::get_output_view\n                  (this_01,CONCAT44(in_stack_ffffff98,in_stack_ffffff9c),size,this_1);\n      }\n      (**(code **)(puVar29 + 0x1bd740))\n                (*(int *)(puVar29 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar29 + 0x1bd5e8) + 0x2008);\n    }" if (parenthesized_expression "(iVar1 << 2 < 0)" ( (binary_expression "iVar1 << 2 < 0" (binary_expression "iVar1 << 2" identifier << number_literal) < number_literal) )) (compound_statement "{\n      this_01 = *(Output_file **)((int)&(pOVar7->super_Output_data).offset_ + 4);\n      this_1 = *(Output_file **)&(pOVar7->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        uVar11 = (uint)(pOVar7->super_Output_data).data_size_;\n        if (-1 < (int)this_1) {\n          uVar6 = (int)&this_01->name_ + uVar11;\n          iVar1 = (int)&this_1->name_ + (uint)(uVar6 < uVar11);\n          this_1 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((this_1 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(size + 0x10);\n            piVar2 = (int *)pEVar12[1];\n            if ((int *)*pEVar12 != piVar2) {\n              pcVar25 = *(code **)(puVar29 + 0x1bf518);\n              piVar15 = (int *)*pEVar12;\n              do {\n                piVar16 = piVar15 + 2;\n                EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1));\n                iStack_54 = EVar23 + *piVar15;\n                (*pcVar25)(fde_offset,&EStack_58);\n                piVar2 = (int *)pEVar12[1];\n                piVar15 = piVar16;\n              } while (piVar2 != piVar16);\n            }\n            return (Elf_Addr)piVar2;\n          }\n        }\n        Output_file::get_output_view\n                  (this_01,CONCAT44(in_stack_ffffff98,in_stack_ffffff9c),size,this_1);\n      }\n      (**(code **)(puVar29 + 0x1bd740))\n                (*(int *)(puVar29 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar29 + 0x1bd5e8) + 0x2008);\n    }" { (expression_statement "this_01 = *(Output_file **)((int)&(pOVar7->super_Output_data).offset_ + 4);" (assignment_expression "this_01 = *(Output_file **)((int)&(pOVar7->super_Output_data).offset_ + 4)" identifier = (pointer_expression "*(Output_file **)((int)&(pOVar7->super_Output_data).offset_ + 4)" * (cast_expression "(Output_file **)((int)&(pOVar7->super_Output_data).offset_ + 4)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&(pOVar7->super_Output_data).offset_ + 4)" ( (binary_expression "(int)&(pOVar7->super_Output_data).offset_ + 4" (cast_expression "(int)&(pOVar7->super_Output_data).offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar7->super_Output_data).offset_" & (field_expression "(pOVar7->super_Output_data).offset_" (parenthesized_expression "(pOVar7->super_Output_data)" ( (field_expression "pOVar7->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "this_1 = *(Output_file **)&(pOVar7->super_Output_data).offset_;" (assignment_expression "this_1 = *(Output_file **)&(pOVar7->super_Output_data).offset_" identifier = (pointer_expression "*(Output_file **)&(pOVar7->super_Output_data).offset_" * (cast_expression "(Output_file **)&(pOVar7->super_Output_data).offset_" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(pOVar7->super_Output_data).offset_" & (field_expression "(pOVar7->super_Output_data).offset_" (parenthesized_expression "(pOVar7->super_Output_data)" ( (field_expression "pOVar7->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (if_statement "if (iVar1 << 1 < 0) {\n        uVar11 = (uint)(pOVar7->super_Output_data).data_size_;\n        if (-1 < (int)this_1) {\n          uVar6 = (int)&this_01->name_ + uVar11;\n          iVar1 = (int)&this_1->name_ + (uint)(uVar6 < uVar11);\n          this_1 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((this_1 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(size + 0x10);\n            piVar2 = (int *)pEVar12[1];\n            if ((int *)*pEVar12 != piVar2) {\n              pcVar25 = *(code **)(puVar29 + 0x1bf518);\n              piVar15 = (int *)*pEVar12;\n              do {\n                piVar16 = piVar15 + 2;\n                EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1));\n                iStack_54 = EVar23 + *piVar15;\n                (*pcVar25)(fde_offset,&EStack_58);\n                piVar2 = (int *)pEVar12[1];\n                piVar15 = piVar16;\n              } while (piVar2 != piVar16);\n            }\n            return (Elf_Addr)piVar2;\n          }\n        }\n        Output_file::get_output_view\n                  (this_01,CONCAT44(in_stack_ffffff98,in_stack_ffffff9c),size,this_1);\n      }" if (parenthesized_expression "(iVar1 << 1 < 0)" ( (binary_expression "iVar1 << 1 < 0" (binary_expression "iVar1 << 1" identifier << number_literal) < number_literal) )) (compound_statement "{\n        uVar11 = (uint)(pOVar7->super_Output_data).data_size_;\n        if (-1 < (int)this_1) {\n          uVar6 = (int)&this_01->name_ + uVar11;\n          iVar1 = (int)&this_1->name_ + (uint)(uVar6 < uVar11);\n          this_1 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((this_1 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(size + 0x10);\n            piVar2 = (int *)pEVar12[1];\n            if ((int *)*pEVar12 != piVar2) {\n              pcVar25 = *(code **)(puVar29 + 0x1bf518);\n              piVar15 = (int *)*pEVar12;\n              do {\n                piVar16 = piVar15 + 2;\n                EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1));\n                iStack_54 = EVar23 + *piVar15;\n                (*pcVar25)(fde_offset,&EStack_58);\n                piVar2 = (int *)pEVar12[1];\n                piVar15 = piVar16;\n              } while (piVar2 != piVar16);\n            }\n            return (Elf_Addr)piVar2;\n          }\n        }\n        Output_file::get_output_view\n                  (this_01,CONCAT44(in_stack_ffffff98,in_stack_ffffff9c),size,this_1);\n      }" { (expression_statement "uVar11 = (uint)(pOVar7->super_Output_data).data_size_;" (assignment_expression "uVar11 = (uint)(pOVar7->super_Output_data).data_size_" identifier = (field_expression "(uint)(pOVar7->super_Output_data).data_size_" (call_expression "(uint)(pOVar7->super_Output_data)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pOVar7->super_Output_data)" ( (field_expression "pOVar7->super_Output_data" identifier -> field_identifier) ))) . field_identifier)) ;) (if_statement "if (-1 < (int)this_1) {\n          uVar6 = (int)&this_01->name_ + uVar11;\n          iVar1 = (int)&this_1->name_ + (uint)(uVar6 < uVar11);\n          this_1 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((this_1 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(size + 0x10);\n            piVar2 = (int *)pEVar12[1];\n            if ((int *)*pEVar12 != piVar2) {\n              pcVar25 = *(code **)(puVar29 + 0x1bf518);\n              piVar15 = (int *)*pEVar12;\n              do {\n                piVar16 = piVar15 + 2;\n                EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1));\n                iStack_54 = EVar23 + *piVar15;\n                (*pcVar25)(fde_offset,&EStack_58);\n                piVar2 = (int *)pEVar12[1];\n                piVar15 = piVar16;\n              } while (piVar2 != piVar16);\n            }\n            return (Elf_Addr)piVar2;\n          }\n        }" if (parenthesized_expression "(-1 < (int)this_1)" ( (binary_expression "-1 < (int)this_1" number_literal < (cast_expression "(int)this_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          uVar6 = (int)&this_01->name_ + uVar11;\n          iVar1 = (int)&this_1->name_ + (uint)(uVar6 < uVar11);\n          this_1 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((this_1 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(size + 0x10);\n            piVar2 = (int *)pEVar12[1];\n            if ((int *)*pEVar12 != piVar2) {\n              pcVar25 = *(code **)(puVar29 + 0x1bf518);\n              piVar15 = (int *)*pEVar12;\n              do {\n                piVar16 = piVar15 + 2;\n                EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1));\n                iStack_54 = EVar23 + *piVar15;\n                (*pcVar25)(fde_offset,&EStack_58);\n                piVar2 = (int *)pEVar12[1];\n                piVar15 = piVar16;\n              } while (piVar2 != piVar16);\n            }\n            return (Elf_Addr)piVar2;\n          }\n        }" { (expression_statement "uVar6 = (int)&this_01->name_ + uVar11;" (assignment_expression "uVar6 = (int)&this_01->name_ + uVar11" identifier = (binary_expression "(int)&this_01->name_ + uVar11" (cast_expression "(int)&this_01->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_01->name_" & (field_expression "this_01->name_" identifier -> field_identifier))) + identifier)) ;) (expression_statement "iVar1 = (int)&this_1->name_ + (uint)(uVar6 < uVar11);" (assignment_expression "iVar1 = (int)&this_1->name_ + (uint)(uVar6 < uVar11)" identifier = (binary_expression "(int)&this_1->name_ + (uint)(uVar6 < uVar11)" (cast_expression "(int)&this_1->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_1->name_" & (field_expression "this_1->name_" identifier -> field_identifier))) + (call_expression "(uint)(uVar6 < uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar6 < uVar11)" ( (binary_expression "uVar6 < uVar11" identifier < identifier) ))))) ;) (expression_statement "this_1 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);" (assignment_expression "this_1 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1)" identifier = (cast_expression "(Output_file *)(uint)(*(int *)(size + 8) < iVar1)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(int *)(size + 8) < iVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(size + 8) < iVar1)" ( (binary_expression "*(int *)(size + 8) < iVar1" (pointer_expression "*(int *)(size + 8)" * (cast_expression "(int *)(size + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(size + 8)" ( (binary_expression "size + 8" identifier + number_literal) )))) < identifier) ))))) ;) (if_statement "if ((this_1 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(size + 0x10);\n            piVar2 = (int *)pEVar12[1];\n            if ((int *)*pEVar12 != piVar2) {\n              pcVar25 = *(code **)(puVar29 + 0x1bf518);\n              piVar15 = (int *)*pEVar12;\n              do {\n                piVar16 = piVar15 + 2;\n                EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1));\n                iStack_54 = EVar23 + *piVar15;\n                (*pcVar25)(fde_offset,&EStack_58);\n                piVar2 = (int *)pEVar12[1];\n                piVar15 = piVar16;\n              } while (piVar2 != piVar16);\n            }\n            return (Elf_Addr)piVar2;\n          }" if (parenthesized_expression "((this_1 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0))))" ( (binary_expression "(this_1 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0)))" (parenthesized_expression "(this_1 == (Output_file *)0x0)" ( (binary_expression "this_1 == (Output_file *)0x0" identifier == (cast_expression "(Output_file *)0x0" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(int *)(size + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0)))" ( (parenthesized_expression "(*(int *)(size + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0))" ( (binary_expression "*(int *)(size + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0)" (binary_expression "*(int *)(size + 8) != iVar1" (pointer_expression "*(int *)(size + 8)" * (cast_expression "(int *)(size + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(size + 8)" ( (binary_expression "size + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0)" ( (comma_expression "uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6), uVar6 == 0" (assignment_expression "uVar6 = (uint)(*(uint *)(size + 0xc) < uVar6)" identifier = (call_expression "(uint)(*(uint *)(size + 0xc) < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(size + 0xc) < uVar6)" ( (binary_expression "*(uint *)(size + 0xc) < uVar6" (pointer_expression "*(uint *)(size + 0xc)" * (cast_expression "(uint *)(size + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(size + 0xc)" ( (binary_expression "size + 0xc" identifier + number_literal) )))) < identifier) )))) , (binary_expression "uVar6 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n            iVar1 = *(int *)(size + 0x10);\n            piVar2 = (int *)pEVar12[1];\n            if ((int *)*pEVar12 != piVar2) {\n              pcVar25 = *(code **)(puVar29 + 0x1bf518);\n              piVar15 = (int *)*pEVar12;\n              do {\n                piVar16 = piVar15 + 2;\n                EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1));\n                iStack_54 = EVar23 + *piVar15;\n                (*pcVar25)(fde_offset,&EStack_58);\n                piVar2 = (int *)pEVar12[1];\n                piVar15 = piVar16;\n              } while (piVar2 != piVar16);\n            }\n            return (Elf_Addr)piVar2;\n          }" { (expression_statement "iVar1 = *(int *)(size + 0x10);" (assignment_expression "iVar1 = *(int *)(size + 0x10)" identifier = (pointer_expression "*(int *)(size + 0x10)" * (cast_expression "(int *)(size + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(size + 0x10)" ( (binary_expression "size + 0x10" identifier + number_literal) ))))) ;) (expression_statement "piVar2 = (int *)pEVar12[1];" (assignment_expression "piVar2 = (int *)pEVar12[1]" identifier = (cast_expression "(int *)pEVar12[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pEVar12[1]" identifier [ number_literal ]))) ;) (if_statement "if ((int *)*pEVar12 != piVar2) {\n              pcVar25 = *(code **)(puVar29 + 0x1bf518);\n              piVar15 = (int *)*pEVar12;\n              do {\n                piVar16 = piVar15 + 2;\n                EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1));\n                iStack_54 = EVar23 + *piVar15;\n                (*pcVar25)(fde_offset,&EStack_58);\n                piVar2 = (int *)pEVar12[1];\n                piVar15 = piVar16;\n              } while (piVar2 != piVar16);\n            }" if (parenthesized_expression "((int *)*pEVar12 != piVar2)" ( (binary_expression "(int *)*pEVar12 != piVar2" (cast_expression "(int *)*pEVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*pEVar12" * identifier)) != identifier) )) (compound_statement "{\n              pcVar25 = *(code **)(puVar29 + 0x1bf518);\n              piVar15 = (int *)*pEVar12;\n              do {\n                piVar16 = piVar15 + 2;\n                EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1));\n                iStack_54 = EVar23 + *piVar15;\n                (*pcVar25)(fde_offset,&EStack_58);\n                piVar2 = (int *)pEVar12[1];\n                piVar15 = piVar16;\n              } while (piVar2 != piVar16);\n            }" { (expression_statement "pcVar25 = *(code **)(puVar29 + 0x1bf518);" (assignment_expression "pcVar25 = *(code **)(puVar29 + 0x1bf518)" identifier = (pointer_expression "*(code **)(puVar29 + 0x1bf518)" * (cast_expression "(code **)(puVar29 + 0x1bf518)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x1bf518)" ( (binary_expression "puVar29 + 0x1bf518" identifier + number_literal) ))))) ;) (expression_statement "piVar15 = (int *)*pEVar12;" (assignment_expression "piVar15 = (int *)*pEVar12" identifier = (cast_expression "(int *)*pEVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*pEVar12" * identifier))) ;) (do_statement "do {\n                piVar16 = piVar15 + 2;\n                EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1));\n                iStack_54 = EVar23 + *piVar15;\n                (*pcVar25)(fde_offset,&EStack_58);\n                piVar2 = (int *)pEVar12[1];\n                piVar15 = piVar16;\n              } while (piVar2 != piVar16);" do (compound_statement "{\n                piVar16 = piVar15 + 2;\n                EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1));\n                iStack_54 = EVar23 + *piVar15;\n                (*pcVar25)(fde_offset,&EStack_58);\n                piVar2 = (int *)pEVar12[1];\n                piVar15 = piVar16;\n              }" { (expression_statement "piVar16 = piVar15 + 2;" (assignment_expression "piVar16 = piVar15 + 2" identifier = (binary_expression "piVar15 + 2" identifier + number_literal)) ;) (expression_statement "EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1));" (comma_expression "EStack_58 = get_fde_pc<32,_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1))" (assignment_expression "EStack_58 = get_fde_pc<32" identifier = (binary_expression "get_fde_pc<32" identifier < number_literal)) , (binary_expression "_true>\n                                      (this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1))" identifier > (parenthesized_expression "(this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1))" ( (comma_expression "this_00,EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1)" identifier , (comma_expression "EVar23,(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1)" identifier , (comma_expression "(uchar *)((int)&this_01->name_ + iVar1),\n                                       *piVar15,*(uchar *)(piVar15 + 1)" (cast_expression "(uchar *)((int)&this_01->name_ + iVar1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_01->name_ + iVar1)" ( (binary_expression "(int)&this_01->name_ + iVar1" (cast_expression "(int)&this_01->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_01->name_" & (field_expression "this_01->name_" identifier -> field_identifier))) + identifier) ))) , (comma_expression "*piVar15,*(uchar *)(piVar15 + 1)" (pointer_expression "*piVar15" * identifier) , (pointer_expression "*(uchar *)(piVar15 + 1)" * (cast_expression "(uchar *)(piVar15 + 1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15 + 1)" ( (binary_expression "piVar15 + 1" identifier + number_literal) )))))))) )))) ;) (expression_statement "iStack_54 = EVar23 + *piVar15;" (assignment_expression "iStack_54 = EVar23 + *piVar15" identifier = (binary_expression "EVar23 + *piVar15" identifier + (pointer_expression "*piVar15" * identifier))) ;) (expression_statement "(*pcVar25)(fde_offset,&EStack_58);" (call_expression "(*pcVar25)(fde_offset,&EStack_58)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(fde_offset,&EStack_58)" ( identifier , (pointer_expression "&EStack_58" & identifier) ))) ;) (expression_statement "piVar2 = (int *)pEVar12[1];" (assignment_expression "piVar2 = (int *)pEVar12[1]" identifier = (cast_expression "(int *)pEVar12[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pEVar12[1]" identifier [ number_literal ]))) ;) (expression_statement "piVar15 = piVar16;" (assignment_expression "piVar15 = piVar16" identifier = identifier) ;) }) while (parenthesized_expression "(piVar2 != piVar16)" ( (binary_expression "piVar2 != piVar16" identifier != identifier) )) ;) })) (return_statement "return (Elf_Addr)piVar2;" return (cast_expression "(Elf_Addr)piVar2" ( (type_descriptor "Elf_Addr" type_identifier) ) identifier) ;) })) })) (labeled_statement "Output_file::get_output_view\n                  (this_01,CONCAT44(in_stack_ffffff98,in_stack_ffffff9c),size,this_1);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                  (this_01,CONCAT44(in_stack_ffffff98,in_stack_ffffff9c),size,this_1);" (call_expression "get_output_view\n                  (this_01,CONCAT44(in_stack_ffffff98,in_stack_ffffff9c),size,this_1)" identifier (argument_list "(this_01,CONCAT44(in_stack_ffffff98,in_stack_ffffff9c),size,this_1)" ( identifier , (call_expression "CONCAT44(in_stack_ffffff98,in_stack_ffffff9c)" identifier (argument_list "(in_stack_ffffff98,in_stack_ffffff9c)" ( identifier , identifier ))) , identifier , identifier ))) ;)) })) (expression_statement "(**(code **)(puVar29 + 0x1bd740))\n                (*(int *)(puVar29 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar29 + 0x1bd5e8) + 0x2008);" (call_expression "(**(code **)(puVar29 + 0x1bd740))\n                (*(int *)(puVar29 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar29 + 0x1bd5e8) + 0x2008)" (parenthesized_expression "(**(code **)(puVar29 + 0x1bd740))" ( (pointer_expression "**(code **)(puVar29 + 0x1bd740)" * (pointer_expression "*(code **)(puVar29 + 0x1bd740)" * (cast_expression "(code **)(puVar29 + 0x1bd740)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x1bd740)" ( (binary_expression "puVar29 + 0x1bd740" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar29 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar29 + 0x1bd5e8) + 0x2008)" ( (binary_expression "*(int *)(puVar29 + 0x1bd730) + -0x4fe0" (pointer_expression "*(int *)(puVar29 + 0x1bd730)" * (cast_expression "(int *)(puVar29 + 0x1bd730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x1bd730)" ( (binary_expression "puVar29 + 0x1bd730" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar29 + 0x1bd5e8) + 0x2008" (pointer_expression "*(int *)(puVar29 + 0x1bd5e8)" * (cast_expression "(int *)(puVar29 + 0x1bd5e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x1bd5e8)" ( (binary_expression "puVar29 + 0x1bd5e8" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(puVar29 + 0x1bd740))\n              (*(int *)(puVar29 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar29 + 0x1bd5e8) + 0x2014);" (call_expression "(**(code **)(puVar29 + 0x1bd740))\n              (*(int *)(puVar29 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar29 + 0x1bd5e8) + 0x2014)" (parenthesized_expression "(**(code **)(puVar29 + 0x1bd740))" ( (pointer_expression "**(code **)(puVar29 + 0x1bd740)" * (pointer_expression "*(code **)(puVar29 + 0x1bd740)" * (cast_expression "(code **)(puVar29 + 0x1bd740)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x1bd740)" ( (binary_expression "puVar29 + 0x1bd740" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar29 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar29 + 0x1bd5e8) + 0x2014)" ( (binary_expression "*(int *)(puVar29 + 0x1bd730) + -0x4fe0" (pointer_expression "*(int *)(puVar29 + 0x1bd730)" * (cast_expression "(int *)(puVar29 + 0x1bd730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x1bd730)" ( (binary_expression "puVar29 + 0x1bd730" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar29 + 0x1bd5e8) + 0x2014" (pointer_expression "*(int *)(puVar29 + 0x1bd5e8)" * (cast_expression "(int *)(puVar29 + 0x1bd5e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x1bd5e8)" ( (binary_expression "puVar29 + 0x1bd5e8" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "uVar11 = 0xc5;" (assignment_expression "uVar11 = 0xc5" identifier = number_literal) ;) (expression_statement "pcVar25 = *(code **)(puVar29 + 0x1bd740);" (assignment_expression "pcVar25 = *(code **)(puVar29 + 0x1bd740)" identifier = (pointer_expression "*(code **)(puVar29 + 0x1bd740)" * (cast_expression "(code **)(puVar29 + 0x1bd740)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x1bd740)" ( (binary_expression "puVar29 + 0x1bd740" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(puVar29 + 0x1bd5e8) + 0x1fdc;" (assignment_expression "iVar1 = *(int *)(puVar29 + 0x1bd5e8) + 0x1fdc" identifier = (binary_expression "*(int *)(puVar29 + 0x1bd5e8) + 0x1fdc" (pointer_expression "*(int *)(puVar29 + 0x1bd5e8)" * (cast_expression "(int *)(puVar29 + 0x1bd5e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x1bd5e8)" ( (binary_expression "puVar29 + 0x1bd5e8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar8 = (uint *)(*(int *)(puVar29 + 0x1bd730) + -0x4fe0);" (assignment_expression "puVar8 = (uint *)(*(int *)(puVar29 + 0x1bd730) + -0x4fe0)" identifier = (cast_expression "(uint *)(*(int *)(puVar29 + 0x1bd730) + -0x4fe0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar29 + 0x1bd730) + -0x4fe0)" ( (binary_expression "*(int *)(puVar29 + 0x1bd730) + -0x4fe0" (pointer_expression "*(int *)(puVar29 + 0x1bd730)" * (cast_expression "(int *)(puVar29 + 0x1bd730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x1bd730)" ( (binary_expression "puVar29 + 0x1bd730" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (uVar11 < 0x10000000) {\n    puVar17 = (undefined4 *)*puVar8;\n    puVar3 = (undefined4 *)(uint)((uint)((int)(puVar8[2] - (int)puVar17) >> 4) < uVar11);\n    if (puVar3 != (undefined4 *)0x0) {\n      puVar24 = (undefined4 *)puVar8[1];\n      iVar1 = (int)puVar24 - (int)puVar17;\n      if (uVar11 == 0) {\n        puVar22 = (undefined4 *)0x0;\n        puVar21 = puVar22;\n        puVar9 = puVar17;\n      }\n      else {\n        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd508))(uVar11 * 0x10);\n        puVar22 = puVar3;\n        puVar21 = puVar3;\n        puVar9 = (undefined4 *)*puVar8;\n      }\n      for (; puVar17 != puVar24; puVar17 = puVar17 + 4) {\n        uVar13 = puVar17[1];\n        uVar10 = puVar17[2];\n        puVar3 = (undefined4 *)puVar17[3];\n        *puVar22 = *puVar17;\n        puVar22[1] = uVar13;\n        puVar22[2] = uVar10;\n        puVar22[3] = puVar3;\n        puVar22 = puVar22 + 4;\n      }\n      if (puVar9 != (undefined4 *)0x0) {\n        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd458))();\n      }\n      *puVar8 = (uint)puVar21;\n      puVar8[1] = (int)puVar21 + iVar1;\n      puVar8[2] = (uint)(puVar21 + uVar11 * 4);\n      return (Elf_Addr)puVar3;\n    }\n    return 0;\n  }" if (parenthesized_expression "(uVar11 < 0x10000000)" ( (binary_expression "uVar11 < 0x10000000" identifier < number_literal) )) (compound_statement "{\n    puVar17 = (undefined4 *)*puVar8;\n    puVar3 = (undefined4 *)(uint)((uint)((int)(puVar8[2] - (int)puVar17) >> 4) < uVar11);\n    if (puVar3 != (undefined4 *)0x0) {\n      puVar24 = (undefined4 *)puVar8[1];\n      iVar1 = (int)puVar24 - (int)puVar17;\n      if (uVar11 == 0) {\n        puVar22 = (undefined4 *)0x0;\n        puVar21 = puVar22;\n        puVar9 = puVar17;\n      }\n      else {\n        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd508))(uVar11 * 0x10);\n        puVar22 = puVar3;\n        puVar21 = puVar3;\n        puVar9 = (undefined4 *)*puVar8;\n      }\n      for (; puVar17 != puVar24; puVar17 = puVar17 + 4) {\n        uVar13 = puVar17[1];\n        uVar10 = puVar17[2];\n        puVar3 = (undefined4 *)puVar17[3];\n        *puVar22 = *puVar17;\n        puVar22[1] = uVar13;\n        puVar22[2] = uVar10;\n        puVar22[3] = puVar3;\n        puVar22 = puVar22 + 4;\n      }\n      if (puVar9 != (undefined4 *)0x0) {\n        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd458))();\n      }\n      *puVar8 = (uint)puVar21;\n      puVar8[1] = (int)puVar21 + iVar1;\n      puVar8[2] = (uint)(puVar21 + uVar11 * 4);\n      return (Elf_Addr)puVar3;\n    }\n    return 0;\n  }" { (expression_statement "puVar17 = (undefined4 *)*puVar8;" (assignment_expression "puVar17 = (undefined4 *)*puVar8" identifier = (cast_expression "(undefined4 *)*puVar8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "puVar3 = (undefined4 *)(uint)((uint)((int)(puVar8[2] - (int)puVar17) >> 4) < uVar11);" (assignment_expression "puVar3 = (undefined4 *)(uint)((uint)((int)(puVar8[2] - (int)puVar17) >> 4) < uVar11)" identifier = (cast_expression "(undefined4 *)(uint)((uint)((int)(puVar8[2] - (int)puVar17) >> 4) < uVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((uint)((int)(puVar8[2] - (int)puVar17) >> 4) < uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)((int)(puVar8[2] - (int)puVar17) >> 4) < uVar11)" ( (binary_expression "(uint)((int)(puVar8[2] - (int)puVar17) >> 4) < uVar11" (call_expression "(uint)((int)(puVar8[2] - (int)puVar17) >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(puVar8[2] - (int)puVar17) >> 4)" ( (binary_expression "(int)(puVar8[2] - (int)puVar17) >> 4" (cast_expression "(int)(puVar8[2] - (int)puVar17)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar8[2] - (int)puVar17)" ( (binary_expression "puVar8[2] - (int)puVar17" (subscript_expression "puVar8[2]" identifier [ number_literal ]) - (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ))) >> number_literal) ))) < identifier) ))))) ;) (if_statement "if (puVar3 != (undefined4 *)0x0) {\n      puVar24 = (undefined4 *)puVar8[1];\n      iVar1 = (int)puVar24 - (int)puVar17;\n      if (uVar11 == 0) {\n        puVar22 = (undefined4 *)0x0;\n        puVar21 = puVar22;\n        puVar9 = puVar17;\n      }\n      else {\n        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd508))(uVar11 * 0x10);\n        puVar22 = puVar3;\n        puVar21 = puVar3;\n        puVar9 = (undefined4 *)*puVar8;\n      }\n      for (; puVar17 != puVar24; puVar17 = puVar17 + 4) {\n        uVar13 = puVar17[1];\n        uVar10 = puVar17[2];\n        puVar3 = (undefined4 *)puVar17[3];\n        *puVar22 = *puVar17;\n        puVar22[1] = uVar13;\n        puVar22[2] = uVar10;\n        puVar22[3] = puVar3;\n        puVar22 = puVar22 + 4;\n      }\n      if (puVar9 != (undefined4 *)0x0) {\n        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd458))();\n      }\n      *puVar8 = (uint)puVar21;\n      puVar8[1] = (int)puVar21 + iVar1;\n      puVar8[2] = (uint)(puVar21 + uVar11 * 4);\n      return (Elf_Addr)puVar3;\n    }" if (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" ( (binary_expression "puVar3 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar24 = (undefined4 *)puVar8[1];\n      iVar1 = (int)puVar24 - (int)puVar17;\n      if (uVar11 == 0) {\n        puVar22 = (undefined4 *)0x0;\n        puVar21 = puVar22;\n        puVar9 = puVar17;\n      }\n      else {\n        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd508))(uVar11 * 0x10);\n        puVar22 = puVar3;\n        puVar21 = puVar3;\n        puVar9 = (undefined4 *)*puVar8;\n      }\n      for (; puVar17 != puVar24; puVar17 = puVar17 + 4) {\n        uVar13 = puVar17[1];\n        uVar10 = puVar17[2];\n        puVar3 = (undefined4 *)puVar17[3];\n        *puVar22 = *puVar17;\n        puVar22[1] = uVar13;\n        puVar22[2] = uVar10;\n        puVar22[3] = puVar3;\n        puVar22 = puVar22 + 4;\n      }\n      if (puVar9 != (undefined4 *)0x0) {\n        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd458))();\n      }\n      *puVar8 = (uint)puVar21;\n      puVar8[1] = (int)puVar21 + iVar1;\n      puVar8[2] = (uint)(puVar21 + uVar11 * 4);\n      return (Elf_Addr)puVar3;\n    }" { (expression_statement "puVar24 = (undefined4 *)puVar8[1];" (assignment_expression "puVar24 = (undefined4 *)puVar8[1]" identifier = (cast_expression "(undefined4 *)puVar8[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar1 = (int)puVar24 - (int)puVar17;" (assignment_expression "iVar1 = (int)puVar24 - (int)puVar17" identifier = (binary_expression "(int)puVar24 - (int)puVar17" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (uVar11 == 0) {\n        puVar22 = (undefined4 *)0x0;\n        puVar21 = puVar22;\n        puVar9 = puVar17;\n      }\n      else {\n        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd508))(uVar11 * 0x10);\n        puVar22 = puVar3;\n        puVar21 = puVar3;\n        puVar9 = (undefined4 *)*puVar8;\n      }" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar22 = (undefined4 *)0x0;\n        puVar21 = puVar22;\n        puVar9 = puVar17;\n      }" { (expression_statement "puVar22 = (undefined4 *)0x0;" (assignment_expression "puVar22 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar21 = puVar22;" (assignment_expression "puVar21 = puVar22" identifier = identifier) ;) (expression_statement "puVar9 = puVar17;" (assignment_expression "puVar9 = puVar17" identifier = identifier) ;) }) (else_clause "else {\n        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd508))(uVar11 * 0x10);\n        puVar22 = puVar3;\n        puVar21 = puVar3;\n        puVar9 = (undefined4 *)*puVar8;\n      }" else (compound_statement "{\n        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd508))(uVar11 * 0x10);\n        puVar22 = puVar3;\n        puVar21 = puVar3;\n        puVar9 = (undefined4 *)*puVar8;\n      }" { (expression_statement "puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd508))(uVar11 * 0x10);" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd508))(uVar11 * 0x10)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0x1bd508))(uVar11 * 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0x1bd508))(uVar11 * 0x10)" (parenthesized_expression "(**(code **)(pcVar25 + 0x1bd508))" ( (pointer_expression "**(code **)(pcVar25 + 0x1bd508)" * (pointer_expression "*(code **)(pcVar25 + 0x1bd508)" * (cast_expression "(code **)(pcVar25 + 0x1bd508)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bd508)" ( (binary_expression "pcVar25 + 0x1bd508" identifier + number_literal) ))))) )) (argument_list "(uVar11 * 0x10)" ( (binary_expression "uVar11 * 0x10" identifier * number_literal) ))))) ;) (expression_statement "puVar22 = puVar3;" (assignment_expression "puVar22 = puVar3" identifier = identifier) ;) (expression_statement "puVar21 = puVar3;" (assignment_expression "puVar21 = puVar3" identifier = identifier) ;) (expression_statement "puVar9 = (undefined4 *)*puVar8;" (assignment_expression "puVar9 = (undefined4 *)*puVar8" identifier = (cast_expression "(undefined4 *)*puVar8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) }))) (for_statement "for (; puVar17 != puVar24; puVar17 = puVar17 + 4) {\n        uVar13 = puVar17[1];\n        uVar10 = puVar17[2];\n        puVar3 = (undefined4 *)puVar17[3];\n        *puVar22 = *puVar17;\n        puVar22[1] = uVar13;\n        puVar22[2] = uVar10;\n        puVar22[3] = puVar3;\n        puVar22 = puVar22 + 4;\n      }" for ( ; (binary_expression "puVar17 != puVar24" identifier != identifier) ; (assignment_expression "puVar17 = puVar17 + 4" identifier = (binary_expression "puVar17 + 4" identifier + number_literal)) ) (compound_statement "{\n        uVar13 = puVar17[1];\n        uVar10 = puVar17[2];\n        puVar3 = (undefined4 *)puVar17[3];\n        *puVar22 = *puVar17;\n        puVar22[1] = uVar13;\n        puVar22[2] = uVar10;\n        puVar22[3] = puVar3;\n        puVar22 = puVar22 + 4;\n      }" { (expression_statement "uVar13 = puVar17[1];" (assignment_expression "uVar13 = puVar17[1]" identifier = (subscript_expression "puVar17[1]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = puVar17[2];" (assignment_expression "uVar10 = puVar17[2]" identifier = (subscript_expression "puVar17[2]" identifier [ number_literal ])) ;) (expression_statement "puVar3 = (undefined4 *)puVar17[3];" (assignment_expression "puVar3 = (undefined4 *)puVar17[3]" identifier = (cast_expression "(undefined4 *)puVar17[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[3]" identifier [ number_literal ]))) ;) (expression_statement "*puVar22 = *puVar17;" (assignment_expression "*puVar22 = *puVar17" (pointer_expression "*puVar22" * identifier) = (pointer_expression "*puVar17" * identifier)) ;) (expression_statement "puVar22[1] = uVar13;" (assignment_expression "puVar22[1] = uVar13" (subscript_expression "puVar22[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar22[2] = uVar10;" (assignment_expression "puVar22[2] = uVar10" (subscript_expression "puVar22[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar22[3] = puVar3;" (assignment_expression "puVar22[3] = puVar3" (subscript_expression "puVar22[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar22 = puVar22 + 4;" (assignment_expression "puVar22 = puVar22 + 4" identifier = (binary_expression "puVar22 + 4" identifier + number_literal)) ;) })) (if_statement "if (puVar9 != (undefined4 *)0x0) {\n        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd458))();\n      }" if (parenthesized_expression "(puVar9 != (undefined4 *)0x0)" ( (binary_expression "puVar9 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd458))();\n      }" { (expression_statement "puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd458))();" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(pcVar25 + 0x1bd458))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0x1bd458))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0x1bd458))()" (parenthesized_expression "(**(code **)(pcVar25 + 0x1bd458))" ( (pointer_expression "**(code **)(pcVar25 + 0x1bd458)" * (pointer_expression "*(code **)(pcVar25 + 0x1bd458)" * (cast_expression "(code **)(pcVar25 + 0x1bd458)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bd458)" ( (binary_expression "pcVar25 + 0x1bd458" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) })) (expression_statement "*puVar8 = (uint)puVar21;" (assignment_expression "*puVar8 = (uint)puVar21" (pointer_expression "*puVar8" * identifier) = (cast_expression "(uint)puVar21" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar8[1] = (int)puVar21 + iVar1;" (assignment_expression "puVar8[1] = (int)puVar21 + iVar1" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = (binary_expression "(int)puVar21 + iVar1" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "puVar8[2] = (uint)(puVar21 + uVar11 * 4);" (assignment_expression "puVar8[2] = (uint)(puVar21 + uVar11 * 4)" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = (call_expression "(uint)(puVar21 + uVar11 * 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar21 + uVar11 * 4)" ( (binary_expression "puVar21 + uVar11 * 4" identifier + (binary_expression "uVar11 * 4" identifier * number_literal)) )))) ;) (return_statement "return (Elf_Addr)puVar3;" return (cast_expression "(Elf_Addr)puVar3" ( (type_descriptor "Elf_Addr" type_identifier) ) identifier) ;) })) (return_statement "return 0;" return number_literal ;) })) (expression_statement "pcVar30 = *(code **)(pcVar25 + 0x1bd64c);" (assignment_expression "pcVar30 = *(code **)(pcVar25 + 0x1bd64c)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x1bd64c)" * (cast_expression "(code **)(pcVar25 + 0x1bd64c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bd64c)" ( (binary_expression "pcVar25 + 0x1bd64c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar30)(*(int *)(pcVar25 + 0x1bd3d8) + 0x4864);" (call_expression "(*pcVar30)(*(int *)(pcVar25 + 0x1bd3d8) + 0x4864)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(*(int *)(pcVar25 + 0x1bd3d8) + 0x4864)" ( (binary_expression "*(int *)(pcVar25 + 0x1bd3d8) + 0x4864" (pointer_expression "*(int *)(pcVar25 + 0x1bd3d8)" * (cast_expression "(int *)(pcVar25 + 0x1bd3d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x1bd3d8)" ( (binary_expression "pcVar25 + 0x1bd3d8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "bVar5 = bStackY_95 & 7;" (assignment_expression "bVar5 = bStackY_95 & 7" identifier = (binary_expression "bStackY_95 & 7" identifier & number_literal)) ;) (expression_statement "pcVar25 = pcVar25 + iStackY_9c + 0x1c53a4;" (assignment_expression "pcVar25 = pcVar25 + iStackY_9c + 0x1c53a4" identifier = (binary_expression "pcVar25 + iStackY_9c + 0x1c53a4" (binary_expression "pcVar25 + iStackY_9c" identifier + identifier) + number_literal)) ;) (if_statement "if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;" if (parenthesized_expression "((bStackY_95 & 7) == 0)" ( (binary_expression "(bStackY_95 & 7) == 0" (parenthesized_expression "(bStackY_95 & 7)" ( (binary_expression "bStackY_95 & 7" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00274ff4;" goto statement_identifier ;)) (if_statement "if (bVar5 == 3) {\n    uVar11 = *(uint *)pcVar25;\n    uVar11 = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n      goto LAB_00275014;\n    }\n  }\n  else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar10 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar11 = (*(ushort *)pcVar25 & 0xff) << 8 | (uint)(*(ushort *)pcVar25 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar18 = uVar11 ^ 0x8000;\n      uVar11 = uVar18 - 0x8000;\n      EVar23 = (uVar11 < uVar18) - 1;\n      goto LAB_00275014;\n    }\n  }" if (parenthesized_expression "(bVar5 == 3)" ( (binary_expression "bVar5 == 3" identifier == number_literal) )) (compound_statement "{\n    uVar11 = *(uint *)pcVar25;\n    uVar11 = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n      goto LAB_00275014;\n    }\n  }" { (expression_statement "uVar11 = *(uint *)pcVar25;" (assignment_expression "uVar11 = *(uint *)pcVar25" identifier = (pointer_expression "*(uint *)pcVar25" * (cast_expression "(uint *)pcVar25" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar11 = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar11 = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10)" ( (binary_expression "(uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10" (binary_expression "(uVar11 >> 0x10) << 0x18" (parenthesized_expression "(uVar11 >> 0x10)" ( (binary_expression "uVar11 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar11 >> 0x18) << 0x10" (parenthesized_expression "(uVar11 >> 0x18)" ( (binary_expression "uVar11 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff)" ( (binary_expression "(uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff" (binary_expression "(uVar11 & 0xff) << 8" (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar11 >> 8 & 0xff" (binary_expression "uVar11 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if ((bStackY_95 & 8) != 0) {\n      EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n      goto LAB_00275014;\n    }" if (parenthesized_expression "((bStackY_95 & 8) != 0)" ( (binary_expression "(bStackY_95 & 8) != 0" (parenthesized_expression "(bStackY_95 & 8)" ( (binary_expression "bStackY_95 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n      goto LAB_00275014;\n    }" { (expression_statement "EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;" (assignment_expression "EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1" identifier = (binary_expression "(uVar11 < (uVar11 ^ 0x80000000)) - 1" (parenthesized_expression "(uVar11 < (uVar11 ^ 0x80000000))" ( (binary_expression "uVar11 < (uVar11 ^ 0x80000000)" identifier < (parenthesized_expression "(uVar11 ^ 0x80000000)" ( (binary_expression "uVar11 ^ 0x80000000" identifier ^ number_literal) ))) )) - number_literal)) ;) (goto_statement "goto LAB_00275014;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar10 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar11 = (*(ushort *)pcVar25 & 0xff) << 8 | (uint)(*(ushort *)pcVar25 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar18 = uVar11 ^ 0x8000;\n      uVar11 = uVar18 - 0x8000;\n      EVar23 = (uVar11 < uVar18) - 1;\n      goto LAB_00275014;\n    }\n  }" else (compound_statement "{\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar10 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar11 = (*(ushort *)pcVar25 & 0xff) << 8 | (uint)(*(ushort *)pcVar25 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar18 = uVar11 ^ 0x8000;\n      uVar11 = uVar18 - 0x8000;\n      EVar23 = (uVar11 < uVar18) - 1;\n      goto LAB_00275014;\n    }\n  }" { (if_statement "if (bVar5 == 4) goto LAB_00274ff4;" if (parenthesized_expression "(bVar5 == 4)" ( (binary_expression "bVar5 == 4" identifier == number_literal) )) (goto_statement "goto LAB_00274ff4;" goto statement_identifier ;)) (if_statement "if (bVar5 != 2) {\n      uVar10 = 0x10a;\n      goto LAB_00274fdc;\n    }" if (parenthesized_expression "(bVar5 != 2)" ( (binary_expression "bVar5 != 2" identifier != number_literal) )) (compound_statement "{\n      uVar10 = 0x10a;\n      goto LAB_00274fdc;\n    }" { (expression_statement "uVar10 = 0x10a;" (assignment_expression "uVar10 = 0x10a" identifier = number_literal) ;) (goto_statement "goto LAB_00274fdc;" goto statement_identifier ;) })) (expression_statement "uVar11 = (*(ushort *)pcVar25 & 0xff) << 8 | (uint)(*(ushort *)pcVar25 >> 8);" (assignment_expression "uVar11 = (*(ushort *)pcVar25 & 0xff) << 8 | (uint)(*(ushort *)pcVar25 >> 8)" identifier = (binary_expression "(*(ushort *)pcVar25 & 0xff) << 8 | (uint)(*(ushort *)pcVar25 >> 8)" (binary_expression "(*(ushort *)pcVar25 & 0xff) << 8" (parenthesized_expression "(*(ushort *)pcVar25 & 0xff)" ( (binary_expression "*(ushort *)pcVar25 & 0xff" (pointer_expression "*(ushort *)pcVar25" * (cast_expression "(ushort *)pcVar25" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) << number_literal) | (call_expression "(uint)(*(ushort *)pcVar25 >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)pcVar25 >> 8)" ( (binary_expression "*(ushort *)pcVar25 >> 8" (pointer_expression "*(ushort *)pcVar25" * (cast_expression "(ushort *)pcVar25" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) >> number_literal) ))))) ;) (if_statement "if ((bStackY_95 & 8) != 0) {\n      uVar18 = uVar11 ^ 0x8000;\n      uVar11 = uVar18 - 0x8000;\n      EVar23 = (uVar11 < uVar18) - 1;\n      goto LAB_00275014;\n    }" if (parenthesized_expression "((bStackY_95 & 8) != 0)" ( (binary_expression "(bStackY_95 & 8) != 0" (parenthesized_expression "(bStackY_95 & 8)" ( (binary_expression "bStackY_95 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar18 = uVar11 ^ 0x8000;\n      uVar11 = uVar18 - 0x8000;\n      EVar23 = (uVar11 < uVar18) - 1;\n      goto LAB_00275014;\n    }" { (expression_statement "uVar18 = uVar11 ^ 0x8000;" (assignment_expression "uVar18 = uVar11 ^ 0x8000" identifier = (binary_expression "uVar11 ^ 0x8000" identifier ^ number_literal)) ;) (expression_statement "uVar11 = uVar18 - 0x8000;" (assignment_expression "uVar11 = uVar18 - 0x8000" identifier = (binary_expression "uVar18 - 0x8000" identifier - number_literal)) ;) (expression_statement "EVar23 = (uVar11 < uVar18) - 1;" (assignment_expression "EVar23 = (uVar11 < uVar18) - 1" identifier = (binary_expression "(uVar11 < uVar18) - 1" (parenthesized_expression "(uVar11 < uVar18)" ( (binary_expression "uVar11 < uVar18" identifier < identifier) )) - number_literal)) ;) (goto_statement "goto LAB_00275014;" goto statement_identifier ;) })) }))) (expression_statement "EVar23 = 0;" (assignment_expression "EVar23 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00275014:\n  do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar18 = uVar6 + 8;\n      uVar6 = EVar23 + (uint)(uVar18 + iStackY_9c < uVar18) +\n                       (uint)(uVar18 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      EVar23 = (uVar11 + uVar18 + iStackY_9c < uVar11) + uVar6;\nLAB_00275078:\n      uVar10 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return EVar23;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar32 = (**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50))();\n          EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar25 = *(code **)(pcVar30 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar25)(*(int *)(pcVar30 + 0x1bd43c) + -0x5cec,0x69);\n        uVar18 = uVar14 & 0xff;\n        uVar11 = uVar14 & 7;\n        pcVar30 = pcVar30 + iStackY_c4 + 0x1c5260;\n        if ((uVar14 & 7) == 0) goto LAB_002751c0;\n        if (uVar11 == 3) {\n          uVar11 = *(uint *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n            break;\n          }\n        }\n        else {\n          if (uVar11 == 4) goto LAB_002751c0;\n          uVar10 = 0x10a;\n          if (uVar11 != 2) goto LAB_002751a8;\n          uVar11 = (uint)*(ushort *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            uVar14 = uVar11 ^ 0x8000;\n            uVar11 = uVar14 - 0x8000;\n            EVar23 = (uVar11 < uVar14) - 1;\n            break;\n          }\n        }\n        EVar23 = 0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar10 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar30 + 0x1bd44c))(*(int *)(pcVar30 + 0x1bd2f4) + 0x1dc0,uVar10);\n    pcVar25 = extraout_v1_00;\nLAB_00274ff4:\n    uVar11 = *(uint *)(pcVar25 + 4);\n    uVar18 = *(uint *)pcVar25;\n    EVar23 = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n    uVar11 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n  } while( true );" statement_identifier : (do_statement "do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar18 = uVar6 + 8;\n      uVar6 = EVar23 + (uint)(uVar18 + iStackY_9c < uVar18) +\n                       (uint)(uVar18 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      EVar23 = (uVar11 + uVar18 + iStackY_9c < uVar11) + uVar6;\nLAB_00275078:\n      uVar10 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return EVar23;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar32 = (**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50))();\n          EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar25 = *(code **)(pcVar30 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar25)(*(int *)(pcVar30 + 0x1bd43c) + -0x5cec,0x69);\n        uVar18 = uVar14 & 0xff;\n        uVar11 = uVar14 & 7;\n        pcVar30 = pcVar30 + iStackY_c4 + 0x1c5260;\n        if ((uVar14 & 7) == 0) goto LAB_002751c0;\n        if (uVar11 == 3) {\n          uVar11 = *(uint *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n            break;\n          }\n        }\n        else {\n          if (uVar11 == 4) goto LAB_002751c0;\n          uVar10 = 0x10a;\n          if (uVar11 != 2) goto LAB_002751a8;\n          uVar11 = (uint)*(ushort *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            uVar14 = uVar11 ^ 0x8000;\n            uVar11 = uVar14 - 0x8000;\n            EVar23 = (uVar11 < uVar14) - 1;\n            break;\n          }\n        }\n        EVar23 = 0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar10 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar30 + 0x1bd44c))(*(int *)(pcVar30 + 0x1bd2f4) + 0x1dc0,uVar10);\n    pcVar25 = extraout_v1_00;\nLAB_00274ff4:\n    uVar11 = *(uint *)(pcVar25 + 4);\n    uVar18 = *(uint *)pcVar25;\n    EVar23 = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n    uVar11 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n  } while( true );" do (compound_statement "{\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar18 = uVar6 + 8;\n      uVar6 = EVar23 + (uint)(uVar18 + iStackY_9c < uVar18) +\n                       (uint)(uVar18 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      EVar23 = (uVar11 + uVar18 + iStackY_9c < uVar11) + uVar6;\nLAB_00275078:\n      uVar10 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return EVar23;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar32 = (**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50))();\n          EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar25 = *(code **)(pcVar30 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar25)(*(int *)(pcVar30 + 0x1bd43c) + -0x5cec,0x69);\n        uVar18 = uVar14 & 0xff;\n        uVar11 = uVar14 & 7;\n        pcVar30 = pcVar30 + iStackY_c4 + 0x1c5260;\n        if ((uVar14 & 7) == 0) goto LAB_002751c0;\n        if (uVar11 == 3) {\n          uVar11 = *(uint *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n            break;\n          }\n        }\n        else {\n          if (uVar11 == 4) goto LAB_002751c0;\n          uVar10 = 0x10a;\n          if (uVar11 != 2) goto LAB_002751a8;\n          uVar11 = (uint)*(ushort *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            uVar14 = uVar11 ^ 0x8000;\n            uVar11 = uVar14 - 0x8000;\n            EVar23 = (uVar11 < uVar14) - 1;\n            break;\n          }\n        }\n        EVar23 = 0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar10 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar30 + 0x1bd44c))(*(int *)(pcVar30 + 0x1bd2f4) + 0x1dc0,uVar10);\n    pcVar25 = extraout_v1_00;\nLAB_00274ff4:\n    uVar11 = *(uint *)(pcVar25 + 4);\n    uVar18 = *(uint *)pcVar25;\n    EVar23 = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n    uVar11 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n  }" { (if_statement "if ((bStackY_95 & 0x70) == 0x10) {\n      uVar18 = uVar6 + 8;\n      uVar6 = EVar23 + (uint)(uVar18 + iStackY_9c < uVar18) +\n                       (uint)(uVar18 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      EVar23 = (uVar11 + uVar18 + iStackY_9c < uVar11) + uVar6;\nLAB_00275078:\n      uVar10 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return EVar23;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar32 = (**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50))();\n          EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar25 = *(code **)(pcVar30 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar25)(*(int *)(pcVar30 + 0x1bd43c) + -0x5cec,0x69);\n        uVar18 = uVar14 & 0xff;\n        uVar11 = uVar14 & 7;\n        pcVar30 = pcVar30 + iStackY_c4 + 0x1c5260;\n        if ((uVar14 & 7) == 0) goto LAB_002751c0;\n        if (uVar11 == 3) {\n          uVar11 = *(uint *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n            break;\n          }\n        }\n        else {\n          if (uVar11 == 4) goto LAB_002751c0;\n          uVar10 = 0x10a;\n          if (uVar11 != 2) goto LAB_002751a8;\n          uVar11 = (uint)*(ushort *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            uVar14 = uVar11 ^ 0x8000;\n            uVar11 = uVar14 - 0x8000;\n            EVar23 = (uVar11 < uVar14) - 1;\n            break;\n          }\n        }\n        EVar23 = 0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar10 = 0x11d;\n    }" if (parenthesized_expression "((bStackY_95 & 0x70) == 0x10)" ( (binary_expression "(bStackY_95 & 0x70) == 0x10" (parenthesized_expression "(bStackY_95 & 0x70)" ( (binary_expression "bStackY_95 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar18 = uVar6 + 8;\n      uVar6 = EVar23 + (uint)(uVar18 + iStackY_9c < uVar18) +\n                       (uint)(uVar18 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      EVar23 = (uVar11 + uVar18 + iStackY_9c < uVar11) + uVar6;\nLAB_00275078:\n      uVar10 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return EVar23;\n      }\n    }" { (expression_statement "uVar18 = uVar6 + 8;" (assignment_expression "uVar18 = uVar6 + 8" identifier = (binary_expression "uVar6 + 8" identifier + number_literal)) ;) (expression_statement "uVar6 = EVar23 + (uint)(uVar18 + iStackY_9c < uVar18) +\n                       (uint)(uVar18 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);" (assignment_expression "uVar6 = EVar23 + (uint)(uVar18 + iStackY_9c < uVar18) +\n                       (uint)(uVar18 < uVar6) + iVar1 + (iStackY_9c >> 0x1f)" identifier = (binary_expression "EVar23 + (uint)(uVar18 + iStackY_9c < uVar18) +\n                       (uint)(uVar18 < uVar6) + iVar1 + (iStackY_9c >> 0x1f)" (binary_expression "EVar23 + (uint)(uVar18 + iStackY_9c < uVar18) +\n                       (uint)(uVar18 < uVar6) + iVar1" (binary_expression "EVar23 + (uint)(uVar18 + iStackY_9c < uVar18) +\n                       (uint)(uVar18 < uVar6)" (binary_expression "EVar23 + (uint)(uVar18 + iStackY_9c < uVar18)" identifier + (call_expression "(uint)(uVar18 + iStackY_9c < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar18 + iStackY_9c < uVar18)" ( (binary_expression "uVar18 + iStackY_9c < uVar18" (binary_expression "uVar18 + iStackY_9c" identifier + identifier) < identifier) )))) + (call_expression "(uint)(uVar18 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar18 < uVar6)" ( (binary_expression "uVar18 < uVar6" identifier < identifier) )))) + identifier) + (parenthesized_expression "(iStackY_9c >> 0x1f)" ( (binary_expression "iStackY_9c >> 0x1f" identifier >> number_literal) )))) ;) (expression_statement "EVar23 = (uVar11 + uVar18 + iStackY_9c < uVar11) + uVar6;" (assignment_expression "EVar23 = (uVar11 + uVar18 + iStackY_9c < uVar11) + uVar6" identifier = (binary_expression "(uVar11 + uVar18 + iStackY_9c < uVar11) + uVar6" (parenthesized_expression "(uVar11 + uVar18 + iStackY_9c < uVar11)" ( (binary_expression "uVar11 + uVar18 + iStackY_9c < uVar11" (binary_expression "uVar11 + uVar18 + iStackY_9c" (binary_expression "uVar11 + uVar18" identifier + identifier) + identifier) < identifier) )) + identifier)) ;) (labeled_statement "LAB_00275078:\n      uVar10 = 0x120;" statement_identifier : (expression_statement "uVar10 = 0x120;" (assignment_expression "uVar10 = 0x120" identifier = number_literal) ;)) (if_statement "if (-1 < (char)bStackY_95) {\n        return EVar23;\n      }" if (parenthesized_expression "(-1 < (char)bStackY_95)" ( (binary_expression "-1 < (char)bStackY_95" number_literal < (cast_expression "(char)bStackY_95" ( (type_descriptor "char" primitive_type) ) identifier)) )) (compound_statement "{\n        return EVar23;\n      }" { (return_statement "return EVar23;" return identifier ;) })) }) (else_clause "else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar32 = (**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50))();\n          EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar25 = *(code **)(pcVar30 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar25)(*(int *)(pcVar30 + 0x1bd43c) + -0x5cec,0x69);\n        uVar18 = uVar14 & 0xff;\n        uVar11 = uVar14 & 7;\n        pcVar30 = pcVar30 + iStackY_c4 + 0x1c5260;\n        if ((uVar14 & 7) == 0) goto LAB_002751c0;\n        if (uVar11 == 3) {\n          uVar11 = *(uint *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n            break;\n          }\n        }\n        else {\n          if (uVar11 == 4) goto LAB_002751c0;\n          uVar10 = 0x10a;\n          if (uVar11 != 2) goto LAB_002751a8;\n          uVar11 = (uint)*(ushort *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            uVar14 = uVar11 ^ 0x8000;\n            uVar11 = uVar14 - 0x8000;\n            EVar23 = (uVar11 < uVar14) - 1;\n            break;\n          }\n        }\n        EVar23 = 0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar10 = 0x11d;\n    }" else (compound_statement "{\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar32 = (**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50))();\n          EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar25 = *(code **)(pcVar30 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar25)(*(int *)(pcVar30 + 0x1bd43c) + -0x5cec,0x69);\n        uVar18 = uVar14 & 0xff;\n        uVar11 = uVar14 & 7;\n        pcVar30 = pcVar30 + iStackY_c4 + 0x1c5260;\n        if ((uVar14 & 7) == 0) goto LAB_002751c0;\n        if (uVar11 == 3) {\n          uVar11 = *(uint *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n            break;\n          }\n        }\n        else {\n          if (uVar11 == 4) goto LAB_002751c0;\n          uVar10 = 0x10a;\n          if (uVar11 != 2) goto LAB_002751a8;\n          uVar11 = (uint)*(ushort *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            uVar14 = uVar11 ^ 0x8000;\n            uVar11 = uVar14 - 0x8000;\n            EVar23 = (uVar11 < uVar14) - 1;\n            break;\n          }\n        }\n        EVar23 = 0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar10 = 0x11d;\n    }" { (if_statement "if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar32 = (**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50))();\n          EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar25 = *(code **)(pcVar30 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar25)(*(int *)(pcVar30 + 0x1bd43c) + -0x5cec,0x69);\n        uVar18 = uVar14 & 0xff;\n        uVar11 = uVar14 & 7;\n        pcVar30 = pcVar30 + iStackY_c4 + 0x1c5260;\n        if ((uVar14 & 7) == 0) goto LAB_002751c0;\n        if (uVar11 == 3) {\n          uVar11 = *(uint *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n            break;\n          }\n        }\n        else {\n          if (uVar11 == 4) goto LAB_002751c0;\n          uVar10 = 0x10a;\n          if (uVar11 != 2) goto LAB_002751a8;\n          uVar11 = (uint)*(ushort *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            uVar14 = uVar11 ^ 0x8000;\n            uVar11 = uVar14 - 0x8000;\n            EVar23 = (uVar11 < uVar14) - 1;\n            break;\n          }\n        }\n        EVar23 = 0;\n        break;\n      }" if (parenthesized_expression "((bStackY_95 & 0x70) == 0x30)" ( (binary_expression "(bStackY_95 & 0x70) == 0x30" (parenthesized_expression "(bStackY_95 & 0x70)" ( (binary_expression "bStackY_95 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (*(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar32 = (**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50))();\n          EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar25 = *(code **)(pcVar30 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar25)(*(int *)(pcVar30 + 0x1bd43c) + -0x5cec,0x69);\n        uVar18 = uVar14 & 0xff;\n        uVar11 = uVar14 & 7;\n        pcVar30 = pcVar30 + iStackY_c4 + 0x1c5260;\n        if ((uVar14 & 7) == 0) goto LAB_002751c0;\n        if (uVar11 == 3) {\n          uVar11 = *(uint *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n            break;\n          }\n        }\n        else {\n          if (uVar11 == 4) goto LAB_002751c0;\n          uVar10 = 0x10a;\n          if (uVar11 != 2) goto LAB_002751a8;\n          uVar11 = (uint)*(ushort *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            uVar14 = uVar11 ^ 0x8000;\n            uVar11 = uVar14 - 0x8000;\n            EVar23 = (uVar11 < uVar14) - 1;\n            break;\n          }\n        }\n        EVar23 = 0;\n        break;\n      }" { (if_statement "if (*(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar32 = (**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50))();\n          EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n          goto LAB_00275078;\n        }" if (parenthesized_expression "(*(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) != (int *)0x0)" ( (binary_expression "*(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) != (int *)0x0" (pointer_expression "*(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar30 + 0x1bdc68) + 0xc)" ( (binary_expression "**(int **)(pcVar30 + 0x1bdc68) + 0xc" (pointer_expression "**(int **)(pcVar30 + 0x1bdc68)" * (pointer_expression "*(int **)(pcVar30 + 0x1bdc68)" * (cast_expression "(int **)(pcVar30 + 0x1bdc68)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1bdc68)" ( (binary_expression "pcVar30 + 0x1bdc68" identifier + number_literal) ))))) + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          lVar32 = (**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50))();\n          EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n          goto LAB_00275078;\n        }" { (expression_statement "lVar32 = (**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50))();" (assignment_expression "lVar32 = (**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50))()" identifier = (call_expression "(**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50)" ( (binary_expression "**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc)" * (pointer_expression "*(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar30 + 0x1bdc68) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar30 + 0x1bdc68) + 0xc)" ( (binary_expression "**(int **)(pcVar30 + 0x1bdc68) + 0xc" (pointer_expression "**(int **)(pcVar30 + 0x1bdc68)" * (pointer_expression "*(int **)(pcVar30 + 0x1bdc68)" * (cast_expression "(int **)(pcVar30 + 0x1bdc68)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1bdc68)" ( (binary_expression "pcVar30 + 0x1bdc68" identifier + number_literal) ))))) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);" (assignment_expression "EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20)" identifier = (call_expression "(Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20)" (parenthesized_expression "(Elf_Addr)" ( identifier )) (argument_list "((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20)" ( (binary_expression "(ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20" (call_expression "(ulonglong)(lVar32 + CONCAT44(EVar23,uVar11))" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar32 + CONCAT44(EVar23,uVar11))" ( (binary_expression "lVar32 + CONCAT44(EVar23,uVar11)" identifier + (call_expression "CONCAT44(EVar23,uVar11)" identifier (argument_list "(EVar23,uVar11)" ( identifier , identifier )))) ))) >> number_literal) )))) ;) (goto_statement "goto LAB_00275078;" goto statement_identifier ;) })) (expression_statement "pcVar25 = *(code **)(pcVar30 + 0x1bd44c);" (assignment_expression "pcVar25 = *(code **)(pcVar30 + 0x1bd44c)" identifier = (pointer_expression "*(code **)(pcVar30 + 0x1bd44c)" * (cast_expression "(code **)(pcVar30 + 0x1bd44c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1bd44c)" ( (binary_expression "pcVar30 + 0x1bd44c" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fe4;" (assignment_expression "iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fe4" identifier = (binary_expression "*(int *)(pcVar30 + 0x1bd2f4) + 0x1fe4" (pointer_expression "*(int *)(pcVar30 + 0x1bd2f4)" * (cast_expression "(int *)(pcVar30 + 0x1bd2f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x1bd2f4)" ( (binary_expression "pcVar30 + 0x1bd2f4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar25)(*(int *)(pcVar30 + 0x1bd43c) + -0x5cec,0x69);" (call_expression "(*pcVar25)(*(int *)(pcVar30 + 0x1bd43c) + -0x5cec,0x69)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(*(int *)(pcVar30 + 0x1bd43c) + -0x5cec,0x69)" ( (binary_expression "*(int *)(pcVar30 + 0x1bd43c) + -0x5cec" (pointer_expression "*(int *)(pcVar30 + 0x1bd43c)" * (cast_expression "(int *)(pcVar30 + 0x1bd43c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x1bd43c)" ( (binary_expression "pcVar30 + 0x1bd43c" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar18 = uVar14 & 0xff;" (assignment_expression "uVar18 = uVar14 & 0xff" identifier = (binary_expression "uVar14 & 0xff" identifier & number_literal)) ;) (expression_statement "uVar11 = uVar14 & 7;" (assignment_expression "uVar11 = uVar14 & 7" identifier = (binary_expression "uVar14 & 7" identifier & number_literal)) ;) (expression_statement "pcVar30 = pcVar30 + iStackY_c4 + 0x1c5260;" (assignment_expression "pcVar30 = pcVar30 + iStackY_c4 + 0x1c5260" identifier = (binary_expression "pcVar30 + iStackY_c4 + 0x1c5260" (binary_expression "pcVar30 + iStackY_c4" identifier + identifier) + number_literal)) ;) (if_statement "if ((uVar14 & 7) == 0) goto LAB_002751c0;" if (parenthesized_expression "((uVar14 & 7) == 0)" ( (binary_expression "(uVar14 & 7) == 0" (parenthesized_expression "(uVar14 & 7)" ( (binary_expression "uVar14 & 7" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002751c0;" goto statement_identifier ;)) (if_statement "if (uVar11 == 3) {\n          uVar11 = *(uint *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n            break;\n          }\n        }\n        else {\n          if (uVar11 == 4) goto LAB_002751c0;\n          uVar10 = 0x10a;\n          if (uVar11 != 2) goto LAB_002751a8;\n          uVar11 = (uint)*(ushort *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            uVar14 = uVar11 ^ 0x8000;\n            uVar11 = uVar14 - 0x8000;\n            EVar23 = (uVar11 < uVar14) - 1;\n            break;\n          }\n        }" if (parenthesized_expression "(uVar11 == 3)" ( (binary_expression "uVar11 == 3" identifier == number_literal) )) (compound_statement "{\n          uVar11 = *(uint *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n            break;\n          }\n        }" { (expression_statement "uVar11 = *(uint *)pcVar30;" (assignment_expression "uVar11 = *(uint *)pcVar30" identifier = (pointer_expression "*(uint *)pcVar30" * (cast_expression "(uint *)pcVar30" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((uVar14 & 8) != 0) {\n            EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n            break;\n          }" if (parenthesized_expression "((uVar14 & 8) != 0)" ( (binary_expression "(uVar14 & 8) != 0" (parenthesized_expression "(uVar14 & 8)" ( (binary_expression "uVar14 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;\n            break;\n          }" { (expression_statement "EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1;" (assignment_expression "EVar23 = (uVar11 < (uVar11 ^ 0x80000000)) - 1" identifier = (binary_expression "(uVar11 < (uVar11 ^ 0x80000000)) - 1" (parenthesized_expression "(uVar11 < (uVar11 ^ 0x80000000))" ( (binary_expression "uVar11 < (uVar11 ^ 0x80000000)" identifier < (parenthesized_expression "(uVar11 ^ 0x80000000)" ( (binary_expression "uVar11 ^ 0x80000000" identifier ^ number_literal) ))) )) - number_literal)) ;) (break_statement "break;" break ;) })) }) (else_clause "else {\n          if (uVar11 == 4) goto LAB_002751c0;\n          uVar10 = 0x10a;\n          if (uVar11 != 2) goto LAB_002751a8;\n          uVar11 = (uint)*(ushort *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            uVar14 = uVar11 ^ 0x8000;\n            uVar11 = uVar14 - 0x8000;\n            EVar23 = (uVar11 < uVar14) - 1;\n            break;\n          }\n        }" else (compound_statement "{\n          if (uVar11 == 4) goto LAB_002751c0;\n          uVar10 = 0x10a;\n          if (uVar11 != 2) goto LAB_002751a8;\n          uVar11 = (uint)*(ushort *)pcVar30;\n          if ((uVar14 & 8) != 0) {\n            uVar14 = uVar11 ^ 0x8000;\n            uVar11 = uVar14 - 0x8000;\n            EVar23 = (uVar11 < uVar14) - 1;\n            break;\n          }\n        }" { (if_statement "if (uVar11 == 4) goto LAB_002751c0;" if (parenthesized_expression "(uVar11 == 4)" ( (binary_expression "uVar11 == 4" identifier == number_literal) )) (goto_statement "goto LAB_002751c0;" goto statement_identifier ;)) (expression_statement "uVar10 = 0x10a;" (assignment_expression "uVar10 = 0x10a" identifier = number_literal) ;) (if_statement "if (uVar11 != 2) goto LAB_002751a8;" if (parenthesized_expression "(uVar11 != 2)" ( (binary_expression "uVar11 != 2" identifier != number_literal) )) (goto_statement "goto LAB_002751a8;" goto statement_identifier ;)) (expression_statement "uVar11 = (uint)*(ushort *)pcVar30;" (assignment_expression "uVar11 = (uint)*(ushort *)pcVar30" identifier = (binary_expression "(uint)*(ushort *)pcVar30" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)pcVar30" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((uVar14 & 8) != 0) {\n            uVar14 = uVar11 ^ 0x8000;\n            uVar11 = uVar14 - 0x8000;\n            EVar23 = (uVar11 < uVar14) - 1;\n            break;\n          }" if (parenthesized_expression "((uVar14 & 8) != 0)" ( (binary_expression "(uVar14 & 8) != 0" (parenthesized_expression "(uVar14 & 8)" ( (binary_expression "uVar14 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar14 = uVar11 ^ 0x8000;\n            uVar11 = uVar14 - 0x8000;\n            EVar23 = (uVar11 < uVar14) - 1;\n            break;\n          }" { (expression_statement "uVar14 = uVar11 ^ 0x8000;" (assignment_expression "uVar14 = uVar11 ^ 0x8000" identifier = (binary_expression "uVar11 ^ 0x8000" identifier ^ number_literal)) ;) (expression_statement "uVar11 = uVar14 - 0x8000;" (assignment_expression "uVar11 = uVar14 - 0x8000" identifier = (binary_expression "uVar14 - 0x8000" identifier - number_literal)) ;) (expression_statement "EVar23 = (uVar11 < uVar14) - 1;" (assignment_expression "EVar23 = (uVar11 < uVar14) - 1" identifier = (binary_expression "(uVar11 < uVar14) - 1" (parenthesized_expression "(uVar11 < uVar14)" ( (binary_expression "uVar11 < uVar14" identifier < identifier) )) - number_literal)) ;) (break_statement "break;" break ;) })) }))) (expression_statement "EVar23 = 0;" (assignment_expression "EVar23 = 0" identifier = number_literal) ;) (break_statement "break;" break ;) })) (if_statement "if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;" if (parenthesized_expression "((bStackY_95 & 0x70) == 0)" ( (binary_expression "(bStackY_95 & 0x70) == 0" (parenthesized_expression "(bStackY_95 & 0x70)" ( (binary_expression "bStackY_95 & 0x70" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00275078;" goto statement_identifier ;)) (expression_statement "uVar10 = 0x11d;" (assignment_expression "uVar10 = 0x11d" identifier = number_literal) ;) }))) (labeled_statement "LAB_00274fdc:\n    iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fa4;" statement_identifier : (expression_statement "iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fa4;" (assignment_expression "iVar1 = *(int *)(pcVar30 + 0x1bd2f4) + 0x1fa4" identifier = (binary_expression "*(int *)(pcVar30 + 0x1bd2f4) + 0x1fa4" (pointer_expression "*(int *)(pcVar30 + 0x1bd2f4)" * (cast_expression "(int *)(pcVar30 + 0x1bd2f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x1bd2f4)" ( (binary_expression "pcVar30 + 0x1bd2f4" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "(**(code **)(pcVar30 + 0x1bd44c))(*(int *)(pcVar30 + 0x1bd2f4) + 0x1dc0,uVar10);" (call_expression "(**(code **)(pcVar30 + 0x1bd44c))(*(int *)(pcVar30 + 0x1bd2f4) + 0x1dc0,uVar10)" (parenthesized_expression "(**(code **)(pcVar30 + 0x1bd44c))" ( (pointer_expression "**(code **)(pcVar30 + 0x1bd44c)" * (pointer_expression "*(code **)(pcVar30 + 0x1bd44c)" * (cast_expression "(code **)(pcVar30 + 0x1bd44c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1bd44c)" ( (binary_expression "pcVar30 + 0x1bd44c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x1bd2f4) + 0x1dc0,uVar10)" ( (binary_expression "*(int *)(pcVar30 + 0x1bd2f4) + 0x1dc0" (pointer_expression "*(int *)(pcVar30 + 0x1bd2f4)" * (cast_expression "(int *)(pcVar30 + 0x1bd2f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x1bd2f4)" ( (binary_expression "pcVar30 + 0x1bd2f4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "pcVar25 = extraout_v1_00;" (assignment_expression "pcVar25 = extraout_v1_00" identifier = identifier) ;) (labeled_statement "LAB_00274ff4:\n    uVar11 = *(uint *)(pcVar25 + 4);" statement_identifier : (expression_statement "uVar11 = *(uint *)(pcVar25 + 4);" (assignment_expression "uVar11 = *(uint *)(pcVar25 + 4)" identifier = (pointer_expression "*(uint *)(pcVar25 + 4)" * (cast_expression "(uint *)(pcVar25 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 4)" ( (binary_expression "pcVar25 + 4" identifier + number_literal) ))))) ;)) (expression_statement "uVar18 = *(uint *)pcVar25;" (assignment_expression "uVar18 = *(uint *)pcVar25" identifier = (pointer_expression "*(uint *)pcVar25" * (cast_expression "(uint *)pcVar25" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "EVar23 = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;" (assignment_expression "EVar23 = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10)" ( (binary_expression "(uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10" (binary_expression "(uVar11 >> 0x10) << 0x18" (parenthesized_expression "(uVar11 >> 0x10)" ( (binary_expression "uVar11 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar11 >> 0x18) << 0x10" (parenthesized_expression "(uVar11 >> 0x18)" ( (binary_expression "uVar11 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff)" ( (binary_expression "(uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff" (binary_expression "(uVar11 & 0xff) << 8" (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar11 >> 8 & 0xff" (binary_expression "uVar11 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar11 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar11 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" ( (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" ( (binary_expression "uVar18 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" ( (binary_expression "uVar18 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" ( (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) (labeled_statement "LAB_002751d0:\n  uVar14 = uVar18 & 0x70;" statement_identifier : (expression_statement "uVar14 = uVar18 & 0x70;" (assignment_expression "uVar14 = uVar18 & 0x70" identifier = (binary_expression "uVar18 & 0x70" identifier & number_literal)) ;)) (if_statement "if (uVar14 == 0x10) {\n    uVar14 = uVar6 + 8;\n    uVar6 = (uint)(uVar14 + iStackY_c4 < uVar14) +\n            (uint)(uVar14 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    EVar23 = (uint)(uVar11 + uVar14 + iStackY_c4 < uVar11) + EVar23 + uVar6;\nLAB_00275238:\n    uVar18 = (uint)(char)uVar18;\n    uVar10 = 0x120;\n    if (-1 < (int)uVar18) {\n      return EVar23;\n    }\n  }\n  else {\n    if (uVar14 == 0x30) {\n      if (*(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar32 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50))();\n        EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar30 = *(code **)(pcVar25 + 0x1bd27c);\n      puVar17 = (undefined4 *)(*(int *)(pcVar25 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar25 + 0x1bd26c) + -0x5cec);\n      (*pcVar30)();\n      iVar27 = piVar2[1];\n      iVar20 = *piVar2;\n      iVar28 = iVar1 - iVar20;\n      uVar6 = iVar27 - iVar20 >> 2;\n      if (uVar6 == 0) {\n        uVar14 = 1;\nLAB_00275498:\n        iVar26 = uVar14 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar30 + 0x1bd044))(iVar26);\n        iVar26 = iVar4 + iVar26;\n      }\n      else {\n        uVar14 = uVar6 << 1;\n        if (uVar14 < uVar6) {\n          iVar26 = -4;\n          goto LAB_0027536c;\n        }\n        iVar26 = -4;\n        if (0x3fffffff < uVar14) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar14 != 0) goto LAB_00275498;\n        iVar26 = 0;\n      }\n      puVar3 = (undefined4 *)(iVar4 + iVar28);\n      iVar19 = iVar4 + iVar28 + 4;\n      *puVar3 = *puVar17;\n      iVar31 = iVar19 + (iVar27 - iVar1);\n      if (iVar20 == iVar1) {\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\n        if (iVar27 != iVar20) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar30 + 0x1c13e0))(iVar4,iVar20,iVar28);\n        if (iVar27 == iVar1) goto LAB_00275420;\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\nLAB_002753cc:\n        puVar3 = (undefined4 *)(*pcVar25)(iVar19,iVar1,iVar27 - iVar1);\n      }\n      if (iVar20 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar31;\n        piVar2[2] = iVar26;\n        return (Elf_Addr)puVar3;\n      }\nLAB_00275420:\n      EVar23 = (**(code **)(pcVar30 + 0x1bcf94))(iVar20);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar31;\n      piVar2[2] = iVar26;\n      return EVar23;\n    }\n    if (uVar14 == 0) goto LAB_00275238;\n    uVar10 = 0x11d;\n  }" if (parenthesized_expression "(uVar14 == 0x10)" ( (binary_expression "uVar14 == 0x10" identifier == number_literal) )) (compound_statement "{\n    uVar14 = uVar6 + 8;\n    uVar6 = (uint)(uVar14 + iStackY_c4 < uVar14) +\n            (uint)(uVar14 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    EVar23 = (uint)(uVar11 + uVar14 + iStackY_c4 < uVar11) + EVar23 + uVar6;\nLAB_00275238:\n    uVar18 = (uint)(char)uVar18;\n    uVar10 = 0x120;\n    if (-1 < (int)uVar18) {\n      return EVar23;\n    }\n  }" { (expression_statement "uVar14 = uVar6 + 8;" (assignment_expression "uVar14 = uVar6 + 8" identifier = (binary_expression "uVar6 + 8" identifier + number_literal)) ;) (expression_statement "uVar6 = (uint)(uVar14 + iStackY_c4 < uVar14) +\n            (uint)(uVar14 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);" (assignment_expression "uVar6 = (uint)(uVar14 + iStackY_c4 < uVar14) +\n            (uint)(uVar14 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f)" identifier = (binary_expression "(uint)(uVar14 + iStackY_c4 < uVar14) +\n            (uint)(uVar14 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f)" (binary_expression "(uint)(uVar14 + iStackY_c4 < uVar14) +\n            (uint)(uVar14 < uVar6) + iVar1" (binary_expression "(uint)(uVar14 + iStackY_c4 < uVar14) +\n            (uint)(uVar14 < uVar6)" (call_expression "(uint)(uVar14 + iStackY_c4 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 + iStackY_c4 < uVar14)" ( (binary_expression "uVar14 + iStackY_c4 < uVar14" (binary_expression "uVar14 + iStackY_c4" identifier + identifier) < identifier) ))) + (call_expression "(uint)(uVar14 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar6)" ( (binary_expression "uVar14 < uVar6" identifier < identifier) )))) + identifier) + (parenthesized_expression "(iStackY_c4 >> 0x1f)" ( (binary_expression "iStackY_c4 >> 0x1f" identifier >> number_literal) )))) ;) (expression_statement "EVar23 = (uint)(uVar11 + uVar14 + iStackY_c4 < uVar11) + EVar23 + uVar6;" (assignment_expression "EVar23 = (uint)(uVar11 + uVar14 + iStackY_c4 < uVar11) + EVar23 + uVar6" identifier = (binary_expression "(uint)(uVar11 + uVar14 + iStackY_c4 < uVar11) + EVar23 + uVar6" (binary_expression "(uint)(uVar11 + uVar14 + iStackY_c4 < uVar11) + EVar23" (call_expression "(uint)(uVar11 + uVar14 + iStackY_c4 < uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 + uVar14 + iStackY_c4 < uVar11)" ( (binary_expression "uVar11 + uVar14 + iStackY_c4 < uVar11" (binary_expression "uVar11 + uVar14 + iStackY_c4" (binary_expression "uVar11 + uVar14" identifier + identifier) + identifier) < identifier) ))) + identifier) + identifier)) ;) (labeled_statement "LAB_00275238:\n    uVar18 = (uint)(char)uVar18;" statement_identifier : (expression_statement "uVar18 = (uint)(char)uVar18;" (assignment_expression "uVar18 = (uint)(char)uVar18" identifier = (cast_expression "(uint)(char)uVar18" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar18" ( (type_descriptor "char" primitive_type) ) identifier))) ;)) (expression_statement "uVar10 = 0x120;" (assignment_expression "uVar10 = 0x120" identifier = number_literal) ;) (if_statement "if (-1 < (int)uVar18) {\n      return EVar23;\n    }" if (parenthesized_expression "(-1 < (int)uVar18)" ( (binary_expression "-1 < (int)uVar18" number_literal < (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      return EVar23;\n    }" { (return_statement "return EVar23;" return identifier ;) })) }) (else_clause "else {\n    if (uVar14 == 0x30) {\n      if (*(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar32 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50))();\n        EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar30 = *(code **)(pcVar25 + 0x1bd27c);\n      puVar17 = (undefined4 *)(*(int *)(pcVar25 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar25 + 0x1bd26c) + -0x5cec);\n      (*pcVar30)();\n      iVar27 = piVar2[1];\n      iVar20 = *piVar2;\n      iVar28 = iVar1 - iVar20;\n      uVar6 = iVar27 - iVar20 >> 2;\n      if (uVar6 == 0) {\n        uVar14 = 1;\nLAB_00275498:\n        iVar26 = uVar14 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar30 + 0x1bd044))(iVar26);\n        iVar26 = iVar4 + iVar26;\n      }\n      else {\n        uVar14 = uVar6 << 1;\n        if (uVar14 < uVar6) {\n          iVar26 = -4;\n          goto LAB_0027536c;\n        }\n        iVar26 = -4;\n        if (0x3fffffff < uVar14) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar14 != 0) goto LAB_00275498;\n        iVar26 = 0;\n      }\n      puVar3 = (undefined4 *)(iVar4 + iVar28);\n      iVar19 = iVar4 + iVar28 + 4;\n      *puVar3 = *puVar17;\n      iVar31 = iVar19 + (iVar27 - iVar1);\n      if (iVar20 == iVar1) {\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\n        if (iVar27 != iVar20) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar30 + 0x1c13e0))(iVar4,iVar20,iVar28);\n        if (iVar27 == iVar1) goto LAB_00275420;\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\nLAB_002753cc:\n        puVar3 = (undefined4 *)(*pcVar25)(iVar19,iVar1,iVar27 - iVar1);\n      }\n      if (iVar20 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar31;\n        piVar2[2] = iVar26;\n        return (Elf_Addr)puVar3;\n      }\nLAB_00275420:\n      EVar23 = (**(code **)(pcVar30 + 0x1bcf94))(iVar20);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar31;\n      piVar2[2] = iVar26;\n      return EVar23;\n    }\n    if (uVar14 == 0) goto LAB_00275238;\n    uVar10 = 0x11d;\n  }" else (compound_statement "{\n    if (uVar14 == 0x30) {\n      if (*(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar32 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50))();\n        EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar30 = *(code **)(pcVar25 + 0x1bd27c);\n      puVar17 = (undefined4 *)(*(int *)(pcVar25 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar25 + 0x1bd26c) + -0x5cec);\n      (*pcVar30)();\n      iVar27 = piVar2[1];\n      iVar20 = *piVar2;\n      iVar28 = iVar1 - iVar20;\n      uVar6 = iVar27 - iVar20 >> 2;\n      if (uVar6 == 0) {\n        uVar14 = 1;\nLAB_00275498:\n        iVar26 = uVar14 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar30 + 0x1bd044))(iVar26);\n        iVar26 = iVar4 + iVar26;\n      }\n      else {\n        uVar14 = uVar6 << 1;\n        if (uVar14 < uVar6) {\n          iVar26 = -4;\n          goto LAB_0027536c;\n        }\n        iVar26 = -4;\n        if (0x3fffffff < uVar14) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar14 != 0) goto LAB_00275498;\n        iVar26 = 0;\n      }\n      puVar3 = (undefined4 *)(iVar4 + iVar28);\n      iVar19 = iVar4 + iVar28 + 4;\n      *puVar3 = *puVar17;\n      iVar31 = iVar19 + (iVar27 - iVar1);\n      if (iVar20 == iVar1) {\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\n        if (iVar27 != iVar20) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar30 + 0x1c13e0))(iVar4,iVar20,iVar28);\n        if (iVar27 == iVar1) goto LAB_00275420;\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\nLAB_002753cc:\n        puVar3 = (undefined4 *)(*pcVar25)(iVar19,iVar1,iVar27 - iVar1);\n      }\n      if (iVar20 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar31;\n        piVar2[2] = iVar26;\n        return (Elf_Addr)puVar3;\n      }\nLAB_00275420:\n      EVar23 = (**(code **)(pcVar30 + 0x1bcf94))(iVar20);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar31;\n      piVar2[2] = iVar26;\n      return EVar23;\n    }\n    if (uVar14 == 0) goto LAB_00275238;\n    uVar10 = 0x11d;\n  }" { (if_statement "if (uVar14 == 0x30) {\n      if (*(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar32 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50))();\n        EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar30 = *(code **)(pcVar25 + 0x1bd27c);\n      puVar17 = (undefined4 *)(*(int *)(pcVar25 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar25 + 0x1bd26c) + -0x5cec);\n      (*pcVar30)();\n      iVar27 = piVar2[1];\n      iVar20 = *piVar2;\n      iVar28 = iVar1 - iVar20;\n      uVar6 = iVar27 - iVar20 >> 2;\n      if (uVar6 == 0) {\n        uVar14 = 1;\nLAB_00275498:\n        iVar26 = uVar14 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar30 + 0x1bd044))(iVar26);\n        iVar26 = iVar4 + iVar26;\n      }\n      else {\n        uVar14 = uVar6 << 1;\n        if (uVar14 < uVar6) {\n          iVar26 = -4;\n          goto LAB_0027536c;\n        }\n        iVar26 = -4;\n        if (0x3fffffff < uVar14) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar14 != 0) goto LAB_00275498;\n        iVar26 = 0;\n      }\n      puVar3 = (undefined4 *)(iVar4 + iVar28);\n      iVar19 = iVar4 + iVar28 + 4;\n      *puVar3 = *puVar17;\n      iVar31 = iVar19 + (iVar27 - iVar1);\n      if (iVar20 == iVar1) {\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\n        if (iVar27 != iVar20) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar30 + 0x1c13e0))(iVar4,iVar20,iVar28);\n        if (iVar27 == iVar1) goto LAB_00275420;\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\nLAB_002753cc:\n        puVar3 = (undefined4 *)(*pcVar25)(iVar19,iVar1,iVar27 - iVar1);\n      }\n      if (iVar20 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar31;\n        piVar2[2] = iVar26;\n        return (Elf_Addr)puVar3;\n      }\nLAB_00275420:\n      EVar23 = (**(code **)(pcVar30 + 0x1bcf94))(iVar20);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar31;\n      piVar2[2] = iVar26;\n      return EVar23;\n    }" if (parenthesized_expression "(uVar14 == 0x30)" ( (binary_expression "uVar14 == 0x30" identifier == number_literal) )) (compound_statement "{\n      if (*(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar32 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50))();\n        EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar30 = *(code **)(pcVar25 + 0x1bd27c);\n      puVar17 = (undefined4 *)(*(int *)(pcVar25 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar25 + 0x1bd26c) + -0x5cec);\n      (*pcVar30)();\n      iVar27 = piVar2[1];\n      iVar20 = *piVar2;\n      iVar28 = iVar1 - iVar20;\n      uVar6 = iVar27 - iVar20 >> 2;\n      if (uVar6 == 0) {\n        uVar14 = 1;\nLAB_00275498:\n        iVar26 = uVar14 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar30 + 0x1bd044))(iVar26);\n        iVar26 = iVar4 + iVar26;\n      }\n      else {\n        uVar14 = uVar6 << 1;\n        if (uVar14 < uVar6) {\n          iVar26 = -4;\n          goto LAB_0027536c;\n        }\n        iVar26 = -4;\n        if (0x3fffffff < uVar14) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar14 != 0) goto LAB_00275498;\n        iVar26 = 0;\n      }\n      puVar3 = (undefined4 *)(iVar4 + iVar28);\n      iVar19 = iVar4 + iVar28 + 4;\n      *puVar3 = *puVar17;\n      iVar31 = iVar19 + (iVar27 - iVar1);\n      if (iVar20 == iVar1) {\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\n        if (iVar27 != iVar20) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar30 + 0x1c13e0))(iVar4,iVar20,iVar28);\n        if (iVar27 == iVar1) goto LAB_00275420;\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\nLAB_002753cc:\n        puVar3 = (undefined4 *)(*pcVar25)(iVar19,iVar1,iVar27 - iVar1);\n      }\n      if (iVar20 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar31;\n        piVar2[2] = iVar26;\n        return (Elf_Addr)puVar3;\n      }\nLAB_00275420:\n      EVar23 = (**(code **)(pcVar30 + 0x1bcf94))(iVar20);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar31;\n      piVar2[2] = iVar26;\n      return EVar23;\n    }" { (if_statement "if (*(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar32 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50))();\n        EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n        goto LAB_00275238;\n      }" if (parenthesized_expression "(*(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) != (int *)0x0)" ( (binary_expression "*(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) != (int *)0x0" (pointer_expression "*(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar25 + 0x1bda98) + 0xc)" ( (binary_expression "**(int **)(pcVar25 + 0x1bda98) + 0xc" (pointer_expression "**(int **)(pcVar25 + 0x1bda98)" * (pointer_expression "*(int **)(pcVar25 + 0x1bda98)" * (cast_expression "(int **)(pcVar25 + 0x1bda98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bda98)" ( (binary_expression "pcVar25 + 0x1bda98" identifier + number_literal) ))))) + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        lVar32 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50))();\n        EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);\n        goto LAB_00275238;\n      }" { (expression_statement "lVar32 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50))();" (assignment_expression "lVar32 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50))()" identifier = (call_expression "(**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50)" ( (binary_expression "**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc)" * (pointer_expression "*(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar25 + 0x1bda98) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar25 + 0x1bda98) + 0xc)" ( (binary_expression "**(int **)(pcVar25 + 0x1bda98) + 0xc" (pointer_expression "**(int **)(pcVar25 + 0x1bda98)" * (pointer_expression "*(int **)(pcVar25 + 0x1bda98)" * (cast_expression "(int **)(pcVar25 + 0x1bda98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bda98)" ( (binary_expression "pcVar25 + 0x1bda98" identifier + number_literal) ))))) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20);" (assignment_expression "EVar23 = (Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20)" identifier = (call_expression "(Elf_Addr)((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20)" (parenthesized_expression "(Elf_Addr)" ( identifier )) (argument_list "((ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20)" ( (binary_expression "(ulonglong)(lVar32 + CONCAT44(EVar23,uVar11)) >> 0x20" (call_expression "(ulonglong)(lVar32 + CONCAT44(EVar23,uVar11))" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar32 + CONCAT44(EVar23,uVar11))" ( (binary_expression "lVar32 + CONCAT44(EVar23,uVar11)" identifier + (call_expression "CONCAT44(EVar23,uVar11)" identifier (argument_list "(EVar23,uVar11)" ( identifier , identifier )))) ))) >> number_literal) )))) ;) (goto_statement "goto LAB_00275238;" goto statement_identifier ;) })) (expression_statement "iVar1 = 0x69;" (assignment_expression "iVar1 = 0x69" identifier = number_literal) ;) (expression_statement "pcVar30 = *(code **)(pcVar25 + 0x1bd27c);" (assignment_expression "pcVar30 = *(code **)(pcVar25 + 0x1bd27c)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x1bd27c)" * (cast_expression "(code **)(pcVar25 + 0x1bd27c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bd27c)" ( (binary_expression "pcVar25 + 0x1bd27c" identifier + number_literal) ))))) ;) (expression_statement "puVar17 = (undefined4 *)(*(int *)(pcVar25 + 0x1bd124) + 0x1fe4);" (assignment_expression "puVar17 = (undefined4 *)(*(int *)(pcVar25 + 0x1bd124) + 0x1fe4)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar25 + 0x1bd124) + 0x1fe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x1bd124) + 0x1fe4)" ( (binary_expression "*(int *)(pcVar25 + 0x1bd124) + 0x1fe4" (pointer_expression "*(int *)(pcVar25 + 0x1bd124)" * (cast_expression "(int *)(pcVar25 + 0x1bd124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x1bd124)" ( (binary_expression "pcVar25 + 0x1bd124" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar2 = (int *)(*(int *)(pcVar25 + 0x1bd26c) + -0x5cec);" (assignment_expression "piVar2 = (int *)(*(int *)(pcVar25 + 0x1bd26c) + -0x5cec)" identifier = (cast_expression "(int *)(*(int *)(pcVar25 + 0x1bd26c) + -0x5cec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x1bd26c) + -0x5cec)" ( (binary_expression "*(int *)(pcVar25 + 0x1bd26c) + -0x5cec" (pointer_expression "*(int *)(pcVar25 + 0x1bd26c)" * (cast_expression "(int *)(pcVar25 + 0x1bd26c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x1bd26c)" ( (binary_expression "pcVar25 + 0x1bd26c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar30)();" (call_expression "(*pcVar30)()" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar27 = piVar2[1];" (assignment_expression "iVar27 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (expression_statement "iVar20 = *piVar2;" (assignment_expression "iVar20 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "iVar28 = iVar1 - iVar20;" (assignment_expression "iVar28 = iVar1 - iVar20" identifier = (binary_expression "iVar1 - iVar20" identifier - identifier)) ;) (expression_statement "uVar6 = iVar27 - iVar20 >> 2;" (assignment_expression "uVar6 = iVar27 - iVar20 >> 2" identifier = (binary_expression "iVar27 - iVar20 >> 2" (binary_expression "iVar27 - iVar20" identifier - identifier) >> number_literal)) ;) (if_statement "if (uVar6 == 0) {\n        uVar14 = 1;\nLAB_00275498:\n        iVar26 = uVar14 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar30 + 0x1bd044))(iVar26);\n        iVar26 = iVar4 + iVar26;\n      }\n      else {\n        uVar14 = uVar6 << 1;\n        if (uVar14 < uVar6) {\n          iVar26 = -4;\n          goto LAB_0027536c;\n        }\n        iVar26 = -4;\n        if (0x3fffffff < uVar14) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar14 != 0) goto LAB_00275498;\n        iVar26 = 0;\n      }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar14 = 1;\nLAB_00275498:\n        iVar26 = uVar14 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar30 + 0x1bd044))(iVar26);\n        iVar26 = iVar4 + iVar26;\n      }" { (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00275498:\n        iVar26 = uVar14 << 2;" statement_identifier : (expression_statement "iVar26 = uVar14 << 2;" (assignment_expression "iVar26 = uVar14 << 2" identifier = (binary_expression "uVar14 << 2" identifier << number_literal)) ;)) (labeled_statement "LAB_0027536c:\n        iVar4 = (**(code **)(pcVar30 + 0x1bd044))(iVar26);" statement_identifier : (expression_statement "iVar4 = (**(code **)(pcVar30 + 0x1bd044))(iVar26);" (assignment_expression "iVar4 = (**(code **)(pcVar30 + 0x1bd044))(iVar26)" identifier = (call_expression "(**(code **)(pcVar30 + 0x1bd044))(iVar26)" (parenthesized_expression "(**(code **)(pcVar30 + 0x1bd044))" ( (pointer_expression "**(code **)(pcVar30 + 0x1bd044)" * (pointer_expression "*(code **)(pcVar30 + 0x1bd044)" * (cast_expression "(code **)(pcVar30 + 0x1bd044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1bd044)" ( (binary_expression "pcVar30 + 0x1bd044" identifier + number_literal) ))))) )) (argument_list "(iVar26)" ( identifier )))) ;)) (expression_statement "iVar26 = iVar4 + iVar26;" (assignment_expression "iVar26 = iVar4 + iVar26" identifier = (binary_expression "iVar4 + iVar26" identifier + identifier)) ;) }) (else_clause "else {\n        uVar14 = uVar6 << 1;\n        if (uVar14 < uVar6) {\n          iVar26 = -4;\n          goto LAB_0027536c;\n        }\n        iVar26 = -4;\n        if (0x3fffffff < uVar14) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar14 != 0) goto LAB_00275498;\n        iVar26 = 0;\n      }" else (compound_statement "{\n        uVar14 = uVar6 << 1;\n        if (uVar14 < uVar6) {\n          iVar26 = -4;\n          goto LAB_0027536c;\n        }\n        iVar26 = -4;\n        if (0x3fffffff < uVar14) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar14 != 0) goto LAB_00275498;\n        iVar26 = 0;\n      }" { (expression_statement "uVar14 = uVar6 << 1;" (assignment_expression "uVar14 = uVar6 << 1" identifier = (binary_expression "uVar6 << 1" identifier << number_literal)) ;) (if_statement "if (uVar14 < uVar6) {\n          iVar26 = -4;\n          goto LAB_0027536c;\n        }" if (parenthesized_expression "(uVar14 < uVar6)" ( (binary_expression "uVar14 < uVar6" identifier < identifier) )) (compound_statement "{\n          iVar26 = -4;\n          goto LAB_0027536c;\n        }" { (expression_statement "iVar26 = -4;" (assignment_expression "iVar26 = -4" identifier = number_literal) ;) (goto_statement "goto LAB_0027536c;" goto statement_identifier ;) })) (expression_statement "iVar26 = -4;" (assignment_expression "iVar26 = -4" identifier = number_literal) ;) (if_statement "if (0x3fffffff < uVar14) goto LAB_0027536c;" if (parenthesized_expression "(0x3fffffff < uVar14)" ( (binary_expression "0x3fffffff < uVar14" number_literal < identifier) )) (goto_statement "goto LAB_0027536c;" goto statement_identifier ;)) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (if_statement "if (uVar14 != 0) goto LAB_00275498;" if (parenthesized_expression "(uVar14 != 0)" ( (binary_expression "uVar14 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00275498;" goto statement_identifier ;)) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" identifier = number_literal) ;) }))) (expression_statement "puVar3 = (undefined4 *)(iVar4 + iVar28);" (assignment_expression "puVar3 = (undefined4 *)(iVar4 + iVar28)" identifier = (cast_expression "(undefined4 *)(iVar4 + iVar28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar28)" ( (binary_expression "iVar4 + iVar28" identifier + identifier) )))) ;) (expression_statement "iVar19 = iVar4 + iVar28 + 4;" (assignment_expression "iVar19 = iVar4 + iVar28 + 4" identifier = (binary_expression "iVar4 + iVar28 + 4" (binary_expression "iVar4 + iVar28" identifier + identifier) + number_literal)) ;) (expression_statement "*puVar3 = *puVar17;" (assignment_expression "*puVar3 = *puVar17" (pointer_expression "*puVar3" * identifier) = (pointer_expression "*puVar17" * identifier)) ;) (expression_statement "iVar31 = iVar19 + (iVar27 - iVar1);" (assignment_expression "iVar31 = iVar19 + (iVar27 - iVar1)" identifier = (binary_expression "iVar19 + (iVar27 - iVar1)" identifier + (parenthesized_expression "(iVar27 - iVar1)" ( (binary_expression "iVar27 - iVar1" identifier - identifier) )))) ;) (if_statement "if (iVar20 == iVar1) {\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\n        if (iVar27 != iVar20) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar30 + 0x1c13e0))(iVar4,iVar20,iVar28);\n        if (iVar27 == iVar1) goto LAB_00275420;\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\nLAB_002753cc:\n        puVar3 = (undefined4 *)(*pcVar25)(iVar19,iVar1,iVar27 - iVar1);\n      }" if (parenthesized_expression "(iVar20 == iVar1)" ( (binary_expression "iVar20 == iVar1" identifier == identifier) )) (compound_statement "{\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\n        if (iVar27 != iVar20) goto LAB_002753cc;\n      }" { (expression_statement "pcVar25 = *(code **)(pcVar30 + 0x1c1490);" (assignment_expression "pcVar25 = *(code **)(pcVar30 + 0x1c1490)" identifier = (pointer_expression "*(code **)(pcVar30 + 0x1c1490)" * (cast_expression "(code **)(pcVar30 + 0x1c1490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1c1490)" ( (binary_expression "pcVar30 + 0x1c1490" identifier + number_literal) ))))) ;) (if_statement "if (iVar27 != iVar20) goto LAB_002753cc;" if (parenthesized_expression "(iVar27 != iVar20)" ( (binary_expression "iVar27 != iVar20" identifier != identifier) )) (goto_statement "goto LAB_002753cc;" goto statement_identifier ;)) }) (else_clause "else {\n        (**(code **)(pcVar30 + 0x1c13e0))(iVar4,iVar20,iVar28);\n        if (iVar27 == iVar1) goto LAB_00275420;\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\nLAB_002753cc:\n        puVar3 = (undefined4 *)(*pcVar25)(iVar19,iVar1,iVar27 - iVar1);\n      }" else (compound_statement "{\n        (**(code **)(pcVar30 + 0x1c13e0))(iVar4,iVar20,iVar28);\n        if (iVar27 == iVar1) goto LAB_00275420;\n        pcVar25 = *(code **)(pcVar30 + 0x1c1490);\nLAB_002753cc:\n        puVar3 = (undefined4 *)(*pcVar25)(iVar19,iVar1,iVar27 - iVar1);\n      }" { (expression_statement "(**(code **)(pcVar30 + 0x1c13e0))(iVar4,iVar20,iVar28);" (call_expression "(**(code **)(pcVar30 + 0x1c13e0))(iVar4,iVar20,iVar28)" (parenthesized_expression "(**(code **)(pcVar30 + 0x1c13e0))" ( (pointer_expression "**(code **)(pcVar30 + 0x1c13e0)" * (pointer_expression "*(code **)(pcVar30 + 0x1c13e0)" * (cast_expression "(code **)(pcVar30 + 0x1c13e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1c13e0)" ( (binary_expression "pcVar30 + 0x1c13e0" identifier + number_literal) ))))) )) (argument_list "(iVar4,iVar20,iVar28)" ( identifier , identifier , identifier ))) ;) (if_statement "if (iVar27 == iVar1) goto LAB_00275420;" if (parenthesized_expression "(iVar27 == iVar1)" ( (binary_expression "iVar27 == iVar1" identifier == identifier) )) (goto_statement "goto LAB_00275420;" goto statement_identifier ;)) (expression_statement "pcVar25 = *(code **)(pcVar30 + 0x1c1490);" (assignment_expression "pcVar25 = *(code **)(pcVar30 + 0x1c1490)" identifier = (pointer_expression "*(code **)(pcVar30 + 0x1c1490)" * (cast_expression "(code **)(pcVar30 + 0x1c1490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1c1490)" ( (binary_expression "pcVar30 + 0x1c1490" identifier + number_literal) ))))) ;) (labeled_statement "LAB_002753cc:\n        puVar3 = (undefined4 *)(*pcVar25)(iVar19,iVar1,iVar27 - iVar1);" statement_identifier : (expression_statement "puVar3 = (undefined4 *)(*pcVar25)(iVar19,iVar1,iVar27 - iVar1);" (assignment_expression "puVar3 = (undefined4 *)(*pcVar25)(iVar19,iVar1,iVar27 - iVar1)" identifier = (cast_expression "(undefined4 *)(*pcVar25)(iVar19,iVar1,iVar27 - iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar25)(iVar19,iVar1,iVar27 - iVar1)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar19,iVar1,iVar27 - iVar1)" ( identifier , identifier , (binary_expression "iVar27 - iVar1" identifier - identifier) ))))) ;)) }))) (if_statement "if (iVar20 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar31;\n        piVar2[2] = iVar26;\n        return (Elf_Addr)puVar3;\n      }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n        *piVar2 = iVar4;\n        piVar2[1] = iVar31;\n        piVar2[2] = iVar26;\n        return (Elf_Addr)puVar3;\n      }" { (expression_statement "*piVar2 = iVar4;" (assignment_expression "*piVar2 = iVar4" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "piVar2[1] = iVar31;" (assignment_expression "piVar2[1] = iVar31" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[2] = iVar26;" (assignment_expression "piVar2[2] = iVar26" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = identifier) ;) (return_statement "return (Elf_Addr)puVar3;" return (cast_expression "(Elf_Addr)puVar3" ( (type_descriptor "Elf_Addr" type_identifier) ) identifier) ;) })) (labeled_statement "LAB_00275420:\n      EVar23 = (**(code **)(pcVar30 + 0x1bcf94))(iVar20);" statement_identifier : (expression_statement "EVar23 = (**(code **)(pcVar30 + 0x1bcf94))(iVar20);" (assignment_expression "EVar23 = (**(code **)(pcVar30 + 0x1bcf94))(iVar20)" identifier = (call_expression "(**(code **)(pcVar30 + 0x1bcf94))(iVar20)" (parenthesized_expression "(**(code **)(pcVar30 + 0x1bcf94))" ( (pointer_expression "**(code **)(pcVar30 + 0x1bcf94)" * (pointer_expression "*(code **)(pcVar30 + 0x1bcf94)" * (cast_expression "(code **)(pcVar30 + 0x1bcf94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1bcf94)" ( (binary_expression "pcVar30 + 0x1bcf94" identifier + number_literal) ))))) )) (argument_list "(iVar20)" ( identifier )))) ;)) (expression_statement "*piVar2 = iVar4;" (assignment_expression "*piVar2 = iVar4" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "piVar2[1] = iVar31;" (assignment_expression "piVar2[1] = iVar31" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[2] = iVar26;" (assignment_expression "piVar2[2] = iVar26" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = identifier) ;) (return_statement "return EVar23;" return identifier ;) })) (if_statement "if (uVar14 == 0) goto LAB_00275238;" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00275238;" goto statement_identifier ;)) (expression_statement "uVar10 = 0x11d;" (assignment_expression "uVar10 = 0x11d" identifier = number_literal) ;) }))) (labeled_statement "LAB_002751a8:\n  iVar1 = *(int *)(pcVar25 + 0x1bd124) + 0x1f88;" statement_identifier : (expression_statement "iVar1 = *(int *)(pcVar25 + 0x1bd124) + 0x1f88;" (assignment_expression "iVar1 = *(int *)(pcVar25 + 0x1bd124) + 0x1f88" identifier = (binary_expression "*(int *)(pcVar25 + 0x1bd124) + 0x1f88" (pointer_expression "*(int *)(pcVar25 + 0x1bd124)" * (cast_expression "(int *)(pcVar25 + 0x1bd124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x1bd124)" ( (binary_expression "pcVar25 + 0x1bd124" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "pcVar30 = (code *)(*(int *)(pcVar25 + 0x1bd124) + 0x1dc0);" (assignment_expression "pcVar30 = (code *)(*(int *)(pcVar25 + 0x1bd124) + 0x1dc0)" identifier = (cast_expression "(code *)(*(int *)(pcVar25 + 0x1bd124) + 0x1dc0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x1bd124) + 0x1dc0)" ( (binary_expression "*(int *)(pcVar25 + 0x1bd124) + 0x1dc0" (pointer_expression "*(int *)(pcVar25 + 0x1bd124)" * (cast_expression "(int *)(pcVar25 + 0x1bd124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x1bd124)" ( (binary_expression "pcVar25 + 0x1bd124" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar25 + 0x1bd27c))(pcVar30,uVar10);" (call_expression "(**(code **)(pcVar25 + 0x1bd27c))(pcVar30,uVar10)" (parenthesized_expression "(**(code **)(pcVar25 + 0x1bd27c))" ( (pointer_expression "**(code **)(pcVar25 + 0x1bd27c)" * (pointer_expression "*(code **)(pcVar25 + 0x1bd27c)" * (cast_expression "(code **)(pcVar25 + 0x1bd27c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bd27c)" ( (binary_expression "pcVar25 + 0x1bd27c" identifier + number_literal) ))))) )) (argument_list "(pcVar30,uVar10)" ( identifier , identifier ))) ;) (expression_statement "iStackY_c4 = extraout_v1_01;" (assignment_expression "iStackY_c4 = extraout_v1_01" identifier = identifier) ;) (labeled_statement "LAB_002751c0:\n  uVar11 = *(uint *)(pcVar30 + 4);" statement_identifier : (expression_statement "uVar11 = *(uint *)(pcVar30 + 4);" (assignment_expression "uVar11 = *(uint *)(pcVar30 + 4)" identifier = (pointer_expression "*(uint *)(pcVar30 + 4)" * (cast_expression "(uint *)(pcVar30 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 4)" ( (binary_expression "pcVar30 + 4" identifier + number_literal) ))))) ;)) (expression_statement "EVar23 = *(Elf_Addr *)pcVar30;" (assignment_expression "EVar23 = *(Elf_Addr *)pcVar30" identifier = (pointer_expression "*(Elf_Addr *)pcVar30" * (cast_expression "(Elf_Addr *)pcVar30" ( (type_descriptor "Elf_Addr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (goto_statement "goto LAB_002751d0;" goto statement_identifier ;) (ERROR "}" }))
(translation_unit "int * __thiscall\ngold::Eh_frame_hdr::get_fde_pc<32,true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int extraout_v1;\n  int iVar7;\n  code *extraout_v1_00;\n  int extraout_v1_01;\n  undefined *puVar8;\n  int iVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined4 *puVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  int *unaff_s1;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  int *piVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  int iVar26;\n  longlong lVar27;\n  int iStackY_c4;\n  int iStackY_9c;\n  byte bStackY_95;\n  undefined4 uStack_58;\n  int iStack_54;\n  uint uStack_50;\n  int *piStack_4c;\n  \n  uVar16 = (uint)param_5;\n  uVar6 = uVar16 & 7;\n  puVar14 = (uint *)(param_3 + param_4 + 8);\n  if (((param_5 & 7) == 0) || (uVar6 == 3)) {\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }\n  else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }\n  while( true ) {\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }\n  iVar12 = 0x69;\n  puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4);\n  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n  puVar24 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  iVar7 = *(int *)(puVar8 + 0x30);\n  iVar1 = *(int *)(iVar7 + 0x20);\n  uVar6 = param_4;\n  uStack_50 = uVar16;\n  piStack_4c = unaff_s1;\n  if (iVar1 < 0) {\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }\n  uVar13 = 0xc5;\n  pcVar23 = *(code **)(puVar24 + 0x1bd740);\n  iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc;\n  puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0);\n  (*pcVar23)(puVar14,0xc5,iVar1);\n  if (uVar13 < 0x10000000) {\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }\n  pcVar25 = *(code **)(pcVar23 + 0x1bd64c);\n  (*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864);\n  bVar5 = bStackY_95 & 7;\n  pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4;\n  if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;\n  if (bVar5 == 3) {\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }\n  else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }\n  piVar2 = (int *)0x0;\nLAB_00275014:\n  do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );\nLAB_002751d0:\n  uVar16 = uVar17 & 0x70;\n  if (uVar16 == 0x10) {\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }\n  else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }\nLAB_002751a8:\n  iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;\n  pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0);\n  (**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1);\n  iStackY_c4 = extraout_v1_01;\nLAB_002751c0:\n  uVar13 = *(uint *)(pcVar25 + 4);\n  piVar2 = *(int **)pcVar25;\n  goto LAB_002751d0;\n}\n\n" (declaration "int * __thiscall" primitive_type (pointer_declarator "* __thiscall" * identifier) ;) (labeled_statement "gold::Eh_frame_hdr::get_fde_pc<32,true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int extraout_v1;\n  int iVar7;\n  code *extraout_v1_00;\n  int extraout_v1_01;\n  undefined *puVar8;\n  int iVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined4 *puVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  int *unaff_s1;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  int *piVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  int iVar26;\n  longlong lVar27;\n  int iStackY_c4;\n  int iStackY_9c;\n  byte bStackY_95;\n  undefined4 uStack_58;\n  int iStack_54;\n  uint uStack_50;\n  int *piStack_4c;\n  \n  uVar16 = (uint)param_5;\n  uVar6 = uVar16 & 7;\n  puVar14 = (uint *)(param_3 + param_4 + 8);\n  if (((param_5 & 7) == 0) || (uVar6 == 3)) {\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }\n  else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }\n  while( true ) {\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }\n  iVar12 = 0x69;\n  puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4);\n  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n  puVar24 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  iVar7 = *(int *)(puVar8 + 0x30);\n  iVar1 = *(int *)(iVar7 + 0x20);\n  uVar6 = param_4;\n  uStack_50 = uVar16;\n  piStack_4c = unaff_s1;\n  if (iVar1 < 0) {\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }\n  uVar13 = 0xc5;\n  pcVar23 = *(code **)(puVar24 + 0x1bd740);\n  iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc;\n  puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0);\n  (*pcVar23)(puVar14,0xc5,iVar1);\n  if (uVar13 < 0x10000000) {\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }\n  pcVar25 = *(code **)(pcVar23 + 0x1bd64c);\n  (*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864);\n  bVar5 = bStackY_95 & 7;\n  pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4;\n  if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;\n  if (bVar5 == 3) {\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }\n  else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }\n  piVar2 = (int *)0x0;\nLAB_00275014:\n  do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );\nLAB_002751d0:\n  uVar16 = uVar17 & 0x70;\n  if (uVar16 == 0x10) {\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }\n  else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }\nLAB_002751a8:\n  iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;\n  pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0);\n  (**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1);\n  iStackY_c4 = extraout_v1_01;\nLAB_002751c0:\n  uVar13 = *(uint *)(pcVar25 + 4);\n  piVar2 = *(int **)pcVar25;\n  goto LAB_002751d0;\n}" statement_identifier : (ERROR ":" :) (labeled_statement "Eh_frame_hdr::get_fde_pc<32,true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int extraout_v1;\n  int iVar7;\n  code *extraout_v1_00;\n  int extraout_v1_01;\n  undefined *puVar8;\n  int iVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined4 *puVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  int *unaff_s1;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  int *piVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  int iVar26;\n  longlong lVar27;\n  int iStackY_c4;\n  int iStackY_9c;\n  byte bStackY_95;\n  undefined4 uStack_58;\n  int iStack_54;\n  uint uStack_50;\n  int *piStack_4c;\n  \n  uVar16 = (uint)param_5;\n  uVar6 = uVar16 & 7;\n  puVar14 = (uint *)(param_3 + param_4 + 8);\n  if (((param_5 & 7) == 0) || (uVar6 == 3)) {\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }\n  else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }\n  while( true ) {\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }\n  iVar12 = 0x69;\n  puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4);\n  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n  puVar24 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  iVar7 = *(int *)(puVar8 + 0x30);\n  iVar1 = *(int *)(iVar7 + 0x20);\n  uVar6 = param_4;\n  uStack_50 = uVar16;\n  piStack_4c = unaff_s1;\n  if (iVar1 < 0) {\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }\n  uVar13 = 0xc5;\n  pcVar23 = *(code **)(puVar24 + 0x1bd740);\n  iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc;\n  puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0);\n  (*pcVar23)(puVar14,0xc5,iVar1);\n  if (uVar13 < 0x10000000) {\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }\n  pcVar25 = *(code **)(pcVar23 + 0x1bd64c);\n  (*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864);\n  bVar5 = bStackY_95 & 7;\n  pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4;\n  if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;\n  if (bVar5 == 3) {\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }\n  else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }\n  piVar2 = (int *)0x0;\nLAB_00275014:\n  do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );\nLAB_002751d0:\n  uVar16 = uVar17 & 0x70;\n  if (uVar16 == 0x10) {\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }\n  else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }\nLAB_002751a8:\n  iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;\n  pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0);\n  (**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1);\n  iStackY_c4 = extraout_v1_01;\nLAB_002751c0:\n  uVar13 = *(uint *)(pcVar25 + 4);\n  piVar2 = *(int **)pcVar25;\n  goto LAB_002751d0;\n}" statement_identifier : (ERROR ":get_fde_pc<32,true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)" : (comma_expression "get_fde_pc<32,true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)" (binary_expression "get_fde_pc<32" identifier < number_literal) , (binary_expression "true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)" true > (parenthesized_expression "(undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)" ( (comma_expression "undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5" identifier (ERROR "param_1" identifier) , (ERROR "int" identifier) (comma_expression "param_2,int param_3,uint param_4,byte param_5" identifier , (ERROR "int" identifier) (comma_expression "param_3,uint param_4,byte param_5" identifier , (ERROR "uint" identifier) (comma_expression "param_4,byte param_5" identifier , (ERROR "byte" identifier) identifier)))) ))))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int extraout_v1;\n  int iVar7;\n  code *extraout_v1_00;\n  int extraout_v1_01;\n  undefined *puVar8;\n  int iVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined4 *puVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  int *unaff_s1;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  int *piVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  int iVar26;\n  longlong lVar27;\n  int iStackY_c4;\n  int iStackY_9c;\n  byte bStackY_95;\n  undefined4 uStack_58;\n  int iStack_54;\n  uint uStack_50;\n  int *piStack_4c;\n  \n  uVar16 = (uint)param_5;\n  uVar6 = uVar16 & 7;\n  puVar14 = (uint *)(param_3 + param_4 + 8);\n  if (((param_5 & 7) == 0) || (uVar6 == 3)) {\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }\n  else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }\n  while( true ) {\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }\n  iVar12 = 0x69;\n  puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4);\n  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n  puVar24 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  iVar7 = *(int *)(puVar8 + 0x30);\n  iVar1 = *(int *)(iVar7 + 0x20);\n  uVar6 = param_4;\n  uStack_50 = uVar16;\n  piStack_4c = unaff_s1;\n  if (iVar1 < 0) {\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }\n  uVar13 = 0xc5;\n  pcVar23 = *(code **)(puVar24 + 0x1bd740);\n  iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc;\n  puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0);\n  (*pcVar23)(puVar14,0xc5,iVar1);\n  if (uVar13 < 0x10000000) {\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }\n  pcVar25 = *(code **)(pcVar23 + 0x1bd64c);\n  (*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864);\n  bVar5 = bStackY_95 & 7;\n  pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4;\n  if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;\n  if (bVar5 == 3) {\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }\n  else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }\n  piVar2 = (int *)0x0;\nLAB_00275014:\n  do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );\nLAB_002751d0:\n  uVar16 = uVar17 & 0x70;\n  if (uVar16 == 0x10) {\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }\n  else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }\nLAB_002751a8:\n  iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;\n  pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0);\n  (**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1);\n  iStackY_c4 = extraout_v1_01;\nLAB_002751c0:\n  uVar13 = *(uint *)(pcVar25 + 4);\n  piVar2 = *(int **)pcVar25;\n  goto LAB_002751d0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "code *extraout_v1_00;" type_identifier (pointer_declarator "*extraout_v1_00" * identifier) ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int *unaff_s1;" primitive_type (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "longlong lVar27;" type_identifier identifier ;) (declaration "int iStackY_c4;" primitive_type identifier ;) (declaration "int iStackY_9c;" primitive_type identifier ;) (declaration "byte bStackY_95;" type_identifier identifier ;) (declaration "undefined4 uStack_58;" type_identifier identifier ;) (declaration "int iStack_54;" primitive_type identifier ;) (declaration "uint uStack_50;" type_identifier identifier ;) (declaration "int *piStack_4c;" primitive_type (pointer_declarator "*piStack_4c" * identifier) ;) (expression_statement "uVar16 = (uint)param_5;" (assignment_expression "uVar16 = (uint)param_5" identifier = (cast_expression "(uint)param_5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar6 = uVar16 & 7;" (assignment_expression "uVar6 = uVar16 & 7" identifier = (binary_expression "uVar16 & 7" identifier & number_literal)) ;) (expression_statement "puVar14 = (uint *)(param_3 + param_4 + 8);" (assignment_expression "puVar14 = (uint *)(param_3 + param_4 + 8)" identifier = (cast_expression "(uint *)(param_3 + param_4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + param_4 + 8)" ( (binary_expression "param_3 + param_4 + 8" (binary_expression "param_3 + param_4" identifier + identifier) + number_literal) )))) ;) (if_statement "if (((param_5 & 7) == 0) || (uVar6 == 3)) {\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }\n  else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }" if (parenthesized_expression "(((param_5 & 7) == 0) || (uVar6 == 3))" ( (binary_expression "((param_5 & 7) == 0) || (uVar6 == 3)" (parenthesized_expression "((param_5 & 7) == 0)" ( (binary_expression "(param_5 & 7) == 0" (parenthesized_expression "(param_5 & 7)" ( (binary_expression "param_5 & 7" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar6 == 3)" ( (binary_expression "uVar6 == 3" identifier == number_literal) ))) )) (compound_statement "{\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }" { (expression_statement "unaff_s1 = (int *)*puVar14;" (assignment_expression "unaff_s1 = (int *)*puVar14" identifier = (cast_expression "(int *)*puVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar14" * identifier))) ;) (labeled_statement "LAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;" statement_identifier : (if_statement "if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;" if (parenthesized_expression "((uVar16 & 0x70) == 0x10)" ( (binary_expression "(uVar16 & 0x70) == 0x10" (parenthesized_expression "(uVar16 & 0x70)" ( (binary_expression "uVar16 & 0x70" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00274bb8;" goto statement_identifier ;))) (labeled_statement "LAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;" statement_identifier : (if_statement "if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;" if (parenthesized_expression "((uVar16 & 0x70) == 0x30)" ( (binary_expression "(uVar16 & 0x70) == 0x30" (parenthesized_expression "(uVar16 & 0x70)" ( (binary_expression "uVar16 & 0x70" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00274c2c;" goto statement_identifier ;))) (if_statement "if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }" if (parenthesized_expression "((param_5 & 0x70) != 0)" ( (binary_expression "(param_5 & 0x70) != 0" (parenthesized_expression "(param_5 & 0x70)" ( (binary_expression "param_5 & 0x70" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }" { (expression_statement "uVar11 = 0x11d;" (assignment_expression "uVar11 = 0x11d" identifier = number_literal) ;) (goto_statement "goto LAB_00274c14;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }" else (compound_statement "{\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }" { (if_statement "if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }" if (parenthesized_expression "(uVar6 == 4)" ( (binary_expression "uVar6 == 4" identifier == number_literal) )) (compound_statement "{\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }" { (expression_statement "uVar11 = 0x104;" (assignment_expression "uVar11 = 0x104" identifier = number_literal) ;) (goto_statement "goto LAB_00274c14;" goto statement_identifier ;) })) (if_statement "if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }" if (parenthesized_expression "(uVar6 != 2)" ( (binary_expression "uVar6 != 2" identifier != number_literal) )) (compound_statement "{\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }" { (expression_statement "uVar11 = 0x10a;" (assignment_expression "uVar11 = 0x10a" identifier = number_literal) ;) (goto_statement "goto LAB_00274c14;" goto statement_identifier ;) })) (expression_statement "unaff_s1 = (int *)(uint)*(ushort *)puVar14;" (assignment_expression "unaff_s1 = (int *)(uint)*(ushort *)puVar14" identifier = (binary_expression "(int *)(uint)*(ushort *)puVar14" (cast_expression "(int *)(uint)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)puVar14" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((param_5 & 8) == 0) goto LAB_00274bec;" if (parenthesized_expression "((param_5 & 8) == 0)" ( (binary_expression "(param_5 & 8) == 0" (parenthesized_expression "(param_5 & 8)" ( (binary_expression "param_5 & 8" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00274bec;" goto statement_identifier ;)) (expression_statement "unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);" (assignment_expression "unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000)" identifier = (cast_expression "(int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)unaff_s1 ^ 0x8000) - 0x8000)" ( (binary_expression "((uint)unaff_s1 ^ 0x8000) - 0x8000" (parenthesized_expression "((uint)unaff_s1 ^ 0x8000)" ( (binary_expression "(uint)unaff_s1 ^ 0x8000" (cast_expression "(uint)unaff_s1" ( (type_descriptor "uint" type_identifier) ) identifier) ^ number_literal) )) - number_literal) )))) ;) (if_statement "if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;" if (parenthesized_expression "((uVar16 & 0x70) != 0x10)" ( (binary_expression "(uVar16 & 0x70) != 0x10" (parenthesized_expression "(uVar16 & 0x70)" ( (binary_expression "uVar16 & 0x70" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00274bfc;" goto statement_identifier ;)) (labeled_statement "LAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);" statement_identifier : (expression_statement "unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);" (assignment_expression "unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4)" identifier = (cast_expression "(int *)((int)unaff_s1 + param_2 + 8 + param_4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s1 + param_2 + 8 + param_4)" ( (binary_expression "(int)unaff_s1 + param_2 + 8 + param_4" (binary_expression "(int)unaff_s1 + param_2 + 8" (binary_expression "(int)unaff_s1 + param_2" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) + identifier) )))) ;)) }))) (while_statement "while( true ) {\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }" { (expression_statement "uVar16 = (uint)(char)param_5;" (assignment_expression "uVar16 = (uint)(char)param_5" identifier = (cast_expression "(uint)(char)param_5" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)param_5" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "uVar11 = 0x120;" (assignment_expression "uVar11 = 0x120" identifier = number_literal) ;) (if_statement "if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }" if (parenthesized_expression "(-1 < (int)uVar16)" ( (binary_expression "-1 < (int)uVar16" number_literal < (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      return unaff_s1;\n    }" { (return_statement "return unaff_s1;" return identifier ;) })) (labeled_statement "LAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0)" ( (binary_expression "PTR_DAT_0043226c + 0x1dc0" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0043226c + 0x1fc0" identifier + number_literal) ))) ;)) (labeled_statement "LAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;" statement_identifier : (if_statement "if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;" if (parenthesized_expression "(*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0)" ( (binary_expression "*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0" (pointer_expression "*(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 0xc" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;))) (expression_statement "param_5 = (byte)uVar16;" (assignment_expression "param_5 = (byte)uVar16" identifier = (cast_expression "(byte)uVar16" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();" (call_expression "(**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50)" ( (binary_expression "**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50" (pointer_expression "**(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" * (pointer_expression "*(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 0xc" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);" (assignment_expression "unaff_s1 = (int *)((int)unaff_s1 + extraout_v1)" identifier = (cast_expression "(int *)((int)unaff_s1 + extraout_v1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s1 + extraout_v1)" ( (binary_expression "(int)unaff_s1 + extraout_v1" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })) (expression_statement "iVar12 = 0x69;" (assignment_expression "iVar12 = 0x69" identifier = number_literal) ;) (expression_statement "puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4);" (assignment_expression "puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4)" identifier = (cast_expression "(undefined4 *)(PTR_DAT_0043226c + 0x1fe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043226c + 0x1fe4)" ( (binary_expression "PTR_DAT_0043226c + 0x1fe4" identifier + number_literal) )))) ;) (expression_statement "puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;" (assignment_expression "puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec" identifier = (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal)) ;) (expression_statement "puVar24 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar24 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)();" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)()" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar7 = *(int *)(puVar8 + 0x30);" (assignment_expression "iVar7 = *(int *)(puVar8 + 0x30)" identifier = (pointer_expression "*(int *)(puVar8 + 0x30)" * (cast_expression "(int *)(puVar8 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x30)" ( (binary_expression "puVar8 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(iVar7 + 0x20);" (assignment_expression "iVar1 = *(int *)(iVar7 + 0x20)" identifier = (pointer_expression "*(int *)(iVar7 + 0x20)" * (cast_expression "(int *)(iVar7 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = param_4;" (assignment_expression "uVar6 = param_4" identifier = identifier) ;) (expression_statement "uStack_50 = uVar16;" (assignment_expression "uStack_50 = uVar16" identifier = identifier) ;) (expression_statement "piStack_4c = unaff_s1;" (assignment_expression "piStack_4c = unaff_s1" identifier = identifier) ;) (if_statement "if (iVar1 < 0) {\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }" if (parenthesized_expression "(iVar1 < 0)" ( (binary_expression "iVar1 < 0" identifier < number_literal) )) (compound_statement "{\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }" { (expression_statement "iVar19 = *(int *)(iVar7 + 0xc);" (assignment_expression "iVar19 = *(int *)(iVar7 + 0xc)" identifier = (pointer_expression "*(int *)(iVar7 + 0xc)" * (cast_expression "(int *)(iVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }" if (parenthesized_expression "(iVar1 << 2 < 0)" ( (binary_expression "iVar1 << 2 < 0" (binary_expression "iVar1 << 2" identifier << number_literal) < number_literal) )) (compound_statement "{\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }" { (expression_statement "iVar9 = *(int *)(iVar7 + 0x1c);" (assignment_expression "iVar9 = *(int *)(iVar7 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar7 + 0x1c)" * (cast_expression "(int *)(iVar7 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }" if (parenthesized_expression "(iVar1 << 1 < 0)" ( (binary_expression "iVar1 << 1 < 0" (binary_expression "iVar1 << 1" identifier << number_literal) < number_literal) )) (compound_statement "{\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }" { (if_statement "if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }" if (parenthesized_expression "(-1 < *(int *)(iVar7 + 0x18))" ( (binary_expression "-1 < *(int *)(iVar7 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar7 + 0x18)" * (cast_expression "(int *)(iVar7 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }" { (expression_statement "uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;" (assignment_expression "uVar6 = *(uint *)(iVar7 + 0x14) + iVar9" identifier = (binary_expression "*(uint *)(iVar7 + 0x14) + iVar9" (pointer_expression "*(uint *)(iVar7 + 0x14)" * (cast_expression "(uint *)(iVar7 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) + identifier)) ;) (expression_statement "iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);" (assignment_expression "iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18)" identifier = (binary_expression "(uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18)" (call_expression "(uint)(uVar6 < *(uint *)(iVar7 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar6 < *(uint *)(iVar7 + 0x14))" ( (binary_expression "uVar6 < *(uint *)(iVar7 + 0x14)" identifier < (pointer_expression "*(uint *)(iVar7 + 0x14)" * (cast_expression "(uint *)(iVar7 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(iVar7 + 0x18)" * (cast_expression "(int *)(iVar7 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }" if (parenthesized_expression "((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0))))" ( (binary_expression "(iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))" (parenthesized_expression "(iVar1 <= *(int *)(iVar12 + 8))" ( (binary_expression "iVar1 <= *(int *)(iVar12 + 8)" identifier <= (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))" ( (parenthesized_expression "(*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0))" ( (binary_expression "*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)" (binary_expression "*(int *)(iVar12 + 8) != iVar1" (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)" ( (comma_expression "uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0" (assignment_expression "uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6)" identifier = (call_expression "(uint)(*(uint *)(iVar12 + 0xc) < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(iVar12 + 0xc) < uVar6)" ( (binary_expression "*(uint *)(iVar12 + 0xc) < uVar6" (pointer_expression "*(uint *)(iVar12 + 0xc)" * (cast_expression "(uint *)(iVar12 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))) < identifier) )))) , (binary_expression "uVar6 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }" { (expression_statement "iVar1 = *(int *)(iVar12 + 0x10);" (assignment_expression "iVar1 = *(int *)(iVar12 + 0x10)" identifier = (pointer_expression "*(int *)(iVar12 + 0x10)" * (cast_expression "(int *)(iVar12 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x10)" ( (binary_expression "iVar12 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "piVar2 = (int *)puVar15[1];" (assignment_expression "piVar2 = (int *)puVar15[1]" identifier = (cast_expression "(int *)puVar15[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[1]" identifier [ number_literal ]))) ;) (if_statement "if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }" if (parenthesized_expression "((int *)*puVar15 != piVar2)" ( (binary_expression "(int *)*puVar15 != piVar2" (cast_expression "(int *)*puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier)) != identifier) )) (compound_statement "{\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }" { (expression_statement "pcVar23 = *(code **)(puVar24 + 0x1bf518);" (assignment_expression "pcVar23 = *(code **)(puVar24 + 0x1bf518)" identifier = (pointer_expression "*(code **)(puVar24 + 0x1bf518)" * (cast_expression "(code **)(puVar24 + 0x1bf518)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x1bf518)" ( (binary_expression "puVar24 + 0x1bf518" identifier + number_literal) ))))) ;) (expression_statement "piVar3 = (int *)*puVar15;" (assignment_expression "piVar3 = (int *)*puVar15" identifier = (cast_expression "(int *)*puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (do_statement "do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);" do (compound_statement "{\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              }" { (expression_statement "piVar22 = piVar3 + 2;" (assignment_expression "piVar22 = piVar3 + 2" identifier = (binary_expression "piVar3 + 2" identifier + number_literal)) ;) (expression_statement "uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));" (comma_expression "uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1))" (assignment_expression "uStack_58 = get_fde_pc<32" identifier = (binary_expression "get_fde_pc<32" identifier < number_literal)) , (binary_expression "true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1))" true > (parenthesized_expression "(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1))" ( (comma_expression "puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1)" identifier , (comma_expression "iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1)" identifier , (comma_expression "iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1)" (binary_expression "iVar1 + iVar9" identifier + identifier) , (comma_expression "*piVar3,\n                                                *(undefined1 *)(piVar3 + 1)" (pointer_expression "*piVar3" * identifier) , (pointer_expression "*(undefined1 *)(piVar3 + 1)" * (cast_expression "(undefined1 *)(piVar3 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3 + 1)" ( (binary_expression "piVar3 + 1" identifier + number_literal) )))))))) )))) ;) (expression_statement "iStack_54 = iVar19 + *piVar3;" (assignment_expression "iStack_54 = iVar19 + *piVar3" identifier = (binary_expression "iVar19 + *piVar3" identifier + (pointer_expression "*piVar3" * identifier))) ;) (expression_statement "(*pcVar23)(param_4,&uStack_58);" (call_expression "(*pcVar23)(param_4,&uStack_58)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(param_4,&uStack_58)" ( identifier , (pointer_expression "&uStack_58" & identifier) ))) ;) (expression_statement "piVar2 = (int *)puVar15[1];" (assignment_expression "piVar2 = (int *)puVar15[1]" identifier = (cast_expression "(int *)puVar15[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[1]" identifier [ number_literal ]))) ;) (expression_statement "piVar3 = piVar22;" (assignment_expression "piVar3 = piVar22" identifier = identifier) ;) }) while (parenthesized_expression "(piVar2 != piVar22)" ( (binary_expression "piVar2 != piVar22" identifier != identifier) )) ;) })) (return_statement "return piVar2;" return identifier ;) })) })) (expression_statement "FUN_00271ec8();" (call_expression "FUN_00271ec8()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);" (call_expression "(**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008)" (parenthesized_expression "(**(code **)(puVar24 + 0x1bd740))" ( (pointer_expression "**(code **)(puVar24 + 0x1bd740)" * (pointer_expression "*(code **)(puVar24 + 0x1bd740)" * (cast_expression "(code **)(puVar24 + 0x1bd740)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x1bd740)" ( (binary_expression "puVar24 + 0x1bd740" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008)" ( (binary_expression "*(int *)(puVar24 + 0x1bd730) + -0x4fe0" (pointer_expression "*(int *)(puVar24 + 0x1bd730)" * (cast_expression "(int *)(puVar24 + 0x1bd730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x1bd730)" ( (binary_expression "puVar24 + 0x1bd730" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar24 + 0x1bd5e8) + 0x2008" (pointer_expression "*(int *)(puVar24 + 0x1bd5e8)" * (cast_expression "(int *)(puVar24 + 0x1bd5e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x1bd5e8)" ( (binary_expression "puVar24 + 0x1bd5e8" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);" (call_expression "(**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014)" (parenthesized_expression "(**(code **)(puVar24 + 0x1bd740))" ( (pointer_expression "**(code **)(puVar24 + 0x1bd740)" * (pointer_expression "*(code **)(puVar24 + 0x1bd740)" * (cast_expression "(code **)(puVar24 + 0x1bd740)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x1bd740)" ( (binary_expression "puVar24 + 0x1bd740" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014)" ( (binary_expression "*(int *)(puVar24 + 0x1bd730) + -0x4fe0" (pointer_expression "*(int *)(puVar24 + 0x1bd730)" * (cast_expression "(int *)(puVar24 + 0x1bd730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x1bd730)" ( (binary_expression "puVar24 + 0x1bd730" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar24 + 0x1bd5e8) + 0x2014" (pointer_expression "*(int *)(puVar24 + 0x1bd5e8)" * (cast_expression "(int *)(puVar24 + 0x1bd5e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x1bd5e8)" ( (binary_expression "puVar24 + 0x1bd5e8" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "uVar13 = 0xc5;" (assignment_expression "uVar13 = 0xc5" identifier = number_literal) ;) (expression_statement "pcVar23 = *(code **)(puVar24 + 0x1bd740);" (assignment_expression "pcVar23 = *(code **)(puVar24 + 0x1bd740)" identifier = (pointer_expression "*(code **)(puVar24 + 0x1bd740)" * (cast_expression "(code **)(puVar24 + 0x1bd740)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x1bd740)" ( (binary_expression "puVar24 + 0x1bd740" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc;" (assignment_expression "iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc" identifier = (binary_expression "*(int *)(puVar24 + 0x1bd5e8) + 0x1fdc" (pointer_expression "*(int *)(puVar24 + 0x1bd5e8)" * (cast_expression "(int *)(puVar24 + 0x1bd5e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x1bd5e8)" ( (binary_expression "puVar24 + 0x1bd5e8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0);" (assignment_expression "puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0)" identifier = (cast_expression "(uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar24 + 0x1bd730) + -0x4fe0)" ( (binary_expression "*(int *)(puVar24 + 0x1bd730) + -0x4fe0" (pointer_expression "*(int *)(puVar24 + 0x1bd730)" * (cast_expression "(int *)(puVar24 + 0x1bd730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x1bd730)" ( (binary_expression "puVar24 + 0x1bd730" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar23)(puVar14,0xc5,iVar1);" (call_expression "(*pcVar23)(puVar14,0xc5,iVar1)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(puVar14,0xc5,iVar1)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (uVar13 < 0x10000000) {\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }" if (parenthesized_expression "(uVar13 < 0x10000000)" ( (binary_expression "uVar13 < 0x10000000" identifier < number_literal) )) (compound_statement "{\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }" { (expression_statement "piVar2 = (int *)*puVar14;" (assignment_expression "piVar2 = (int *)*puVar14" identifier = (cast_expression "(int *)*puVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar14" * identifier))) ;) (expression_statement "piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);" (assignment_expression "piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13)" identifier = (cast_expression "(int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13)" ( (binary_expression "(uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13" (call_expression "(uint)((int)(puVar14[2] - (int)piVar2) >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(puVar14[2] - (int)piVar2) >> 4)" ( (binary_expression "(int)(puVar14[2] - (int)piVar2) >> 4" (cast_expression "(int)(puVar14[2] - (int)piVar2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar14[2] - (int)piVar2)" ( (binary_expression "puVar14[2] - (int)piVar2" (subscript_expression "puVar14[2]" identifier [ number_literal ]) - (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ))) >> number_literal) ))) < identifier) ))))) ;) (if_statement "if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }" if (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }" { (expression_statement "piVar22 = (int *)puVar14[1];" (assignment_expression "piVar22 = (int *)puVar14[1]" identifier = (cast_expression "(int *)puVar14[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar1 = (int)piVar22 - (int)piVar2;" (assignment_expression "iVar1 = (int)piVar22 - (int)piVar2" identifier = (binary_expression "(int)piVar22 - (int)piVar2" (cast_expression "(int)piVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }" if (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) (compound_statement "{\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }" { (expression_statement "piVar21 = (int *)0x0;" (assignment_expression "piVar21 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar20 = piVar21;" (assignment_expression "piVar20 = piVar21" identifier = identifier) ;) (expression_statement "piVar10 = piVar2;" (assignment_expression "piVar10 = piVar2" identifier = identifier) ;) }) (else_clause "else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }" else (compound_statement "{\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }" { (expression_statement "piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);" (assignment_expression "piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10)" identifier = (cast_expression "(int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10)" (parenthesized_expression "(**(code **)(pcVar23 + 0x1bd508))" ( (pointer_expression "**(code **)(pcVar23 + 0x1bd508)" * (pointer_expression "*(code **)(pcVar23 + 0x1bd508)" * (cast_expression "(code **)(pcVar23 + 0x1bd508)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1bd508)" ( (binary_expression "pcVar23 + 0x1bd508" identifier + number_literal) ))))) )) (argument_list "(uVar13 * 0x10)" ( (binary_expression "uVar13 * 0x10" identifier * number_literal) ))))) ;) (expression_statement "piVar21 = piVar3;" (assignment_expression "piVar21 = piVar3" identifier = identifier) ;) (expression_statement "piVar20 = piVar3;" (assignment_expression "piVar20 = piVar3" identifier = identifier) ;) (expression_statement "piVar10 = (int *)*puVar14;" (assignment_expression "piVar10 = (int *)*puVar14" identifier = (cast_expression "(int *)*puVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar14" * identifier))) ;) }))) (for_statement "for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }" for ( ; (binary_expression "piVar2 != piVar22" identifier != identifier) ; (assignment_expression "piVar2 = piVar2 + 4" identifier = (binary_expression "piVar2 + 4" identifier + number_literal)) ) (compound_statement "{\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }" { (expression_statement "iVar12 = piVar2[1];" (assignment_expression "iVar12 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = piVar2[2];" (assignment_expression "iVar7 = piVar2[2]" identifier = (subscript_expression "piVar2[2]" identifier [ number_literal ])) ;) (expression_statement "piVar3 = (int *)piVar2[3];" (assignment_expression "piVar3 = (int *)piVar2[3]" identifier = (cast_expression "(int *)piVar2[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[3]" identifier [ number_literal ]))) ;) (expression_statement "*piVar21 = *piVar2;" (assignment_expression "*piVar21 = *piVar2" (pointer_expression "*piVar21" * identifier) = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "piVar21[1] = iVar12;" (assignment_expression "piVar21[1] = iVar12" (subscript_expression "piVar21[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar21[2] = iVar7;" (assignment_expression "piVar21[2] = iVar7" (subscript_expression "piVar21[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar21[3] = (int)piVar3;" (assignment_expression "piVar21[3] = (int)piVar3" (subscript_expression "piVar21[3]" identifier [ number_literal ]) = (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar21 = piVar21 + 4;" (assignment_expression "piVar21 = piVar21 + 4" identifier = (binary_expression "piVar21 + 4" identifier + number_literal)) ;) })) (if_statement "if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }" if (parenthesized_expression "(piVar10 != (int *)0x0)" ( (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }" { (expression_statement "piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();" (assignment_expression "piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))()" identifier = (cast_expression "(int *)(**(code **)(pcVar23 + 0x1bd458))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + 0x1bd458))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x1bd458))" ( (pointer_expression "**(code **)(pcVar23 + 0x1bd458)" * (pointer_expression "*(code **)(pcVar23 + 0x1bd458)" * (cast_expression "(code **)(pcVar23 + 0x1bd458)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1bd458)" ( (binary_expression "pcVar23 + 0x1bd458" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) })) (expression_statement "*puVar14 = (uint)piVar20;" (assignment_expression "*puVar14 = (uint)piVar20" (pointer_expression "*puVar14" * identifier) = (cast_expression "(uint)piVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar14[1] = (int)piVar20 + iVar1;" (assignment_expression "puVar14[1] = (int)piVar20 + iVar1" (subscript_expression "puVar14[1]" identifier [ number_literal ]) = (binary_expression "(int)piVar20 + iVar1" (cast_expression "(int)piVar20" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "puVar14[2] = (uint)(piVar20 + uVar13 * 4);" (assignment_expression "puVar14[2] = (uint)(piVar20 + uVar13 * 4)" (subscript_expression "puVar14[2]" identifier [ number_literal ]) = (call_expression "(uint)(piVar20 + uVar13 * 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar20 + uVar13 * 4)" ( (binary_expression "piVar20 + uVar13 * 4" identifier + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) ;) (return_statement "return piVar3;" return identifier ;) })) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "pcVar25 = *(code **)(pcVar23 + 0x1bd64c);" (assignment_expression "pcVar25 = *(code **)(pcVar23 + 0x1bd64c)" identifier = (pointer_expression "*(code **)(pcVar23 + 0x1bd64c)" * (cast_expression "(code **)(pcVar23 + 0x1bd64c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1bd64c)" ( (binary_expression "pcVar23 + 0x1bd64c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864);" (call_expression "(*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864)" ( (binary_expression "*(int *)(pcVar23 + 0x1bd3d8) + 0x4864" (pointer_expression "*(int *)(pcVar23 + 0x1bd3d8)" * (cast_expression "(int *)(pcVar23 + 0x1bd3d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x1bd3d8)" ( (binary_expression "pcVar23 + 0x1bd3d8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "bVar5 = bStackY_95 & 7;" (assignment_expression "bVar5 = bStackY_95 & 7" identifier = (binary_expression "bStackY_95 & 7" identifier & number_literal)) ;) (expression_statement "pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4;" (assignment_expression "pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4" identifier = (binary_expression "pcVar23 + iStackY_9c + 0x1c53a4" (binary_expression "pcVar23 + iStackY_9c" identifier + identifier) + number_literal)) ;) (if_statement "if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;" if (parenthesized_expression "((bStackY_95 & 7) == 0)" ( (binary_expression "(bStackY_95 & 7) == 0" (parenthesized_expression "(bStackY_95 & 7)" ( (binary_expression "bStackY_95 & 7" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00274ff4;" goto statement_identifier ;)) (if_statement "if (bVar5 == 3) {\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }\n  else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }" if (parenthesized_expression "(bVar5 == 3)" ( (binary_expression "bVar5 == 3" identifier == number_literal) )) (compound_statement "{\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }" { (expression_statement "uVar13 = *(uint *)pcVar23;" (assignment_expression "uVar13 = *(uint *)pcVar23" identifier = (pointer_expression "*(uint *)pcVar23" * (cast_expression "(uint *)pcVar23" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10)" ( (binary_expression "(uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10" (binary_expression "(uVar13 >> 0x10) << 0x18" (parenthesized_expression "(uVar13 >> 0x10)" ( (binary_expression "uVar13 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar13 >> 0x18) << 0x10" (parenthesized_expression "(uVar13 >> 0x18)" ( (binary_expression "uVar13 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff)" ( (binary_expression "(uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff" (binary_expression "(uVar13 & 0xff) << 8" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar13 >> 8 & 0xff" (binary_expression "uVar13 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }" if (parenthesized_expression "((bStackY_95 & 8) != 0)" ( (binary_expression "(bStackY_95 & 8) != 0" (parenthesized_expression "(bStackY_95 & 8)" ( (binary_expression "bStackY_95 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }" { (expression_statement "piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);" (assignment_expression "piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1)" identifier = (cast_expression "(int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar13 < (uVar13 ^ 0x80000000)) - 1)" ( (binary_expression "(uVar13 < (uVar13 ^ 0x80000000)) - 1" (parenthesized_expression "(uVar13 < (uVar13 ^ 0x80000000))" ( (binary_expression "uVar13 < (uVar13 ^ 0x80000000)" identifier < (parenthesized_expression "(uVar13 ^ 0x80000000)" ( (binary_expression "uVar13 ^ 0x80000000" identifier ^ number_literal) ))) )) - number_literal) )))) ;) (goto_statement "goto LAB_00275014;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }" else (compound_statement "{\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }" { (if_statement "if (bVar5 == 4) goto LAB_00274ff4;" if (parenthesized_expression "(bVar5 == 4)" ( (binary_expression "bVar5 == 4" identifier == number_literal) )) (goto_statement "goto LAB_00274ff4;" goto statement_identifier ;)) (if_statement "if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }" if (parenthesized_expression "(bVar5 != 2)" ( (binary_expression "bVar5 != 2" identifier != number_literal) )) (compound_statement "{\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }" { (expression_statement "uVar11 = 0x10a;" (assignment_expression "uVar11 = 0x10a" identifier = number_literal) ;) (goto_statement "goto LAB_00274fdc;" goto statement_identifier ;) })) (expression_statement "uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);" (assignment_expression "uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8)" identifier = (binary_expression "(*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8)" (binary_expression "(*(ushort *)pcVar23 & 0xff) << 8" (parenthesized_expression "(*(ushort *)pcVar23 & 0xff)" ( (binary_expression "*(ushort *)pcVar23 & 0xff" (pointer_expression "*(ushort *)pcVar23" * (cast_expression "(ushort *)pcVar23" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) << number_literal) | (call_expression "(uint)(*(ushort *)pcVar23 >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)pcVar23 >> 8)" ( (binary_expression "*(ushort *)pcVar23 >> 8" (pointer_expression "*(ushort *)pcVar23" * (cast_expression "(ushort *)pcVar23" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) >> number_literal) ))))) ;) (if_statement "if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }" if (parenthesized_expression "((bStackY_95 & 8) != 0)" ( (binary_expression "(bStackY_95 & 8) != 0" (parenthesized_expression "(bStackY_95 & 8)" ( (binary_expression "bStackY_95 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }" { (expression_statement "uVar17 = uVar13 ^ 0x8000;" (assignment_expression "uVar17 = uVar13 ^ 0x8000" identifier = (binary_expression "uVar13 ^ 0x8000" identifier ^ number_literal)) ;) (expression_statement "uVar13 = uVar17 - 0x8000;" (assignment_expression "uVar13 = uVar17 - 0x8000" identifier = (binary_expression "uVar17 - 0x8000" identifier - number_literal)) ;) (expression_statement "piVar2 = (int *)((uVar13 < uVar17) - 1);" (assignment_expression "piVar2 = (int *)((uVar13 < uVar17) - 1)" identifier = (cast_expression "(int *)((uVar13 < uVar17) - 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar13 < uVar17) - 1)" ( (binary_expression "(uVar13 < uVar17) - 1" (parenthesized_expression "(uVar13 < uVar17)" ( (binary_expression "uVar13 < uVar17" identifier < identifier) )) - number_literal) )))) ;) (goto_statement "goto LAB_00275014;" goto statement_identifier ;) })) }))) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00275014:\n  do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );" statement_identifier : (do_statement "do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );" do (compound_statement "{\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  }" { (if_statement "if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }" if (parenthesized_expression "((bStackY_95 & 0x70) == 0x10)" ( (binary_expression "(bStackY_95 & 0x70) == 0x10" (parenthesized_expression "(bStackY_95 & 0x70)" ( (binary_expression "bStackY_95 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }" { (expression_statement "uVar17 = uVar6 + 8;" (assignment_expression "uVar17 = uVar6 + 8" identifier = (binary_expression "uVar6 + 8" identifier + number_literal)) ;) (expression_statement "uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);" (assignment_expression "uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f)" identifier = (binary_expression "(int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f)" (binary_expression "(int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1" (binary_expression "(int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6)" (binary_expression "(int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17)" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(uVar17 + iStackY_9c < uVar17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 + iStackY_9c < uVar17)" ( (binary_expression "uVar17 + iStackY_9c < uVar17" (binary_expression "uVar17 + iStackY_9c" identifier + identifier) < identifier) )))) + (call_expression "(uint)(uVar17 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < uVar6)" ( (binary_expression "uVar17 < uVar6" identifier < identifier) )))) + identifier) + (parenthesized_expression "(iStackY_9c >> 0x1f)" ( (binary_expression "iStackY_9c >> 0x1f" identifier >> number_literal) )))) ;) (expression_statement "piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);" (assignment_expression "piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6)" identifier = (cast_expression "(int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6)" ( (binary_expression "(uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6" (parenthesized_expression "(uVar13 + uVar17 + iStackY_9c < uVar13)" ( (binary_expression "uVar13 + uVar17 + iStackY_9c < uVar13" (binary_expression "uVar13 + uVar17 + iStackY_9c" (binary_expression "uVar13 + uVar17" identifier + identifier) + identifier) < identifier) )) + identifier) )))) ;) (labeled_statement "LAB_00275078:\n      uVar11 = 0x120;" statement_identifier : (expression_statement "uVar11 = 0x120;" (assignment_expression "uVar11 = 0x120" identifier = number_literal) ;)) (if_statement "if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }" if (parenthesized_expression "(-1 < (char)bStackY_95)" ( (binary_expression "-1 < (char)bStackY_95" number_literal < (cast_expression "(char)bStackY_95" ( (type_descriptor "char" primitive_type) ) identifier)) )) (compound_statement "{\n        return piVar2;\n      }" { (return_statement "return piVar2;" return identifier ;) })) }) (else_clause "else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }" else (compound_statement "{\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }" { (if_statement "if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }" if (parenthesized_expression "((bStackY_95 & 0x70) == 0x30)" ( (binary_expression "(bStackY_95 & 0x70) == 0x30" (parenthesized_expression "(bStackY_95 & 0x70)" ( (binary_expression "bStackY_95 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }" { (if_statement "if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }" if (parenthesized_expression "(*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0)" ( (binary_expression "*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0" (pointer_expression "*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" ( (binary_expression "**(int **)(pcVar25 + 0x1bdc68) + 0xc" (pointer_expression "**(int **)(pcVar25 + 0x1bdc68)" * (pointer_expression "*(int **)(pcVar25 + 0x1bdc68)" * (cast_expression "(int **)(pcVar25 + 0x1bdc68)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bdc68)" ( (binary_expression "pcVar25 + 0x1bdc68" identifier + number_literal) ))))) + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }" { (expression_statement "lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();" (assignment_expression "lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))()" identifier = (call_expression "(**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50)" ( (binary_expression "**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" * (pointer_expression "*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" ( (binary_expression "**(int **)(pcVar25 + 0x1bdc68) + 0xc" (pointer_expression "**(int **)(pcVar25 + 0x1bdc68)" * (pointer_expression "*(int **)(pcVar25 + 0x1bdc68)" * (cast_expression "(int **)(pcVar25 + 0x1bdc68)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bdc68)" ( (binary_expression "pcVar25 + 0x1bdc68" identifier + number_literal) ))))) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);" (assignment_expression "piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" identifier = (cast_expression "(int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" ( (binary_expression "(ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20" (call_expression "(ulonglong)(lVar27 + CONCAT44(piVar2,uVar13))" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar27 + CONCAT44(piVar2,uVar13))" ( (binary_expression "lVar27 + CONCAT44(piVar2,uVar13)" identifier + (call_expression "CONCAT44(piVar2,uVar13)" identifier (argument_list "(piVar2,uVar13)" ( identifier , identifier )))) ))) >> number_literal) )))) ;) (goto_statement "goto LAB_00275078;" goto statement_identifier ;) })) (expression_statement "pcVar23 = *(code **)(pcVar25 + 0x1bd44c);" (assignment_expression "pcVar23 = *(code **)(pcVar25 + 0x1bd44c)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x1bd44c)" * (cast_expression "(code **)(pcVar25 + 0x1bd44c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bd44c)" ( (binary_expression "pcVar25 + 0x1bd44c" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;" (assignment_expression "iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4" identifier = (binary_expression "*(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4" (pointer_expression "*(int *)(pcVar25 + 0x1bd2f4)" * (cast_expression "(int *)(pcVar25 + 0x1bd2f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x1bd2f4)" ( (binary_expression "pcVar25 + 0x1bd2f4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);" (call_expression "(*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1)" ( (binary_expression "*(int *)(pcVar25 + 0x1bd43c) + -0x5cec" (pointer_expression "*(int *)(pcVar25 + 0x1bd43c)" * (cast_expression "(int *)(pcVar25 + 0x1bd43c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x1bd43c)" ( (binary_expression "pcVar25 + 0x1bd43c" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (expression_statement "uVar17 = uVar16 & 0xff;" (assignment_expression "uVar17 = uVar16 & 0xff" identifier = (binary_expression "uVar16 & 0xff" identifier & number_literal)) ;) (expression_statement "uVar13 = uVar16 & 7;" (assignment_expression "uVar13 = uVar16 & 7" identifier = (binary_expression "uVar16 & 7" identifier & number_literal)) ;) (expression_statement "pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;" (assignment_expression "pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260" identifier = (binary_expression "pcVar25 + iStackY_c4 + 0x1c5260" (binary_expression "pcVar25 + iStackY_c4" identifier + identifier) + number_literal)) ;) (if_statement "if ((uVar16 & 7) == 0) goto LAB_002751c0;" if (parenthesized_expression "((uVar16 & 7) == 0)" ( (binary_expression "(uVar16 & 7) == 0" (parenthesized_expression "(uVar16 & 7)" ( (binary_expression "uVar16 & 7" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002751c0;" goto statement_identifier ;)) (if_statement "if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }" if (parenthesized_expression "(uVar13 == 3)" ( (binary_expression "uVar13 == 3" identifier == number_literal) )) (compound_statement "{\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }" { (expression_statement "uVar13 = *(uint *)pcVar25;" (assignment_expression "uVar13 = *(uint *)pcVar25" identifier = (pointer_expression "*(uint *)pcVar25" * (cast_expression "(uint *)pcVar25" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }" if (parenthesized_expression "((uVar16 & 8) != 0)" ( (binary_expression "(uVar16 & 8) != 0" (parenthesized_expression "(uVar16 & 8)" ( (binary_expression "uVar16 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }" { (expression_statement "piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);" (assignment_expression "piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1)" identifier = (cast_expression "(int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar13 < (uVar13 ^ 0x80000000)) - 1)" ( (binary_expression "(uVar13 < (uVar13 ^ 0x80000000)) - 1" (parenthesized_expression "(uVar13 < (uVar13 ^ 0x80000000))" ( (binary_expression "uVar13 < (uVar13 ^ 0x80000000)" identifier < (parenthesized_expression "(uVar13 ^ 0x80000000)" ( (binary_expression "uVar13 ^ 0x80000000" identifier ^ number_literal) ))) )) - number_literal) )))) ;) (break_statement "break;" break ;) })) }) (else_clause "else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }" else (compound_statement "{\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }" { (if_statement "if (uVar13 == 4) goto LAB_002751c0;" if (parenthesized_expression "(uVar13 == 4)" ( (binary_expression "uVar13 == 4" identifier == number_literal) )) (goto_statement "goto LAB_002751c0;" goto statement_identifier ;)) (expression_statement "uVar11 = 0x10a;" (assignment_expression "uVar11 = 0x10a" identifier = number_literal) ;) (if_statement "if (uVar13 != 2) goto LAB_002751a8;" if (parenthesized_expression "(uVar13 != 2)" ( (binary_expression "uVar13 != 2" identifier != number_literal) )) (goto_statement "goto LAB_002751a8;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)*(ushort *)pcVar25;" (assignment_expression "uVar13 = (uint)*(ushort *)pcVar25" identifier = (binary_expression "(uint)*(ushort *)pcVar25" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)pcVar25" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }" if (parenthesized_expression "((uVar16 & 8) != 0)" ( (binary_expression "(uVar16 & 8) != 0" (parenthesized_expression "(uVar16 & 8)" ( (binary_expression "uVar16 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }" { (expression_statement "uVar16 = uVar13 ^ 0x8000;" (assignment_expression "uVar16 = uVar13 ^ 0x8000" identifier = (binary_expression "uVar13 ^ 0x8000" identifier ^ number_literal)) ;) (expression_statement "uVar13 = uVar16 - 0x8000;" (assignment_expression "uVar13 = uVar16 - 0x8000" identifier = (binary_expression "uVar16 - 0x8000" identifier - number_literal)) ;) (expression_statement "piVar2 = (int *)((uVar13 < uVar16) - 1);" (assignment_expression "piVar2 = (int *)((uVar13 < uVar16) - 1)" identifier = (cast_expression "(int *)((uVar13 < uVar16) - 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar13 < uVar16) - 1)" ( (binary_expression "(uVar13 < uVar16) - 1" (parenthesized_expression "(uVar13 < uVar16)" ( (binary_expression "uVar13 < uVar16" identifier < identifier) )) - number_literal) )))) ;) (break_statement "break;" break ;) })) }))) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (break_statement "break;" break ;) })) (if_statement "if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;" if (parenthesized_expression "((bStackY_95 & 0x70) == 0)" ( (binary_expression "(bStackY_95 & 0x70) == 0" (parenthesized_expression "(bStackY_95 & 0x70)" ( (binary_expression "bStackY_95 & 0x70" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00275078;" goto statement_identifier ;)) (expression_statement "uVar11 = 0x11d;" (assignment_expression "uVar11 = 0x11d" identifier = number_literal) ;) }))) (labeled_statement "LAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;" statement_identifier : (expression_statement "iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;" (assignment_expression "iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4" identifier = (binary_expression "*(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4" (pointer_expression "*(int *)(pcVar25 + 0x1bd2f4)" * (cast_expression "(int *)(pcVar25 + 0x1bd2f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x1bd2f4)" ( (binary_expression "pcVar25 + 0x1bd2f4" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "(**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);" (call_expression "(**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1)" (parenthesized_expression "(**(code **)(pcVar25 + 0x1bd44c))" ( (pointer_expression "**(code **)(pcVar25 + 0x1bd44c)" * (pointer_expression "*(code **)(pcVar25 + 0x1bd44c)" * (cast_expression "(code **)(pcVar25 + 0x1bd44c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bd44c)" ( (binary_expression "pcVar25 + 0x1bd44c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1)" ( (binary_expression "*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0" (pointer_expression "*(int *)(pcVar25 + 0x1bd2f4)" * (cast_expression "(int *)(pcVar25 + 0x1bd2f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x1bd2f4)" ( (binary_expression "pcVar25 + 0x1bd2f4" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (expression_statement "pcVar23 = extraout_v1_00;" (assignment_expression "pcVar23 = extraout_v1_00" identifier = identifier) ;) (labeled_statement "LAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);" statement_identifier : (expression_statement "uVar13 = *(uint *)(pcVar23 + 4);" (assignment_expression "uVar13 = *(uint *)(pcVar23 + 4)" identifier = (pointer_expression "*(uint *)(pcVar23 + 4)" * (cast_expression "(uint *)(pcVar23 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 4)" ( (binary_expression "pcVar23 + 4" identifier + number_literal) ))))) ;)) (expression_statement "uVar17 = *(uint *)pcVar23;" (assignment_expression "uVar17 = *(uint *)pcVar23" identifier = (pointer_expression "*(uint *)pcVar23" * (cast_expression "(uint *)pcVar23" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);" (assignment_expression "piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000)" identifier = (cast_expression "(int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10)" ( (binary_expression "(uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10" (binary_expression "(uVar13 >> 0x10) << 0x18" (parenthesized_expression "(uVar13 >> 0x10)" ( (binary_expression "uVar13 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar13 >> 0x18) << 0x10" (parenthesized_expression "(uVar13 >> 0x18)" ( (binary_expression "uVar13 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff)" ( (binary_expression "(uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff" (binary_expression "(uVar13 & 0xff) << 8" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar13 >> 8 & 0xff" (binary_expression "uVar13 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )))) ;) (expression_statement "uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10)" ( (binary_expression "(uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10" (binary_expression "(uVar17 >> 0x10) << 0x18" (parenthesized_expression "(uVar17 >> 0x10)" ( (binary_expression "uVar17 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar17 >> 0x18) << 0x10" (parenthesized_expression "(uVar17 >> 0x18)" ( (binary_expression "uVar17 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff)" ( (binary_expression "(uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff" (binary_expression "(uVar17 & 0xff) << 8" (parenthesized_expression "(uVar17 & 0xff)" ( (binary_expression "uVar17 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar17 >> 8 & 0xff" (binary_expression "uVar17 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) (labeled_statement "LAB_002751d0:\n  uVar16 = uVar17 & 0x70;" statement_identifier : (expression_statement "uVar16 = uVar17 & 0x70;" (assignment_expression "uVar16 = uVar17 & 0x70" identifier = (binary_expression "uVar17 & 0x70" identifier & number_literal)) ;)) (if_statement "if (uVar16 == 0x10) {\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }\n  else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }" if (parenthesized_expression "(uVar16 == 0x10)" ( (binary_expression "uVar16 == 0x10" identifier == number_literal) )) (compound_statement "{\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }" { (expression_statement "uVar16 = uVar6 + 8;" (assignment_expression "uVar16 = uVar6 + 8" identifier = (binary_expression "uVar6 + 8" identifier + number_literal)) ;) (expression_statement "uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);" (assignment_expression "uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f)" identifier = (binary_expression "(uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f)" (binary_expression "(uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1" (binary_expression "(uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6)" (call_expression "(uint)(uVar16 + iStackY_c4 < uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 + iStackY_c4 < uVar16)" ( (binary_expression "uVar16 + iStackY_c4 < uVar16" (binary_expression "uVar16 + iStackY_c4" identifier + identifier) < identifier) ))) + (call_expression "(uint)(uVar16 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < uVar6)" ( (binary_expression "uVar16 < uVar6" identifier < identifier) )))) + identifier) + (parenthesized_expression "(iStackY_c4 >> 0x1f)" ( (binary_expression "iStackY_c4 >> 0x1f" identifier >> number_literal) )))) ;) (expression_statement "piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);" (assignment_expression "piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6)" identifier = (cast_expression "(int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6)" ( (binary_expression "(int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6" (binary_expression "(int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13)" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar13 + uVar16 + iStackY_c4 < uVar13)" ( (binary_expression "uVar13 + uVar16 + iStackY_c4 < uVar13" (binary_expression "uVar13 + uVar16 + iStackY_c4" (binary_expression "uVar13 + uVar16" identifier + identifier) + identifier) < identifier) ))) + identifier) )))) ;) (labeled_statement "LAB_00275238:\n    uVar17 = (uint)(char)uVar17;" statement_identifier : (expression_statement "uVar17 = (uint)(char)uVar17;" (assignment_expression "uVar17 = (uint)(char)uVar17" identifier = (cast_expression "(uint)(char)uVar17" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier))) ;)) (expression_statement "uVar11 = 0x120;" (assignment_expression "uVar11 = 0x120" identifier = number_literal) ;) (if_statement "if (-1 < (int)uVar17) {\n      return piVar2;\n    }" if (parenthesized_expression "(-1 < (int)uVar17)" ( (binary_expression "-1 < (int)uVar17" number_literal < (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      return piVar2;\n    }" { (return_statement "return piVar2;" return identifier ;) })) }) (else_clause "else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }" else (compound_statement "{\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }" { (if_statement "if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }" if (parenthesized_expression "(uVar16 == 0x30)" ( (binary_expression "uVar16 == 0x30" identifier == number_literal) )) (compound_statement "{\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }" { (if_statement "if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }" if (parenthesized_expression "(*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0)" ( (binary_expression "*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0" (pointer_expression "*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar23 + 0x1bda98) + 0xc)" ( (binary_expression "**(int **)(pcVar23 + 0x1bda98) + 0xc" (pointer_expression "**(int **)(pcVar23 + 0x1bda98)" * (pointer_expression "*(int **)(pcVar23 + 0x1bda98)" * (cast_expression "(int **)(pcVar23 + 0x1bda98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1bda98)" ( (binary_expression "pcVar23 + 0x1bda98" identifier + number_literal) ))))) + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }" { (expression_statement "lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();" (assignment_expression "lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))()" identifier = (call_expression "(**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50)" ( (binary_expression "**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc)" * (pointer_expression "*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar23 + 0x1bda98) + 0xc)" ( (binary_expression "**(int **)(pcVar23 + 0x1bda98) + 0xc" (pointer_expression "**(int **)(pcVar23 + 0x1bda98)" * (pointer_expression "*(int **)(pcVar23 + 0x1bda98)" * (cast_expression "(int **)(pcVar23 + 0x1bda98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1bda98)" ( (binary_expression "pcVar23 + 0x1bda98" identifier + number_literal) ))))) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);" (assignment_expression "piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" identifier = (cast_expression "(int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" ( (binary_expression "(ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20" (call_expression "(ulonglong)(lVar27 + CONCAT44(piVar2,uVar13))" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar27 + CONCAT44(piVar2,uVar13))" ( (binary_expression "lVar27 + CONCAT44(piVar2,uVar13)" identifier + (call_expression "CONCAT44(piVar2,uVar13)" identifier (argument_list "(piVar2,uVar13)" ( identifier , identifier )))) ))) >> number_literal) )))) ;) (goto_statement "goto LAB_00275238;" goto statement_identifier ;) })) (expression_statement "iVar1 = 0x69;" (assignment_expression "iVar1 = 0x69" identifier = number_literal) ;) (expression_statement "pcVar25 = *(code **)(pcVar23 + 0x1bd27c);" (assignment_expression "pcVar25 = *(code **)(pcVar23 + 0x1bd27c)" identifier = (pointer_expression "*(code **)(pcVar23 + 0x1bd27c)" * (cast_expression "(code **)(pcVar23 + 0x1bd27c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1bd27c)" ( (binary_expression "pcVar23 + 0x1bd27c" identifier + number_literal) ))))) ;) (expression_statement "piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4)" identifier = (cast_expression "(int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4)" ( (binary_expression "*(int *)(pcVar23 + 0x1bd124) + 0x1fe4" (pointer_expression "*(int *)(pcVar23 + 0x1bd124)" * (cast_expression "(int *)(pcVar23 + 0x1bd124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x1bd124)" ( (binary_expression "pcVar23 + 0x1bd124" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);" (assignment_expression "piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec)" identifier = (cast_expression "(int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec)" ( (binary_expression "*(int *)(pcVar23 + 0x1bd26c) + -0x5cec" (pointer_expression "*(int *)(pcVar23 + 0x1bd26c)" * (cast_expression "(int *)(pcVar23 + 0x1bd26c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x1bd26c)" ( (binary_expression "pcVar23 + 0x1bd26c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar12 = piVar2[1];" (assignment_expression "iVar12 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = *piVar2;" (assignment_expression "iVar7 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "iVar19 = iVar1 - iVar7;" (assignment_expression "iVar19 = iVar1 - iVar7" identifier = (binary_expression "iVar1 - iVar7" identifier - identifier)) ;) (expression_statement "uVar6 = iVar12 - iVar7 >> 2;" (assignment_expression "uVar6 = iVar12 - iVar7 >> 2" identifier = (binary_expression "iVar12 - iVar7 >> 2" (binary_expression "iVar12 - iVar7" identifier - identifier) >> number_literal)) ;) (if_statement "if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }" { (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00275498:\n        iVar9 = uVar16 << 2;" statement_identifier : (expression_statement "iVar9 = uVar16 << 2;" (assignment_expression "iVar9 = uVar16 << 2" identifier = (binary_expression "uVar16 << 2" identifier << number_literal)) ;)) (labeled_statement "LAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);" statement_identifier : (expression_statement "iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);" (assignment_expression "iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9)" identifier = (call_expression "(**(code **)(pcVar25 + 0x1bd044))(iVar9)" (parenthesized_expression "(**(code **)(pcVar25 + 0x1bd044))" ( (pointer_expression "**(code **)(pcVar25 + 0x1bd044)" * (pointer_expression "*(code **)(pcVar25 + 0x1bd044)" * (cast_expression "(code **)(pcVar25 + 0x1bd044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bd044)" ( (binary_expression "pcVar25 + 0x1bd044" identifier + number_literal) ))))) )) (argument_list "(iVar9)" ( identifier )))) ;)) (expression_statement "iVar9 = iVar4 + iVar9;" (assignment_expression "iVar9 = iVar4 + iVar9" identifier = (binary_expression "iVar4 + iVar9" identifier + identifier)) ;) }) (else_clause "else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }" else (compound_statement "{\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }" { (expression_statement "uVar16 = uVar6 << 1;" (assignment_expression "uVar16 = uVar6 << 1" identifier = (binary_expression "uVar6 << 1" identifier << number_literal)) ;) (if_statement "if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }" if (parenthesized_expression "(uVar16 < uVar6)" ( (binary_expression "uVar16 < uVar6" identifier < identifier) )) (compound_statement "{\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }" { (expression_statement "iVar9 = -4;" (assignment_expression "iVar9 = -4" identifier = number_literal) ;) (goto_statement "goto LAB_0027536c;" goto statement_identifier ;) })) (expression_statement "iVar9 = -4;" (assignment_expression "iVar9 = -4" identifier = number_literal) ;) (if_statement "if (0x3fffffff < uVar16) goto LAB_0027536c;" if (parenthesized_expression "(0x3fffffff < uVar16)" ( (binary_expression "0x3fffffff < uVar16" number_literal < identifier) )) (goto_statement "goto LAB_0027536c;" goto statement_identifier ;)) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (if_statement "if (uVar16 != 0) goto LAB_00275498;" if (parenthesized_expression "(uVar16 != 0)" ( (binary_expression "uVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00275498;" goto statement_identifier ;)) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) }))) (expression_statement "piVar22 = (int *)(iVar4 + iVar19);" (assignment_expression "piVar22 = (int *)(iVar4 + iVar19)" identifier = (cast_expression "(int *)(iVar4 + iVar19)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar19)" ( (binary_expression "iVar4 + iVar19" identifier + identifier) )))) ;) (expression_statement "iVar18 = iVar4 + iVar19 + 4;" (assignment_expression "iVar18 = iVar4 + iVar19 + 4" identifier = (binary_expression "iVar4 + iVar19 + 4" (binary_expression "iVar4 + iVar19" identifier + identifier) + number_literal)) ;) (expression_statement "*piVar22 = *piVar3;" (assignment_expression "*piVar22 = *piVar3" (pointer_expression "*piVar22" * identifier) = (pointer_expression "*piVar3" * identifier)) ;) (expression_statement "iVar26 = iVar18 + (iVar12 - iVar1);" (assignment_expression "iVar26 = iVar18 + (iVar12 - iVar1)" identifier = (binary_expression "iVar18 + (iVar12 - iVar1)" identifier + (parenthesized_expression "(iVar12 - iVar1)" ( (binary_expression "iVar12 - iVar1" identifier - identifier) )))) ;) (if_statement "if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }" if (parenthesized_expression "(iVar7 == iVar1)" ( (binary_expression "iVar7 == iVar1" identifier == identifier) )) (compound_statement "{\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }" { (expression_statement "pcVar23 = *(code **)(pcVar25 + 0x1c1490);" (assignment_expression "pcVar23 = *(code **)(pcVar25 + 0x1c1490)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x1c1490)" * (cast_expression "(code **)(pcVar25 + 0x1c1490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1c1490)" ( (binary_expression "pcVar25 + 0x1c1490" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 != iVar7) goto LAB_002753cc;" if (parenthesized_expression "(iVar12 != iVar7)" ( (binary_expression "iVar12 != iVar7" identifier != identifier) )) (goto_statement "goto LAB_002753cc;" goto statement_identifier ;)) }) (else_clause "else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }" else (compound_statement "{\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }" { (expression_statement "(**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);" (call_expression "(**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19)" (parenthesized_expression "(**(code **)(pcVar25 + 0x1c13e0))" ( (pointer_expression "**(code **)(pcVar25 + 0x1c13e0)" * (pointer_expression "*(code **)(pcVar25 + 0x1c13e0)" * (cast_expression "(code **)(pcVar25 + 0x1c13e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1c13e0)" ( (binary_expression "pcVar25 + 0x1c13e0" identifier + number_literal) ))))) )) (argument_list "(iVar4,iVar7,iVar19)" ( identifier , identifier , identifier ))) ;) (if_statement "if (iVar12 == iVar1) goto LAB_00275420;" if (parenthesized_expression "(iVar12 == iVar1)" ( (binary_expression "iVar12 == iVar1" identifier == identifier) )) (goto_statement "goto LAB_00275420;" goto statement_identifier ;)) (expression_statement "pcVar23 = *(code **)(pcVar25 + 0x1c1490);" (assignment_expression "pcVar23 = *(code **)(pcVar25 + 0x1c1490)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x1c1490)" * (cast_expression "(code **)(pcVar25 + 0x1c1490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1c1490)" ( (binary_expression "pcVar25 + 0x1c1490" identifier + number_literal) ))))) ;) (labeled_statement "LAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);" statement_identifier : (expression_statement "piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);" (assignment_expression "piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1)" identifier = (cast_expression "(int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar23)(iVar18,iVar1,iVar12 - iVar1)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(iVar18,iVar1,iVar12 - iVar1)" ( identifier , identifier , (binary_expression "iVar12 - iVar1" identifier - identifier) ))))) ;)) }))) (if_statement "if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }" { (expression_statement "*piVar2 = iVar4;" (assignment_expression "*piVar2 = iVar4" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "piVar2[1] = iVar26;" (assignment_expression "piVar2[1] = iVar26" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[2] = iVar9;" (assignment_expression "piVar2[2] = iVar9" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = identifier) ;) (return_statement "return piVar22;" return identifier ;) })) (labeled_statement "LAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);" statement_identifier : (expression_statement "piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);" (assignment_expression "piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7)" identifier = (cast_expression "(int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0x1bcf94))(iVar7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x1bcf94))" ( (pointer_expression "**(code **)(pcVar25 + 0x1bcf94)" * (pointer_expression "*(code **)(pcVar25 + 0x1bcf94)" * (cast_expression "(code **)(pcVar25 + 0x1bcf94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1bcf94)" ( (binary_expression "pcVar25 + 0x1bcf94" identifier + number_literal) ))))) )) (argument_list "(iVar7)" ( identifier ))))) ;)) (expression_statement "*piVar2 = iVar4;" (assignment_expression "*piVar2 = iVar4" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "piVar2[1] = iVar26;" (assignment_expression "piVar2[1] = iVar26" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[2] = iVar9;" (assignment_expression "piVar2[2] = iVar9" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = identifier) ;) (return_statement "return piVar3;" return identifier ;) })) (if_statement "if (uVar16 == 0) goto LAB_00275238;" if (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00275238;" goto statement_identifier ;)) (expression_statement "uVar11 = 0x11d;" (assignment_expression "uVar11 = 0x11d" identifier = number_literal) ;) }))) (labeled_statement "LAB_002751a8:\n  iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;" statement_identifier : (expression_statement "iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;" (assignment_expression "iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88" identifier = (binary_expression "*(int *)(pcVar23 + 0x1bd124) + 0x1f88" (pointer_expression "*(int *)(pcVar23 + 0x1bd124)" * (cast_expression "(int *)(pcVar23 + 0x1bd124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x1bd124)" ( (binary_expression "pcVar23 + 0x1bd124" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0);" (assignment_expression "pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0)" identifier = (cast_expression "(code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0)" ( (binary_expression "*(int *)(pcVar23 + 0x1bd124) + 0x1dc0" (pointer_expression "*(int *)(pcVar23 + 0x1bd124)" * (cast_expression "(int *)(pcVar23 + 0x1bd124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x1bd124)" ( (binary_expression "pcVar23 + 0x1bd124" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1);" (call_expression "(**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1)" (parenthesized_expression "(**(code **)(pcVar23 + 0x1bd27c))" ( (pointer_expression "**(code **)(pcVar23 + 0x1bd27c)" * (pointer_expression "*(code **)(pcVar23 + 0x1bd27c)" * (cast_expression "(code **)(pcVar23 + 0x1bd27c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x1bd27c)" ( (binary_expression "pcVar23 + 0x1bd27c" identifier + number_literal) ))))) )) (argument_list "(pcVar25,uVar11,iVar1)" ( identifier , identifier , identifier ))) ;) (expression_statement "iStackY_c4 = extraout_v1_01;" (assignment_expression "iStackY_c4 = extraout_v1_01" identifier = identifier) ;) (labeled_statement "LAB_002751c0:\n  uVar13 = *(uint *)(pcVar25 + 4);" statement_identifier : (expression_statement "uVar13 = *(uint *)(pcVar25 + 4);" (assignment_expression "uVar13 = *(uint *)(pcVar25 + 4)" identifier = (pointer_expression "*(uint *)(pcVar25 + 4)" * (cast_expression "(uint *)(pcVar25 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 4)" ( (binary_expression "pcVar25 + 4" identifier + number_literal) ))))) ;)) (expression_statement "piVar2 = *(int **)pcVar25;" (assignment_expression "piVar2 = *(int **)pcVar25" identifier = (pointer_expression "*(int **)pcVar25" * (cast_expression "(int **)pcVar25" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (goto_statement "goto LAB_002751d0;" goto statement_identifier ;) }))))
(translation_unit (declaration TYPE (pointer_declarator * IDENT) ;) (labeled_statement statement_identifier : (ERROR :) (labeled_statement statement_identifier : (ERROR : (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (parenthesized_expression ( (comma_expression IDENT (ERROR IDENT) , (ERROR IDENT) (comma_expression IDENT , (ERROR IDENT) (comma_expression IDENT , (ERROR IDENT) (comma_expression IDENT , (ERROR IDENT) IDENT)))) ))))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ LIT) )) - LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) + IDENT) )))) ;)) }))) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) ))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (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 ( ))) ;) (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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) )))) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )))) , (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) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (comma_expression (assignment_expression IDENT = (binary_expression IDENT < LIT)) , (binary_expression BOOL > (parenthesized_expression ( (comma_expression IDENT , (comma_expression IDENT , (comma_expression (binary_expression IDENT + IDENT) , (comma_expression (pointer_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 IDENT + (pointer_expression * IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (return_statement return IDENT ;) })) })) (expression_statement (call_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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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 , 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 *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) >> LIT) ))) < IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) 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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT * LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }))) (for_statement for ( ; (binary_expression IDENT != IDENT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (return_statement return IDENT ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_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 (parenthesized_expression ( (binary_expression IDENT < (parenthesized_expression ( (binary_expression IDENT ^ LIT) ))) )) - LIT) )))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) << LIT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) >> LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) - LIT) )))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) )))) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) + IDENT) + (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + IDENT) < IDENT) )) + IDENT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (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 * (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) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (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) ))))) + LIT) ))))) )) (argument_list ( )))) ;) (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 IDENT + (call_expression IDENT (argument_list ( IDENT , IDENT )))) ))) >> LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_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 (parenthesized_expression ( (binary_expression IDENT < (parenthesized_expression ( (binary_expression IDENT ^ LIT) ))) )) - LIT) )))) ;) (break_statement break ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) - LIT) )))) ;) (break_statement break ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (break_statement break ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (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) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) }) while (parenthesized_expression ( BOOL )) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) ))) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) + IDENT) + (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + IDENT) < IDENT) ))) + IDENT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (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) ))))) + LIT) ))))) )) (argument_list ( )))) ;) (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 IDENT + (call_expression IDENT (argument_list ( IDENT , IDENT )))) ))) >> LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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 ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (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 , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT - IDENT) ))))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return IDENT ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (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 ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (goto_statement goto statement_identifier ;) }))))
(declaration "int * __thiscall" (primitive_type "int") (pointer_declarator "* __thiscall" (* "*") (identifier "__thiscall")) (; "")) (labeled_statement "gold::Eh_frame_hdr::get_fde_pc<32,true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int extraout_v1;\n  int iVar7;\n  code *extraout_v1_00;\n  int extraout_v1_01;\n  undefined *puVar8;\n  int iVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined4 *puVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  int *unaff_s1;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  int *piVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  int iVar26;\n  longlong lVar27;\n  int iStackY_c4;\n  int iStackY_9c;\n  byte bStackY_95;\n  undefined4 uStack_58;\n  int iStack_54;\n  uint uStack_50;\n  int *piStack_4c;\n  \n  uVar16 = (uint)param_5;\n  uVar6 = uVar16 & 7;\n  puVar14 = (uint *)(param_3 + param_4 + 8);\n  if (((param_5 & 7) == 0) || (uVar6 == 3)) {\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }\n  else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }\n  while( true ) {\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }\n  iVar12 = 0x69;\n  puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4);\n  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n  puVar24 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  iVar7 = *(int *)(puVar8 + 0x30);\n  iVar1 = *(int *)(iVar7 + 0x20);\n  uVar6 = param_4;\n  uStack_50 = uVar16;\n  piStack_4c = unaff_s1;\n  if (iVar1 < 0) {\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }\n  uVar13 = 0xc5;\n  pcVar23 = *(code **)(puVar24 + 0x1bd740);\n  iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc;\n  puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0);\n  (*pcVar23)(puVar14,0xc5,iVar1);\n  if (uVar13 < 0x10000000) {\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }\n  pcVar25 = *(code **)(pcVar23 + 0x1bd64c);\n  (*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864);\n  bVar5 = bStackY_95 & 7;\n  pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4;\n  if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;\n  if (bVar5 == 3) {\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }\n  else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }\n  piVar2 = (int *)0x0;\nLAB_00275014:\n  do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );\nLAB_002751d0:\n  uVar16 = uVar17 & 0x70;\n  if (uVar16 == 0x10) {\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }\n  else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }\nLAB_002751a8:\n  iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;\n  pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0);\n  (**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1);\n  iStackY_c4 = extraout_v1_01;\nLAB_002751c0:\n  uVar13 = *(uint *)(pcVar25 + 4);\n  piVar2 = *(int **)pcVar25;\n  goto LAB_002751d0;\n}" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (labeled_statement "Eh_frame_hdr::get_fde_pc<32,true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int extraout_v1;\n  int iVar7;\n  code *extraout_v1_00;\n  int extraout_v1_01;\n  undefined *puVar8;\n  int iVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined4 *puVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  int *unaff_s1;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  int *piVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  int iVar26;\n  longlong lVar27;\n  int iStackY_c4;\n  int iStackY_9c;\n  byte bStackY_95;\n  undefined4 uStack_58;\n  int iStack_54;\n  uint uStack_50;\n  int *piStack_4c;\n  \n  uVar16 = (uint)param_5;\n  uVar6 = uVar16 & 7;\n  puVar14 = (uint *)(param_3 + param_4 + 8);\n  if (((param_5 & 7) == 0) || (uVar6 == 3)) {\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }\n  else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }\n  while( true ) {\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }\n  iVar12 = 0x69;\n  puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4);\n  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n  puVar24 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  iVar7 = *(int *)(puVar8 + 0x30);\n  iVar1 = *(int *)(iVar7 + 0x20);\n  uVar6 = param_4;\n  uStack_50 = uVar16;\n  piStack_4c = unaff_s1;\n  if (iVar1 < 0) {\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }\n  uVar13 = 0xc5;\n  pcVar23 = *(code **)(puVar24 + 0x1bd740);\n  iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc;\n  puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0);\n  (*pcVar23)(puVar14,0xc5,iVar1);\n  if (uVar13 < 0x10000000) {\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }\n  pcVar25 = *(code **)(pcVar23 + 0x1bd64c);\n  (*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864);\n  bVar5 = bStackY_95 & 7;\n  pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4;\n  if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;\n  if (bVar5 == 3) {\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }\n  else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }\n  piVar2 = (int *)0x0;\nLAB_00275014:\n  do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );\nLAB_002751d0:\n  uVar16 = uVar17 & 0x70;\n  if (uVar16 == 0x10) {\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }\n  else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }\nLAB_002751a8:\n  iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;\n  pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0);\n  (**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1);\n  iStackY_c4 = extraout_v1_01;\nLAB_002751c0:\n  uVar13 = *(uint *)(pcVar25 + 4);\n  piVar2 = *(int **)pcVar25;\n  goto LAB_002751d0;\n}" (statement_identifier "Eh_frame_hdr") (: ":") (ERROR ":get_fde_pc<32,true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)" (: ":") (comma_expression "get_fde_pc<32,true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)" (binary_expression "get_fde_pc<32" (identifier "get_fde_pc") (< "<") (number_literal "32")) (, ",") (binary_expression "true>\n          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)" (true "true") (> ">") (parenthesized_expression "(undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)" (( "(") (comma_expression "undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5" (identifier "undefined4") (ERROR "param_1" (identifier "param_1")) (, ",") (ERROR "int" (identifier "int")) (comma_expression "param_2,int param_3,uint param_4,byte param_5" (identifier "param_2") (, ",") (ERROR "int" (identifier "int")) (comma_expression "param_3,uint param_4,byte param_5" (identifier "param_3") (, ",") (ERROR "uint" (identifier "uint")) (comma_expression "param_4,byte param_5" (identifier "param_4") (, ",") (ERROR "byte" (identifier "byte")) (identifier "param_5"))))) () ")"))))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  byte bVar5;\n  int iVar4;\n  uint uVar6;\n  int extraout_v1;\n  int iVar7;\n  code *extraout_v1_00;\n  int extraout_v1_01;\n  undefined *puVar8;\n  int iVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint *puVar14;\n  undefined4 *puVar15;\n  uint uVar16;\n  uint uVar17;\n  int iVar18;\n  int *unaff_s1;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  int *piVar22;\n  code *pcVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  int iVar26;\n  longlong lVar27;\n  int iStackY_c4;\n  int iStackY_9c;\n  byte bStackY_95;\n  undefined4 uStack_58;\n  int iStack_54;\n  uint uStack_50;\n  int *piStack_4c;\n  \n  uVar16 = (uint)param_5;\n  uVar6 = uVar16 & 7;\n  puVar14 = (uint *)(param_3 + param_4 + 8);\n  if (((param_5 & 7) == 0) || (uVar6 == 3)) {\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }\n  else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }\n  while( true ) {\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }\n  iVar12 = 0x69;\n  puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4);\n  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n  puVar24 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  iVar7 = *(int *)(puVar8 + 0x30);\n  iVar1 = *(int *)(iVar7 + 0x20);\n  uVar6 = param_4;\n  uStack_50 = uVar16;\n  piStack_4c = unaff_s1;\n  if (iVar1 < 0) {\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }\n  uVar13 = 0xc5;\n  pcVar23 = *(code **)(puVar24 + 0x1bd740);\n  iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc;\n  puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0);\n  (*pcVar23)(puVar14,0xc5,iVar1);\n  if (uVar13 < 0x10000000) {\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }\n  pcVar25 = *(code **)(pcVar23 + 0x1bd64c);\n  (*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864);\n  bVar5 = bStackY_95 & 7;\n  pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4;\n  if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;\n  if (bVar5 == 3) {\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }\n  else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }\n  piVar2 = (int *)0x0;\nLAB_00275014:\n  do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );\nLAB_002751d0:\n  uVar16 = uVar17 & 0x70;\n  if (uVar16 == 0x10) {\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }\n  else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }\nLAB_002751a8:\n  iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;\n  pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0);\n  (**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1);\n  iStackY_c4 = extraout_v1_01;\nLAB_002751c0:\n  uVar13 = *(uint *)(pcVar25 + 4);\n  piVar2 = *(int **)pcVar25;\n  goto LAB_002751d0;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "byte bVar5;" (type_identifier "byte") (identifier "bVar5") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "int extraout_v1;" (primitive_type "int") (identifier "extraout_v1") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "code *extraout_v1_00;" (type_identifier "code") (pointer_declarator "*extraout_v1_00" (* "*") (identifier "extraout_v1_00")) (; ";")) (declaration "int extraout_v1_01;" (primitive_type "int") (identifier "extraout_v1_01") (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "uint *puVar14;" (type_identifier "uint") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined4 *puVar15;" (type_identifier "undefined4") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "int *unaff_s1;" (primitive_type "int") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")) (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "int *piVar20;" (primitive_type "int") (pointer_declarator "*piVar20" (* "*") (identifier "piVar20")) (; ";")) (declaration "int *piVar21;" (primitive_type "int") (pointer_declarator "*piVar21" (* "*") (identifier "piVar21")) (; ";")) (declaration "int *piVar22;" (primitive_type "int") (pointer_declarator "*piVar22" (* "*") (identifier "piVar22")) (; ";")) (declaration "code *pcVar23;" (type_identifier "code") (pointer_declarator "*pcVar23" (* "*") (identifier "pcVar23")) (; ";")) (declaration "undefined *puVar24;" (type_identifier "undefined") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "code *pcVar25;" (type_identifier "code") (pointer_declarator "*pcVar25" (* "*") (identifier "pcVar25")) (; ";")) (declaration "int iVar26;" (primitive_type "int") (identifier "iVar26") (; ";")) (declaration "longlong lVar27;" (type_identifier "longlong") (identifier "lVar27") (; ";")) (declaration "int iStackY_c4;" (primitive_type "int") (identifier "iStackY_c4") (; ";")) (declaration "int iStackY_9c;" (primitive_type "int") (identifier "iStackY_9c") (; ";")) (declaration "byte bStackY_95;" (type_identifier "byte") (identifier "bStackY_95") (; ";")) (declaration "undefined4 uStack_58;" (type_identifier "undefined4") (identifier "uStack_58") (; ";")) (declaration "int iStack_54;" (primitive_type "int") (identifier "iStack_54") (; ";")) (declaration "uint uStack_50;" (type_identifier "uint") (identifier "uStack_50") (; ";")) (declaration "int *piStack_4c;" (primitive_type "int") (pointer_declarator "*piStack_4c" (* "*") (identifier "piStack_4c")) (; ";")) (expression_statement "uVar16 = (uint)param_5;" (assignment_expression "uVar16 = (uint)param_5" (identifier "uVar16") (= "=") (cast_expression "(uint)param_5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_5"))) (; ";")) (expression_statement "uVar6 = uVar16 & 7;" (assignment_expression "uVar6 = uVar16 & 7" (identifier "uVar6") (= "=") (binary_expression "uVar16 & 7" (identifier "uVar16") (& "&") (number_literal "7"))) (; ";")) (expression_statement "puVar14 = (uint *)(param_3 + param_4 + 8);" (assignment_expression "puVar14 = (uint *)(param_3 + param_4 + 8)" (identifier "puVar14") (= "=") (cast_expression "(uint *)(param_3 + param_4 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + param_4 + 8)" (( "(") (binary_expression "param_3 + param_4 + 8" (binary_expression "param_3 + param_4" (identifier "param_3") (+ "+") (identifier "param_4")) (+ "+") (number_literal "8")) () ")")))) (; ";")) (if_statement "if (((param_5 & 7) == 0) || (uVar6 == 3)) {\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }\n  else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }" (if "if") (parenthesized_expression "(((param_5 & 7) == 0) || (uVar6 == 3))" (( "(") (binary_expression "((param_5 & 7) == 0) || (uVar6 == 3)" (parenthesized_expression "((param_5 & 7) == 0)" (( "(") (binary_expression "(param_5 & 7) == 0" (parenthesized_expression "(param_5 & 7)" (( "(") (binary_expression "param_5 & 7" (identifier "param_5") (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar6 == 3)" (( "(") (binary_expression "uVar6 == 3" (identifier "uVar6") (== "==") (number_literal "3")) () ")"))) () ")")) (compound_statement "{\n    unaff_s1 = (int *)*puVar14;\nLAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;\nLAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;\n    if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }\n  }" ({ "{") (expression_statement "unaff_s1 = (int *)*puVar14;" (assignment_expression "unaff_s1 = (int *)*puVar14" (identifier "unaff_s1") (= "=") (cast_expression "(int *)*puVar14" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")))) (; ";")) (labeled_statement "LAB_00274bec:\n    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;" (statement_identifier "LAB_00274bec") (: ":") (if_statement "if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;" (if "if") (parenthesized_expression "((uVar16 & 0x70) == 0x10)" (( "(") (binary_expression "(uVar16 & 0x70) == 0x10" (parenthesized_expression "(uVar16 & 0x70)" (( "(") (binary_expression "uVar16 & 0x70" (identifier "uVar16") (& "&") (number_literal "0x70")) () ")")) (== "==") (number_literal "0x10")) () ")")) (goto_statement "goto LAB_00274bb8;" (goto "goto") (statement_identifier "LAB_00274bb8") (; ";")))) (labeled_statement "LAB_00274bfc:\n    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;" (statement_identifier "LAB_00274bfc") (: ":") (if_statement "if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;" (if "if") (parenthesized_expression "((uVar16 & 0x70) == 0x30)" (( "(") (binary_expression "(uVar16 & 0x70) == 0x30" (parenthesized_expression "(uVar16 & 0x70)" (( "(") (binary_expression "uVar16 & 0x70" (identifier "uVar16") (& "&") (number_literal "0x70")) () ")")) (== "==") (number_literal "0x30")) () ")")) (goto_statement "goto LAB_00274c2c;" (goto "goto") (statement_identifier "LAB_00274c2c") (; ";")))) (if_statement "if ((param_5 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }" (if "if") (parenthesized_expression "((param_5 & 0x70) != 0)" (( "(") (binary_expression "(param_5 & 0x70) != 0" (parenthesized_expression "(param_5 & 0x70)" (( "(") (binary_expression "param_5 & 0x70" (identifier "param_5") (& "&") (number_literal "0x70")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar11 = 0x11d;\n      goto LAB_00274c14;\n    }" ({ "{") (expression_statement "uVar11 = 0x11d;" (assignment_expression "uVar11 = 0x11d" (identifier "uVar11") (= "=") (number_literal "0x11d")) (; ";")) (goto_statement "goto LAB_00274c14;" (goto "goto") (statement_identifier "LAB_00274c14") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }" (else "else") (compound_statement "{\n    if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }\n    if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }\n    unaff_s1 = (int *)(uint)*(ushort *)puVar14;\n    if ((param_5 & 8) == 0) goto LAB_00274bec;\n    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;\nLAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);\n  }" ({ "{") (if_statement "if (uVar6 == 4) {\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }" (if "if") (parenthesized_expression "(uVar6 == 4)" (( "(") (binary_expression "uVar6 == 4" (identifier "uVar6") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n      uVar11 = 0x104;\n      goto LAB_00274c14;\n    }" ({ "{") (expression_statement "uVar11 = 0x104;" (assignment_expression "uVar11 = 0x104" (identifier "uVar11") (= "=") (number_literal "0x104")) (; ";")) (goto_statement "goto LAB_00274c14;" (goto "goto") (statement_identifier "LAB_00274c14") (; ";")) (} "}"))) (if_statement "if (uVar6 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }" (if "if") (parenthesized_expression "(uVar6 != 2)" (( "(") (binary_expression "uVar6 != 2" (identifier "uVar6") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n      uVar11 = 0x10a;\n      goto LAB_00274c14;\n    }" ({ "{") (expression_statement "uVar11 = 0x10a;" (assignment_expression "uVar11 = 0x10a" (identifier "uVar11") (= "=") (number_literal "0x10a")) (; ";")) (goto_statement "goto LAB_00274c14;" (goto "goto") (statement_identifier "LAB_00274c14") (; ";")) (} "}"))) (expression_statement "unaff_s1 = (int *)(uint)*(ushort *)puVar14;" (assignment_expression "unaff_s1 = (int *)(uint)*(ushort *)puVar14" (identifier "unaff_s1") (= "=") (binary_expression "(int *)(uint)*(ushort *)puVar14" (cast_expression "(int *)(uint)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(ushort *)puVar14" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar14")))) (; ";")) (if_statement "if ((param_5 & 8) == 0) goto LAB_00274bec;" (if "if") (parenthesized_expression "((param_5 & 8) == 0)" (( "(") (binary_expression "(param_5 & 8) == 0" (parenthesized_expression "(param_5 & 8)" (( "(") (binary_expression "param_5 & 8" (identifier "param_5") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00274bec;" (goto "goto") (statement_identifier "LAB_00274bec") (; ";"))) (expression_statement "unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);" (assignment_expression "unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000)" (identifier "unaff_s1") (= "=") (cast_expression "(int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((uint)unaff_s1 ^ 0x8000) - 0x8000)" (( "(") (binary_expression "((uint)unaff_s1 ^ 0x8000) - 0x8000" (parenthesized_expression "((uint)unaff_s1 ^ 0x8000)" (( "(") (binary_expression "(uint)unaff_s1 ^ 0x8000" (cast_expression "(uint)unaff_s1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s1")) (^ "^") (number_literal "0x8000")) () ")")) (- "-") (number_literal "0x8000")) () ")")))) (; ";")) (if_statement "if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;" (if "if") (parenthesized_expression "((uVar16 & 0x70) != 0x10)" (( "(") (binary_expression "(uVar16 & 0x70) != 0x10" (parenthesized_expression "(uVar16 & 0x70)" (( "(") (binary_expression "uVar16 & 0x70" (identifier "uVar16") (& "&") (number_literal "0x70")) () ")")) (!= "!=") (number_literal "0x10")) () ")")) (goto_statement "goto LAB_00274bfc;" (goto "goto") (statement_identifier "LAB_00274bfc") (; ";"))) (labeled_statement "LAB_00274bb8:\n    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);" (statement_identifier "LAB_00274bb8") (: ":") (expression_statement "unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);" (assignment_expression "unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4)" (identifier "unaff_s1") (= "=") (cast_expression "(int *)((int)unaff_s1 + param_2 + 8 + param_4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s1 + param_2 + 8 + param_4)" (( "(") (binary_expression "(int)unaff_s1 + param_2 + 8 + param_4" (binary_expression "(int)unaff_s1 + param_2 + 8" (binary_expression "(int)unaff_s1 + param_2" (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1")) (+ "+") (identifier "param_2")) (+ "+") (number_literal "8")) (+ "+") (identifier "param_4")) () ")")))) (; ";"))) (} "}")))) (while_statement "while( true ) {\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    uVar16 = (uint)(char)param_5;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }\nLAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);\nLAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;\n    param_5 = (byte)uVar16;\n    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();\n    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);\n  }" ({ "{") (expression_statement "uVar16 = (uint)(char)param_5;" (assignment_expression "uVar16 = (uint)(char)param_5" (identifier "uVar16") (= "=") (cast_expression "(uint)(char)param_5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)param_5" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "param_5")))) (; ";")) (expression_statement "uVar11 = 0x120;" (assignment_expression "uVar11 = 0x120" (identifier "uVar11") (= "=") (number_literal "0x120")) (; ";")) (if_statement "if (-1 < (int)uVar16) {\n      return unaff_s1;\n    }" (if "if") (parenthesized_expression "(-1 < (int)uVar16)" (( "(") (binary_expression "-1 < (int)uVar16" (number_literal "-1") (< "<") (cast_expression "(int)uVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar16"))) () ")")) (compound_statement "{\n      return unaff_s1;\n    }" ({ "{") (return_statement "return unaff_s1;" (return "return") (identifier "unaff_s1") (; ";")) (} "}"))) (labeled_statement "LAB_00274c14:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);" (statement_identifier "LAB_00274c14") (: ":") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0)" (( "(") (binary_expression "PTR_DAT_0043226c + 0x1dc0" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x1dc0")) (, ",") (identifier "uVar11") (, ",") (binary_expression "PTR_DAT_0043226c + 0x1fc0" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x1fc0")) () ")"))) (; ";"))) (labeled_statement "LAB_00274c2c:\n    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;" (statement_identifier "LAB_00274c2c") (: ":") (if_statement "if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;" (if "if") (parenthesized_expression "(*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0)" (( "(") (binary_expression "*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0" (pointer_expression "*(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" (* "*") (cast_expression "(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 0xc)" (( "(") (binary_expression "*(int *)PTR_parameters_00432be0 + 0xc" (pointer_expression "*(int *)PTR_parameters_00432be0" (* "*") (cast_expression "(int *)PTR_parameters_00432be0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_00432be0"))) (+ "+") (number_literal "0xc")) () ")")))) (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";")))) (expression_statement "param_5 = (byte)uVar16;" (assignment_expression "param_5 = (byte)uVar16" (identifier "param_5") (= "=") (cast_expression "(byte)uVar16" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar16"))) (; ";")) (expression_statement "(**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();" (call_expression "(**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))" (( "(") (pointer_expression "**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50)" (* "*") (pointer_expression "*(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50)" (* "*") (cast_expression "(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50)" (( "(") (binary_expression "**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50" (pointer_expression "**(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" (* "*") (pointer_expression "*(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" (* "*") (cast_expression "(int **)(*(int *)PTR_parameters_00432be0 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 0xc)" (( "(") (binary_expression "*(int *)PTR_parameters_00432be0 + 0xc" (pointer_expression "*(int *)PTR_parameters_00432be0" (* "*") (cast_expression "(int *)PTR_parameters_00432be0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_00432be0"))) (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);" (assignment_expression "unaff_s1 = (int *)((int)unaff_s1 + extraout_v1)" (identifier "unaff_s1") (= "=") (cast_expression "(int *)((int)unaff_s1 + extraout_v1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s1 + extraout_v1)" (( "(") (binary_expression "(int)unaff_s1 + extraout_v1" (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1")) (+ "+") (identifier "extraout_v1")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar12 = 0x69;" (assignment_expression "iVar12 = 0x69" (identifier "iVar12") (= "=") (number_literal "0x69")) (; ";")) (expression_statement "puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4);" (assignment_expression "puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4)" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)(PTR_DAT_0043226c + 0x1fe4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043226c + 0x1fe4)" (( "(") (binary_expression "PTR_DAT_0043226c + 0x1fe4" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x1fe4")) () ")")))) (; ";")) (expression_statement "puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;" (assignment_expression "puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec" (identifier "puVar8") (= "=") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x5cec"))) (; ";")) (expression_statement "puVar24 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar24 = PTR_do_gold_unreachable_004323c4" (identifier "puVar24") (= "=") (identifier "PTR_do_gold_unreachable_004323c4")) (; ";")) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)();" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)()" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar7 = *(int *)(puVar8 + 0x30);" (assignment_expression "iVar7 = *(int *)(puVar8 + 0x30)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(puVar8 + 0x30)" (* "*") (cast_expression "(int *)(puVar8 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x30)" (( "(") (binary_expression "puVar8 + 0x30" (identifier "puVar8") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "iVar1 = *(int *)(iVar7 + 0x20);" (assignment_expression "iVar1 = *(int *)(iVar7 + 0x20)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(iVar7 + 0x20)" (* "*") (cast_expression "(int *)(iVar7 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x20)" (( "(") (binary_expression "iVar7 + 0x20" (identifier "iVar7") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar6 = param_4;" (assignment_expression "uVar6 = param_4" (identifier "uVar6") (= "=") (identifier "param_4")) (; ";")) (expression_statement "uStack_50 = uVar16;" (assignment_expression "uStack_50 = uVar16" (identifier "uStack_50") (= "=") (identifier "uVar16")) (; ";")) (expression_statement "piStack_4c = unaff_s1;" (assignment_expression "piStack_4c = unaff_s1" (identifier "piStack_4c") (= "=") (identifier "unaff_s1")) (; ";")) (if_statement "if (iVar1 < 0) {\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }" (if "if") (parenthesized_expression "(iVar1 < 0)" (( "(") (binary_expression "iVar1 < 0" (identifier "iVar1") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    iVar19 = *(int *)(iVar7 + 0xc);\n    if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }\n    (**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);\n  }" ({ "{") (expression_statement "iVar19 = *(int *)(iVar7 + 0xc);" (assignment_expression "iVar19 = *(int *)(iVar7 + 0xc)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(iVar7 + 0xc)" (* "*") (cast_expression "(int *)(iVar7 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xc)" (( "(") (binary_expression "iVar7 + 0xc" (identifier "iVar7") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar1 << 2 < 0) {\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }" (if "if") (parenthesized_expression "(iVar1 << 2 < 0)" (( "(") (binary_expression "iVar1 << 2 < 0" (binary_expression "iVar1 << 2" (identifier "iVar1") (<< "<<") (number_literal "2")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      iVar9 = *(int *)(iVar7 + 0x1c);\n      if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }\n      (**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);\n    }" ({ "{") (expression_statement "iVar9 = *(int *)(iVar7 + 0x1c);" (assignment_expression "iVar9 = *(int *)(iVar7 + 0x1c)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(iVar7 + 0x1c)" (* "*") (cast_expression "(int *)(iVar7 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1c)" (( "(") (binary_expression "iVar7 + 0x1c" (identifier "iVar7") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar1 << 1 < 0) {\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }" (if "if") (parenthesized_expression "(iVar1 << 1 < 0)" (( "(") (binary_expression "iVar1 << 1 < 0" (binary_expression "iVar1 << 1" (identifier "iVar1") (<< "<<") (number_literal "1")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }\n        FUN_00271ec8();\n      }" ({ "{") (if_statement "if (-1 < *(int *)(iVar7 + 0x18)) {\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar7 + 0x18))" (( "(") (binary_expression "-1 < *(int *)(iVar7 + 0x18)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(iVar7 + 0x18)" (* "*") (cast_expression "(int *)(iVar7 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x18)" (( "(") (binary_expression "iVar7 + 0x18" (identifier "iVar7") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;\n          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);\n          if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }\n        }" ({ "{") (expression_statement "uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;" (assignment_expression "uVar6 = *(uint *)(iVar7 + 0x14) + iVar9" (identifier "uVar6") (= "=") (binary_expression "*(uint *)(iVar7 + 0x14) + iVar9" (pointer_expression "*(uint *)(iVar7 + 0x14)" (* "*") (cast_expression "(uint *)(iVar7 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x14)" (( "(") (binary_expression "iVar7 + 0x14" (identifier "iVar7") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (identifier "iVar9"))) (; ";")) (expression_statement "iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);" (assignment_expression "iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18)" (identifier "iVar1") (= "=") (binary_expression "(uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18)" (call_expression "(uint)(uVar6 < *(uint *)(iVar7 + 0x14))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar6 < *(uint *)(iVar7 + 0x14))" (( "(") (binary_expression "uVar6 < *(uint *)(iVar7 + 0x14)" (identifier "uVar6") (< "<") (pointer_expression "*(uint *)(iVar7 + 0x14)" (* "*") (cast_expression "(uint *)(iVar7 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x14)" (( "(") (binary_expression "iVar7 + 0x14" (identifier "iVar7") (+ "+") (number_literal "0x14")) () ")"))))) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar7 + 0x18)" (* "*") (cast_expression "(int *)(iVar7 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x18)" (( "(") (binary_expression "iVar7 + 0x18" (identifier "iVar7") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (if_statement "if ((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }" (if "if") (parenthesized_expression "((iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0))))" (( "(") (binary_expression "(iVar1 <= *(int *)(iVar12 + 8)) &&\n             ((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))" (parenthesized_expression "(iVar1 <= *(int *)(iVar12 + 8))" (( "(") (binary_expression "iVar1 <= *(int *)(iVar12 + 8)" (identifier "iVar1") (<= "<=") (pointer_expression "*(int *)(iVar12 + 8)" (* "*") (cast_expression "(int *)(iVar12 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 8)" (( "(") (binary_expression "iVar12 + 8" (identifier "iVar12") (+ "+") (number_literal "8")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))" (( "(") (parenthesized_expression "(*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0))" (( "(") (binary_expression "*(int *)(iVar12 + 8) != iVar1 ||\n              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)" (binary_expression "*(int *)(iVar12 + 8) != iVar1" (pointer_expression "*(int *)(iVar12 + 8)" (* "*") (cast_expression "(int *)(iVar12 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 8)" (( "(") (binary_expression "iVar12 + 8" (identifier "iVar12") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (identifier "iVar1")) (|| "||") (parenthesized_expression "(uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)" (( "(") (comma_expression "uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0" (assignment_expression "uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6)" (identifier "uVar6") (= "=") (call_expression "(uint)(*(uint *)(iVar12 + 0xc) < uVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(iVar12 + 0xc) < uVar6)" (( "(") (binary_expression "*(uint *)(iVar12 + 0xc) < uVar6" (pointer_expression "*(uint *)(iVar12 + 0xc)" (* "*") (cast_expression "(uint *)(iVar12 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xc)" (( "(") (binary_expression "iVar12 + 0xc" (identifier "iVar12") (+ "+") (number_literal "0xc")) () ")")))) (< "<") (identifier "uVar6")) () ")")))) (, ",") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            iVar1 = *(int *)(iVar12 + 0x10);\n            piVar2 = (int *)puVar15[1];\n            if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }\n            return piVar2;\n          }" ({ "{") (expression_statement "iVar1 = *(int *)(iVar12 + 0x10);" (assignment_expression "iVar1 = *(int *)(iVar12 + 0x10)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(iVar12 + 0x10)" (* "*") (cast_expression "(int *)(iVar12 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x10)" (( "(") (binary_expression "iVar12 + 0x10" (identifier "iVar12") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "piVar2 = (int *)puVar15[1];" (assignment_expression "piVar2 = (int *)puVar15[1]" (identifier "piVar2") (= "=") (cast_expression "(int *)puVar15[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar15[1]" (identifier "puVar15") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if ((int *)*puVar15 != piVar2) {\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }" (if "if") (parenthesized_expression "((int *)*puVar15 != piVar2)" (( "(") (binary_expression "(int *)*puVar15 != piVar2" (cast_expression "(int *)*puVar15" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar15" (* "*") (identifier "puVar15"))) (!= "!=") (identifier "piVar2")) () ")")) (compound_statement "{\n              pcVar23 = *(code **)(puVar24 + 0x1bf518);\n              piVar3 = (int *)*puVar15;\n              do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);\n            }" ({ "{") (expression_statement "pcVar23 = *(code **)(puVar24 + 0x1bf518);" (assignment_expression "pcVar23 = *(code **)(puVar24 + 0x1bf518)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(puVar24 + 0x1bf518)" (* "*") (cast_expression "(code **)(puVar24 + 0x1bf518)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x1bf518)" (( "(") (binary_expression "puVar24 + 0x1bf518" (identifier "puVar24") (+ "+") (number_literal "0x1bf518")) () ")"))))) (; ";")) (expression_statement "piVar3 = (int *)*puVar15;" (assignment_expression "piVar3 = (int *)*puVar15" (identifier "piVar3") (= "=") (cast_expression "(int *)*puVar15" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar15" (* "*") (identifier "puVar15")))) (; ";")) (do_statement "do {\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              } while (piVar2 != piVar22);" (do "do") (compound_statement "{\n                piVar22 = piVar3 + 2;\n                uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));\n                iStack_54 = iVar19 + *piVar3;\n                (*pcVar23)(param_4,&uStack_58);\n                piVar2 = (int *)puVar15[1];\n                piVar3 = piVar22;\n              }" ({ "{") (expression_statement "piVar22 = piVar3 + 2;" (assignment_expression "piVar22 = piVar3 + 2" (identifier "piVar22") (= "=") (binary_expression "piVar3 + 2" (identifier "piVar3") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1));" (comma_expression "uStack_58 = get_fde_pc<32,true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1))" (assignment_expression "uStack_58 = get_fde_pc<32" (identifier "uStack_58") (= "=") (binary_expression "get_fde_pc<32" (identifier "get_fde_pc") (< "<") (number_literal "32"))) (, ",") (binary_expression "true>(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1))" (true "true") (> ">") (parenthesized_expression "(puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1))" (( "(") (comma_expression "puVar8,iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1)" (identifier "puVar8") (, ",") (comma_expression "iVar19,iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1)" (identifier "iVar19") (, ",") (comma_expression "iVar1 + iVar9,*piVar3,\n                                                *(undefined1 *)(piVar3 + 1)" (binary_expression "iVar1 + iVar9" (identifier "iVar1") (+ "+") (identifier "iVar9")) (, ",") (comma_expression "*piVar3,\n                                                *(undefined1 *)(piVar3 + 1)" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (, ",") (pointer_expression "*(undefined1 *)(piVar3 + 1)" (* "*") (cast_expression "(undefined1 *)(piVar3 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar3 + 1)" (( "(") (binary_expression "piVar3 + 1" (identifier "piVar3") (+ "+") (number_literal "1")) () ")")))))))) () ")")))) (; ";")) (expression_statement "iStack_54 = iVar19 + *piVar3;" (assignment_expression "iStack_54 = iVar19 + *piVar3" (identifier "iStack_54") (= "=") (binary_expression "iVar19 + *piVar3" (identifier "iVar19") (+ "+") (pointer_expression "*piVar3" (* "*") (identifier "piVar3")))) (; ";")) (expression_statement "(*pcVar23)(param_4,&uStack_58);" (call_expression "(*pcVar23)(param_4,&uStack_58)" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "(param_4,&uStack_58)" (( "(") (identifier "param_4") (, ",") (pointer_expression "&uStack_58" (& "&") (identifier "uStack_58")) () ")"))) (; ";")) (expression_statement "piVar2 = (int *)puVar15[1];" (assignment_expression "piVar2 = (int *)puVar15[1]" (identifier "piVar2") (= "=") (cast_expression "(int *)puVar15[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar15[1]" (identifier "puVar15") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "piVar3 = piVar22;" (assignment_expression "piVar3 = piVar22" (identifier "piVar3") (= "=") (identifier "piVar22")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar2 != piVar22)" (( "(") (binary_expression "piVar2 != piVar22" (identifier "piVar2") (!= "!=") (identifier "piVar22")) () ")")) (; ";")) (} "}"))) (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_00271ec8();" (call_expression "FUN_00271ec8()" (identifier "FUN_00271ec8") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);" (call_expression "(**(code **)(puVar24 + 0x1bd740))\n                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008)" (parenthesized_expression "(**(code **)(puVar24 + 0x1bd740))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x1bd740)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x1bd740)" (* "*") (cast_expression "(code **)(puVar24 + 0x1bd740)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x1bd740)" (( "(") (binary_expression "puVar24 + 0x1bd740" (identifier "puVar24") (+ "+") (number_literal "0x1bd740")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008)" (( "(") (binary_expression "*(int *)(puVar24 + 0x1bd730) + -0x4fe0" (pointer_expression "*(int *)(puVar24 + 0x1bd730)" (* "*") (cast_expression "(int *)(puVar24 + 0x1bd730)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0x1bd730)" (( "(") (binary_expression "puVar24 + 0x1bd730" (identifier "puVar24") (+ "+") (number_literal "0x1bd730")) () ")")))) (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0xcf") (, ",") (binary_expression "*(int *)(puVar24 + 0x1bd5e8) + 0x2008" (pointer_expression "*(int *)(puVar24 + 0x1bd5e8)" (* "*") (cast_expression "(int *)(puVar24 + 0x1bd5e8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0x1bd5e8)" (( "(") (binary_expression "puVar24 + 0x1bd5e8" (identifier "puVar24") (+ "+") (number_literal "0x1bd5e8")) () ")")))) (+ "+") (number_literal "0x2008")) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);" (call_expression "(**(code **)(puVar24 + 0x1bd740))\n              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014)" (parenthesized_expression "(**(code **)(puVar24 + 0x1bd740))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x1bd740)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x1bd740)" (* "*") (cast_expression "(code **)(puVar24 + 0x1bd740)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x1bd740)" (( "(") (binary_expression "puVar24 + 0x1bd740" (identifier "puVar24") (+ "+") (number_literal "0x1bd740")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014)" (( "(") (binary_expression "*(int *)(puVar24 + 0x1bd730) + -0x4fe0" (pointer_expression "*(int *)(puVar24 + 0x1bd730)" (* "*") (cast_expression "(int *)(puVar24 + 0x1bd730)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0x1bd730)" (( "(") (binary_expression "puVar24 + 0x1bd730" (identifier "puVar24") (+ "+") (number_literal "0x1bd730")) () ")")))) (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0xe3") (, ",") (binary_expression "*(int *)(puVar24 + 0x1bd5e8) + 0x2014" (pointer_expression "*(int *)(puVar24 + 0x1bd5e8)" (* "*") (cast_expression "(int *)(puVar24 + 0x1bd5e8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0x1bd5e8)" (( "(") (binary_expression "puVar24 + 0x1bd5e8" (identifier "puVar24") (+ "+") (number_literal "0x1bd5e8")) () ")")))) (+ "+") (number_literal "0x2014")) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar13 = 0xc5;" (assignment_expression "uVar13 = 0xc5" (identifier "uVar13") (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "pcVar23 = *(code **)(puVar24 + 0x1bd740);" (assignment_expression "pcVar23 = *(code **)(puVar24 + 0x1bd740)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(puVar24 + 0x1bd740)" (* "*") (cast_expression "(code **)(puVar24 + 0x1bd740)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x1bd740)" (( "(") (binary_expression "puVar24 + 0x1bd740" (identifier "puVar24") (+ "+") (number_literal "0x1bd740")) () ")"))))) (; ";")) (expression_statement "iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc;" (assignment_expression "iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc" (identifier "iVar1") (= "=") (binary_expression "*(int *)(puVar24 + 0x1bd5e8) + 0x1fdc" (pointer_expression "*(int *)(puVar24 + 0x1bd5e8)" (* "*") (cast_expression "(int *)(puVar24 + 0x1bd5e8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0x1bd5e8)" (( "(") (binary_expression "puVar24 + 0x1bd5e8" (identifier "puVar24") (+ "+") (number_literal "0x1bd5e8")) () ")")))) (+ "+") (number_literal "0x1fdc"))) (; ";")) (expression_statement "puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0);" (assignment_expression "puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0)" (identifier "puVar14") (= "=") (cast_expression "(uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar24 + 0x1bd730) + -0x4fe0)" (( "(") (binary_expression "*(int *)(puVar24 + 0x1bd730) + -0x4fe0" (pointer_expression "*(int *)(puVar24 + 0x1bd730)" (* "*") (cast_expression "(int *)(puVar24 + 0x1bd730)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0x1bd730)" (( "(") (binary_expression "puVar24 + 0x1bd730" (identifier "puVar24") (+ "+") (number_literal "0x1bd730")) () ")")))) (+ "+") (number_literal "-0x4fe0")) () ")")))) (; ";")) (expression_statement "(*pcVar23)(puVar14,0xc5,iVar1);" (call_expression "(*pcVar23)(puVar14,0xc5,iVar1)" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "(puVar14,0xc5,iVar1)" (( "(") (identifier "puVar14") (, ",") (number_literal "0xc5") (, ",") (identifier "iVar1") () ")"))) (; ";")) (if_statement "if (uVar13 < 0x10000000) {\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }" (if "if") (parenthesized_expression "(uVar13 < 0x10000000)" (( "(") (binary_expression "uVar13 < 0x10000000" (identifier "uVar13") (< "<") (number_literal "0x10000000")) () ")")) (compound_statement "{\n    piVar2 = (int *)*puVar14;\n    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);\n    if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }\n    return (int *)0x0;\n  }" ({ "{") (expression_statement "piVar2 = (int *)*puVar14;" (assignment_expression "piVar2 = (int *)*puVar14" (identifier "piVar2") (= "=") (cast_expression "(int *)*puVar14" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")))) (; ";")) (expression_statement "piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);" (assignment_expression "piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13)" (identifier "piVar3") (= "=") (cast_expression "(int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13)" (( "(") (binary_expression "(uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13" (call_expression "(uint)((int)(puVar14[2] - (int)piVar2) >> 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)(puVar14[2] - (int)piVar2) >> 4)" (( "(") (binary_expression "(int)(puVar14[2] - (int)piVar2) >> 4" (cast_expression "(int)(puVar14[2] - (int)piVar2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar14[2] - (int)piVar2)" (( "(") (binary_expression "puVar14[2] - (int)piVar2" (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]")) (- "-") (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2"))) () ")"))) (>> ">>") (number_literal "4")) () ")"))) (< "<") (identifier "uVar13")) () ")"))))) (; ";")) (if_statement "if (piVar3 != (int *)0x0) {\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }" (if "if") (parenthesized_expression "(piVar3 != (int *)0x0)" (( "(") (binary_expression "piVar3 != (int *)0x0" (identifier "piVar3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      piVar22 = (int *)puVar14[1];\n      iVar1 = (int)piVar22 - (int)piVar2;\n      if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }\n      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }\n      if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }\n      *puVar14 = (uint)piVar20;\n      puVar14[1] = (int)piVar20 + iVar1;\n      puVar14[2] = (uint)(piVar20 + uVar13 * 4);\n      return piVar3;\n    }" ({ "{") (expression_statement "piVar22 = (int *)puVar14[1];" (assignment_expression "piVar22 = (int *)puVar14[1]" (identifier "piVar22") (= "=") (cast_expression "(int *)puVar14[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar14[1]" (identifier "puVar14") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "iVar1 = (int)piVar22 - (int)piVar2;" (assignment_expression "iVar1 = (int)piVar22 - (int)piVar2" (identifier "iVar1") (= "=") (binary_expression "(int)piVar22 - (int)piVar2" (cast_expression "(int)piVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar22")) (- "-") (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")))) (; ";")) (if_statement "if (uVar13 == 0) {\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }\n      else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }" (if "if") (parenthesized_expression "(uVar13 == 0)" (( "(") (binary_expression "uVar13 == 0" (identifier "uVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        piVar21 = (int *)0x0;\n        piVar20 = piVar21;\n        piVar10 = piVar2;\n      }" ({ "{") (expression_statement "piVar21 = (int *)0x0;" (assignment_expression "piVar21 = (int *)0x0" (identifier "piVar21") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar20 = piVar21;" (assignment_expression "piVar20 = piVar21" (identifier "piVar20") (= "=") (identifier "piVar21")) (; ";")) (expression_statement "piVar10 = piVar2;" (assignment_expression "piVar10 = piVar2" (identifier "piVar10") (= "=") (identifier "piVar2")) (; ";")) (} "}")) (else_clause "else {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }" (else "else") (compound_statement "{\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);\n        piVar21 = piVar3;\n        piVar20 = piVar3;\n        piVar10 = (int *)*puVar14;\n      }" ({ "{") (expression_statement "piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);" (assignment_expression "piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10)" (identifier "piVar3") (= "=") (cast_expression "(int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10)" (parenthesized_expression "(**(code **)(pcVar23 + 0x1bd508))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x1bd508)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x1bd508)" (* "*") (cast_expression "(code **)(pcVar23 + 0x1bd508)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x1bd508)" (( "(") (binary_expression "pcVar23 + 0x1bd508" (identifier "pcVar23") (+ "+") (number_literal "0x1bd508")) () ")"))))) () ")")) (argument_list "(uVar13 * 0x10)" (( "(") (binary_expression "uVar13 * 0x10" (identifier "uVar13") (* "*") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "piVar21 = piVar3;" (assignment_expression "piVar21 = piVar3" (identifier "piVar21") (= "=") (identifier "piVar3")) (; ";")) (expression_statement "piVar20 = piVar3;" (assignment_expression "piVar20 = piVar3" (identifier "piVar20") (= "=") (identifier "piVar3")) (; ";")) (expression_statement "piVar10 = (int *)*puVar14;" (assignment_expression "piVar10 = (int *)*puVar14" (identifier "piVar10") (= "=") (cast_expression "(int *)*puVar14" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")))) (; ";")) (} "}")))) (for_statement "for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }" (for "for") (( "(") (; ";") (binary_expression "piVar2 != piVar22" (identifier "piVar2") (!= "!=") (identifier "piVar22")) (; ";") (assignment_expression "piVar2 = piVar2 + 4" (identifier "piVar2") (= "=") (binary_expression "piVar2 + 4" (identifier "piVar2") (+ "+") (number_literal "4"))) () ")") (compound_statement "{\n        iVar12 = piVar2[1];\n        iVar7 = piVar2[2];\n        piVar3 = (int *)piVar2[3];\n        *piVar21 = *piVar2;\n        piVar21[1] = iVar12;\n        piVar21[2] = iVar7;\n        piVar21[3] = (int)piVar3;\n        piVar21 = piVar21 + 4;\n      }" ({ "{") (expression_statement "iVar12 = piVar2[1];" (assignment_expression "iVar12 = piVar2[1]" (identifier "iVar12") (= "=") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar7 = piVar2[2];" (assignment_expression "iVar7 = piVar2[2]" (identifier "iVar7") (= "=") (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "piVar3 = (int *)piVar2[3];" (assignment_expression "piVar3 = (int *)piVar2[3]" (identifier "piVar3") (= "=") (cast_expression "(int *)piVar2[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "*piVar21 = *piVar2;" (assignment_expression "*piVar21 = *piVar2" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "piVar21[1] = iVar12;" (assignment_expression "piVar21[1] = iVar12" (subscript_expression "piVar21[1]" (identifier "piVar21") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "piVar21[2] = iVar7;" (assignment_expression "piVar21[2] = iVar7" (subscript_expression "piVar21[2]" (identifier "piVar21") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "piVar21[3] = (int)piVar3;" (assignment_expression "piVar21[3] = (int)piVar3" (subscript_expression "piVar21[3]" (identifier "piVar21") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(int)piVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar3"))) (; ";")) (expression_statement "piVar21 = piVar21 + 4;" (assignment_expression "piVar21 = piVar21 + 4" (identifier "piVar21") (= "=") (binary_expression "piVar21 + 4" (identifier "piVar21") (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (if_statement "if (piVar10 != (int *)0x0) {\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }" (if "if") (parenthesized_expression "(piVar10 != (int *)0x0)" (( "(") (binary_expression "piVar10 != (int *)0x0" (identifier "piVar10") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();\n      }" ({ "{") (expression_statement "piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();" (assignment_expression "piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))()" (identifier "piVar3") (= "=") (cast_expression "(int *)(**(code **)(pcVar23 + 0x1bd458))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar23 + 0x1bd458))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x1bd458))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x1bd458)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x1bd458)" (* "*") (cast_expression "(code **)(pcVar23 + 0x1bd458)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x1bd458)" (( "(") (binary_expression "pcVar23 + 0x1bd458" (identifier "pcVar23") (+ "+") (number_literal "0x1bd458")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}"))) (expression_statement "*puVar14 = (uint)piVar20;" (assignment_expression "*puVar14 = (uint)piVar20" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (= "=") (cast_expression "(uint)piVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar20"))) (; ";")) (expression_statement "puVar14[1] = (int)piVar20 + iVar1;" (assignment_expression "puVar14[1] = (int)piVar20 + iVar1" (subscript_expression "puVar14[1]" (identifier "puVar14") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(int)piVar20 + iVar1" (cast_expression "(int)piVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar20")) (+ "+") (identifier "iVar1"))) (; ";")) (expression_statement "puVar14[2] = (uint)(piVar20 + uVar13 * 4);" (assignment_expression "puVar14[2] = (uint)(piVar20 + uVar13 * 4)" (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]")) (= "=") (call_expression "(uint)(piVar20 + uVar13 * 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar20 + uVar13 * 4)" (( "(") (binary_expression "piVar20 + uVar13 * 4" (identifier "piVar20") (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")")))) (; ";")) (return_statement "return piVar3;" (return "return") (identifier "piVar3") (; ";")) (} "}"))) (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "pcVar25 = *(code **)(pcVar23 + 0x1bd64c);" (assignment_expression "pcVar25 = *(code **)(pcVar23 + 0x1bd64c)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar23 + 0x1bd64c)" (* "*") (cast_expression "(code **)(pcVar23 + 0x1bd64c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x1bd64c)" (( "(") (binary_expression "pcVar23 + 0x1bd64c" (identifier "pcVar23") (+ "+") (number_literal "0x1bd64c")) () ")"))))) (; ";")) (expression_statement "(*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864);" (call_expression "(*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864)" (( "(") (binary_expression "*(int *)(pcVar23 + 0x1bd3d8) + 0x4864" (pointer_expression "*(int *)(pcVar23 + 0x1bd3d8)" (* "*") (cast_expression "(int *)(pcVar23 + 0x1bd3d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x1bd3d8)" (( "(") (binary_expression "pcVar23 + 0x1bd3d8" (identifier "pcVar23") (+ "+") (number_literal "0x1bd3d8")) () ")")))) (+ "+") (number_literal "0x4864")) () ")"))) (; ";")) (expression_statement "bVar5 = bStackY_95 & 7;" (assignment_expression "bVar5 = bStackY_95 & 7" (identifier "bVar5") (= "=") (binary_expression "bStackY_95 & 7" (identifier "bStackY_95") (& "&") (number_literal "7"))) (; ";")) (expression_statement "pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4;" (assignment_expression "pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4" (identifier "pcVar23") (= "=") (binary_expression "pcVar23 + iStackY_9c + 0x1c53a4" (binary_expression "pcVar23 + iStackY_9c" (identifier "pcVar23") (+ "+") (identifier "iStackY_9c")) (+ "+") (number_literal "0x1c53a4"))) (; ";")) (if_statement "if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;" (if "if") (parenthesized_expression "((bStackY_95 & 7) == 0)" (( "(") (binary_expression "(bStackY_95 & 7) == 0" (parenthesized_expression "(bStackY_95 & 7)" (( "(") (binary_expression "bStackY_95 & 7" (identifier "bStackY_95") (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00274ff4;" (goto "goto") (statement_identifier "LAB_00274ff4") (; ";"))) (if_statement "if (bVar5 == 3) {\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }\n  else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }" (if "if") (parenthesized_expression "(bVar5 == 3)" (( "(") (binary_expression "bVar5 == 3" (identifier "bVar5") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n    uVar13 = *(uint *)pcVar23;\n    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n    if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }\n  }" ({ "{") (expression_statement "uVar13 = *(uint *)pcVar23;" (assignment_expression "uVar13 = *(uint *)pcVar23" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)pcVar23" (* "*") (cast_expression "(uint *)pcVar23" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar23")))) (; ";")) (expression_statement "uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (identifier "uVar13") (= "=") (binary_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10" (binary_expression "(uVar13 >> 0x10) << 0x18" (parenthesized_expression "(uVar13 >> 0x10)" (( "(") (binary_expression "uVar13 >> 0x10" (identifier "uVar13") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar13 >> 0x18) << 0x10" (parenthesized_expression "(uVar13 >> 0x18)" (( "(") (binary_expression "uVar13 >> 0x18" (identifier "uVar13") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff)" (( "(") (binary_expression "(uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff" (binary_expression "(uVar13 & 0xff) << 8" (parenthesized_expression "(uVar13 & 0xff)" (( "(") (binary_expression "uVar13 & 0xff" (identifier "uVar13") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar13 >> 8 & 0xff" (binary_expression "uVar13 >> 8" (identifier "uVar13") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (if_statement "if ((bStackY_95 & 8) != 0) {\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }" (if "if") (parenthesized_expression "((bStackY_95 & 8) != 0)" (( "(") (binary_expression "(bStackY_95 & 8) != 0" (parenthesized_expression "(bStackY_95 & 8)" (( "(") (binary_expression "bStackY_95 & 8" (identifier "bStackY_95") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n      goto LAB_00275014;\n    }" ({ "{") (expression_statement "piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);" (assignment_expression "piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1)" (identifier "piVar2") (= "=") (cast_expression "(int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uVar13 < (uVar13 ^ 0x80000000)) - 1)" (( "(") (binary_expression "(uVar13 < (uVar13 ^ 0x80000000)) - 1" (parenthesized_expression "(uVar13 < (uVar13 ^ 0x80000000))" (( "(") (binary_expression "uVar13 < (uVar13 ^ 0x80000000)" (identifier "uVar13") (< "<") (parenthesized_expression "(uVar13 ^ 0x80000000)" (( "(") (binary_expression "uVar13 ^ 0x80000000" (identifier "uVar13") (^ "^") (number_literal "0x80000000")) () ")"))) () ")")) (- "-") (number_literal "1")) () ")")))) (; ";")) (goto_statement "goto LAB_00275014;" (goto "goto") (statement_identifier "LAB_00275014") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }" (else "else") (compound_statement "{\n    if (bVar5 == 4) goto LAB_00274ff4;\n    if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }\n    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);\n    if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }\n  }" ({ "{") (if_statement "if (bVar5 == 4) goto LAB_00274ff4;" (if "if") (parenthesized_expression "(bVar5 == 4)" (( "(") (binary_expression "bVar5 == 4" (identifier "bVar5") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_00274ff4;" (goto "goto") (statement_identifier "LAB_00274ff4") (; ";"))) (if_statement "if (bVar5 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }" (if "if") (parenthesized_expression "(bVar5 != 2)" (( "(") (binary_expression "bVar5 != 2" (identifier "bVar5") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n      uVar11 = 0x10a;\n      goto LAB_00274fdc;\n    }" ({ "{") (expression_statement "uVar11 = 0x10a;" (assignment_expression "uVar11 = 0x10a" (identifier "uVar11") (= "=") (number_literal "0x10a")) (; ";")) (goto_statement "goto LAB_00274fdc;" (goto "goto") (statement_identifier "LAB_00274fdc") (; ";")) (} "}"))) (expression_statement "uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);" (assignment_expression "uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8)" (identifier "uVar13") (= "=") (binary_expression "(*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8)" (binary_expression "(*(ushort *)pcVar23 & 0xff) << 8" (parenthesized_expression "(*(ushort *)pcVar23 & 0xff)" (( "(") (binary_expression "*(ushort *)pcVar23 & 0xff" (pointer_expression "*(ushort *)pcVar23" (* "*") (cast_expression "(ushort *)pcVar23" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar23"))) (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (call_expression "(uint)(*(ushort *)pcVar23 >> 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(ushort *)pcVar23 >> 8)" (( "(") (binary_expression "*(ushort *)pcVar23 >> 8" (pointer_expression "*(ushort *)pcVar23" (* "*") (cast_expression "(ushort *)pcVar23" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar23"))) (>> ">>") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if ((bStackY_95 & 8) != 0) {\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }" (if "if") (parenthesized_expression "((bStackY_95 & 8) != 0)" (( "(") (binary_expression "(bStackY_95 & 8) != 0" (parenthesized_expression "(bStackY_95 & 8)" (( "(") (binary_expression "bStackY_95 & 8" (identifier "bStackY_95") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar17 = uVar13 ^ 0x8000;\n      uVar13 = uVar17 - 0x8000;\n      piVar2 = (int *)((uVar13 < uVar17) - 1);\n      goto LAB_00275014;\n    }" ({ "{") (expression_statement "uVar17 = uVar13 ^ 0x8000;" (assignment_expression "uVar17 = uVar13 ^ 0x8000" (identifier "uVar17") (= "=") (binary_expression "uVar13 ^ 0x8000" (identifier "uVar13") (^ "^") (number_literal "0x8000"))) (; ";")) (expression_statement "uVar13 = uVar17 - 0x8000;" (assignment_expression "uVar13 = uVar17 - 0x8000" (identifier "uVar13") (= "=") (binary_expression "uVar17 - 0x8000" (identifier "uVar17") (- "-") (number_literal "0x8000"))) (; ";")) (expression_statement "piVar2 = (int *)((uVar13 < uVar17) - 1);" (assignment_expression "piVar2 = (int *)((uVar13 < uVar17) - 1)" (identifier "piVar2") (= "=") (cast_expression "(int *)((uVar13 < uVar17) - 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uVar13 < uVar17) - 1)" (( "(") (binary_expression "(uVar13 < uVar17) - 1" (parenthesized_expression "(uVar13 < uVar17)" (( "(") (binary_expression "uVar13 < uVar17" (identifier "uVar13") (< "<") (identifier "uVar17")) () ")")) (- "-") (number_literal "1")) () ")")))) (; ";")) (goto_statement "goto LAB_00275014;" (goto "goto") (statement_identifier "LAB_00275014") (; ";")) (} "}"))) (} "}")))) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" (identifier "piVar2") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_00275014:\n  do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );" (statement_identifier "LAB_00275014") (: ":") (do_statement "do {\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  } while( true );" (do "do") (compound_statement "{\n    if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }\nLAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;\n    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);\n    pcVar23 = extraout_v1_00;\nLAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);\n    uVar17 = *(uint *)pcVar23;\n    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;\n  }" ({ "{") (if_statement "if ((bStackY_95 & 0x70) == 0x10) {\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }\n    else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }" (if "if") (parenthesized_expression "((bStackY_95 & 0x70) == 0x10)" (( "(") (binary_expression "(bStackY_95 & 0x70) == 0x10" (parenthesized_expression "(bStackY_95 & 0x70)" (( "(") (binary_expression "bStackY_95 & 0x70" (identifier "bStackY_95") (& "&") (number_literal "0x70")) () ")")) (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n      uVar17 = uVar6 + 8;\n      uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);\n      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);\nLAB_00275078:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }\n    }" ({ "{") (expression_statement "uVar17 = uVar6 + 8;" (assignment_expression "uVar17 = uVar6 + 8" (identifier "uVar17") (= "=") (binary_expression "uVar6 + 8" (identifier "uVar6") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);" (assignment_expression "uVar6 = (int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f)" (identifier "uVar6") (= "=") (binary_expression "(int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f)" (binary_expression "(int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6) + iVar1" (binary_expression "(int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17) +\n              (uint)(uVar17 < uVar6)" (binary_expression "(int)piVar2 +\n              (uint)(uVar17 + iStackY_9c < uVar17)" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (call_expression "(uint)(uVar17 + iStackY_9c < uVar17)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar17 + iStackY_9c < uVar17)" (( "(") (binary_expression "uVar17 + iStackY_9c < uVar17" (binary_expression "uVar17 + iStackY_9c" (identifier "uVar17") (+ "+") (identifier "iStackY_9c")) (< "<") (identifier "uVar17")) () ")")))) (+ "+") (call_expression "(uint)(uVar17 < uVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar17 < uVar6)" (( "(") (binary_expression "uVar17 < uVar6" (identifier "uVar17") (< "<") (identifier "uVar6")) () ")")))) (+ "+") (identifier "iVar1")) (+ "+") (parenthesized_expression "(iStackY_9c >> 0x1f)" (( "(") (binary_expression "iStackY_9c >> 0x1f" (identifier "iStackY_9c") (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);" (assignment_expression "piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6)" (identifier "piVar2") (= "=") (cast_expression "(int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6)" (( "(") (binary_expression "(uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6" (parenthesized_expression "(uVar13 + uVar17 + iStackY_9c < uVar13)" (( "(") (binary_expression "uVar13 + uVar17 + iStackY_9c < uVar13" (binary_expression "uVar13 + uVar17 + iStackY_9c" (binary_expression "uVar13 + uVar17" (identifier "uVar13") (+ "+") (identifier "uVar17")) (+ "+") (identifier "iStackY_9c")) (< "<") (identifier "uVar13")) () ")")) (+ "+") (identifier "uVar6")) () ")")))) (; ";")) (labeled_statement "LAB_00275078:\n      uVar11 = 0x120;" (statement_identifier "LAB_00275078") (: ":") (expression_statement "uVar11 = 0x120;" (assignment_expression "uVar11 = 0x120" (identifier "uVar11") (= "=") (number_literal "0x120")) (; ";"))) (if_statement "if (-1 < (char)bStackY_95) {\n        return piVar2;\n      }" (if "if") (parenthesized_expression "(-1 < (char)bStackY_95)" (( "(") (binary_expression "-1 < (char)bStackY_95" (number_literal "-1") (< "<") (cast_expression "(char)bStackY_95" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bStackY_95"))) () ")")) (compound_statement "{\n        return piVar2;\n      }" ({ "{") (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }" (else "else") (compound_statement "{\n      if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }\n      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;\n      uVar11 = 0x11d;\n    }" ({ "{") (if_statement "if ((bStackY_95 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }" (if "if") (parenthesized_expression "((bStackY_95 & 0x70) == 0x30)" (( "(") (binary_expression "(bStackY_95 & 0x70) == 0x30" (parenthesized_expression "(bStackY_95 & 0x70)" (( "(") (binary_expression "bStackY_95 & 0x70" (identifier "bStackY_95") (& "&") (number_literal "0x70")) () ")")) (== "==") (number_literal "0x30")) () ")")) (compound_statement "{\n        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }\n        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);\n        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;\n        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);\n        uVar17 = uVar16 & 0xff;\n        uVar13 = uVar16 & 7;\n        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;\n        if ((uVar16 & 7) == 0) goto LAB_002751c0;\n        if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }\n        piVar2 = (int *)0x0;\n        break;\n      }" ({ "{") (if_statement "if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }" (if "if") (parenthesized_expression "(*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0)" (( "(") (binary_expression "*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0" (pointer_expression "*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" (* "*") (cast_expression "(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" (( "(") (binary_expression "**(int **)(pcVar25 + 0x1bdc68) + 0xc" (pointer_expression "**(int **)(pcVar25 + 0x1bdc68)" (* "*") (pointer_expression "*(int **)(pcVar25 + 0x1bdc68)" (* "*") (cast_expression "(int **)(pcVar25 + 0x1bdc68)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x1bdc68)" (( "(") (binary_expression "pcVar25 + 0x1bdc68" (identifier "pcVar25") (+ "+") (number_literal "0x1bdc68")) () ")"))))) (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();\n          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n          goto LAB_00275078;\n        }" ({ "{") (expression_statement "lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();" (assignment_expression "lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))()" (identifier "lVar27") (= "=") (call_expression "(**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))" (( "(") (pointer_expression "**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50)" (* "*") (pointer_expression "*(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50)" (* "*") (cast_expression "(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50)" (( "(") (binary_expression "**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" (* "*") (pointer_expression "*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" (* "*") (cast_expression "(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(pcVar25 + 0x1bdc68) + 0xc)" (( "(") (binary_expression "**(int **)(pcVar25 + 0x1bdc68) + 0xc" (pointer_expression "**(int **)(pcVar25 + 0x1bdc68)" (* "*") (pointer_expression "*(int **)(pcVar25 + 0x1bdc68)" (* "*") (cast_expression "(int **)(pcVar25 + 0x1bdc68)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x1bdc68)" (( "(") (binary_expression "pcVar25 + 0x1bdc68" (identifier "pcVar25") (+ "+") (number_literal "0x1bdc68")) () ")"))))) (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);" (assignment_expression "piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" (identifier "piVar2") (= "=") (cast_expression "(int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" (( "(") (binary_expression "(ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20" (call_expression "(ulonglong)(lVar27 + CONCAT44(piVar2,uVar13))" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(lVar27 + CONCAT44(piVar2,uVar13))" (( "(") (binary_expression "lVar27 + CONCAT44(piVar2,uVar13)" (identifier "lVar27") (+ "+") (call_expression "CONCAT44(piVar2,uVar13)" (identifier "CONCAT44") (argument_list "(piVar2,uVar13)" (( "(") (identifier "piVar2") (, ",") (identifier "uVar13") () ")")))) () ")"))) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (goto_statement "goto LAB_00275078;" (goto "goto") (statement_identifier "LAB_00275078") (; ";")) (} "}"))) (expression_statement "pcVar23 = *(code **)(pcVar25 + 0x1bd44c);" (assignment_expression "pcVar23 = *(code **)(pcVar25 + 0x1bd44c)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcVar25 + 0x1bd44c)" (* "*") (cast_expression "(code **)(pcVar25 + 0x1bd44c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x1bd44c)" (( "(") (binary_expression "pcVar25 + 0x1bd44c" (identifier "pcVar25") (+ "+") (number_literal "0x1bd44c")) () ")"))))) (; ";")) (expression_statement "iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;" (assignment_expression "iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4" (identifier "iVar1") (= "=") (binary_expression "*(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4" (pointer_expression "*(int *)(pcVar25 + 0x1bd2f4)" (* "*") (cast_expression "(int *)(pcVar25 + 0x1bd2f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x1bd2f4)" (( "(") (binary_expression "pcVar25 + 0x1bd2f4" (identifier "pcVar25") (+ "+") (number_literal "0x1bd2f4")) () ")")))) (+ "+") (number_literal "0x1fe4"))) (; ";")) (expression_statement "(*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);" (call_expression "(*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1)" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x1bd43c) + -0x5cec" (pointer_expression "*(int *)(pcVar25 + 0x1bd43c)" (* "*") (cast_expression "(int *)(pcVar25 + 0x1bd43c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x1bd43c)" (( "(") (binary_expression "pcVar25 + 0x1bd43c" (identifier "pcVar25") (+ "+") (number_literal "0x1bd43c")) () ")")))) (+ "+") (number_literal "-0x5cec")) (, ",") (number_literal "0x69") (, ",") (identifier "iVar1") () ")"))) (; ";")) (expression_statement "uVar17 = uVar16 & 0xff;" (assignment_expression "uVar17 = uVar16 & 0xff" (identifier "uVar17") (= "=") (binary_expression "uVar16 & 0xff" (identifier "uVar16") (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "uVar13 = uVar16 & 7;" (assignment_expression "uVar13 = uVar16 & 7" (identifier "uVar13") (= "=") (binary_expression "uVar16 & 7" (identifier "uVar16") (& "&") (number_literal "7"))) (; ";")) (expression_statement "pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;" (assignment_expression "pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260" (identifier "pcVar25") (= "=") (binary_expression "pcVar25 + iStackY_c4 + 0x1c5260" (binary_expression "pcVar25 + iStackY_c4" (identifier "pcVar25") (+ "+") (identifier "iStackY_c4")) (+ "+") (number_literal "0x1c5260"))) (; ";")) (if_statement "if ((uVar16 & 7) == 0) goto LAB_002751c0;" (if "if") (parenthesized_expression "((uVar16 & 7) == 0)" (( "(") (binary_expression "(uVar16 & 7) == 0" (parenthesized_expression "(uVar16 & 7)" (( "(") (binary_expression "uVar16 & 7" (identifier "uVar16") (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002751c0;" (goto "goto") (statement_identifier "LAB_002751c0") (; ";"))) (if_statement "if (uVar13 == 3) {\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }\n        else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }" (if "if") (parenthesized_expression "(uVar13 == 3)" (( "(") (binary_expression "uVar13 == 3" (identifier "uVar13") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n          uVar13 = *(uint *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }\n        }" ({ "{") (expression_statement "uVar13 = *(uint *)pcVar25;" (assignment_expression "uVar13 = *(uint *)pcVar25" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)pcVar25" (* "*") (cast_expression "(uint *)pcVar25" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar25")))) (; ";")) (if_statement "if ((uVar16 & 8) != 0) {\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }" (if "if") (parenthesized_expression "((uVar16 & 8) != 0)" (( "(") (binary_expression "(uVar16 & 8) != 0" (parenthesized_expression "(uVar16 & 8)" (( "(") (binary_expression "uVar16 & 8" (identifier "uVar16") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);\n            break;\n          }" ({ "{") (expression_statement "piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);" (assignment_expression "piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1)" (identifier "piVar2") (= "=") (cast_expression "(int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uVar13 < (uVar13 ^ 0x80000000)) - 1)" (( "(") (binary_expression "(uVar13 < (uVar13 ^ 0x80000000)) - 1" (parenthesized_expression "(uVar13 < (uVar13 ^ 0x80000000))" (( "(") (binary_expression "uVar13 < (uVar13 ^ 0x80000000)" (identifier "uVar13") (< "<") (parenthesized_expression "(uVar13 ^ 0x80000000)" (( "(") (binary_expression "uVar13 ^ 0x80000000" (identifier "uVar13") (^ "^") (number_literal "0x80000000")) () ")"))) () ")")) (- "-") (number_literal "1")) () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }" (else "else") (compound_statement "{\n          if (uVar13 == 4) goto LAB_002751c0;\n          uVar11 = 0x10a;\n          if (uVar13 != 2) goto LAB_002751a8;\n          uVar13 = (uint)*(ushort *)pcVar25;\n          if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }\n        }" ({ "{") (if_statement "if (uVar13 == 4) goto LAB_002751c0;" (if "if") (parenthesized_expression "(uVar13 == 4)" (( "(") (binary_expression "uVar13 == 4" (identifier "uVar13") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_002751c0;" (goto "goto") (statement_identifier "LAB_002751c0") (; ";"))) (expression_statement "uVar11 = 0x10a;" (assignment_expression "uVar11 = 0x10a" (identifier "uVar11") (= "=") (number_literal "0x10a")) (; ";")) (if_statement "if (uVar13 != 2) goto LAB_002751a8;" (if "if") (parenthesized_expression "(uVar13 != 2)" (( "(") (binary_expression "uVar13 != 2" (identifier "uVar13") (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto LAB_002751a8;" (goto "goto") (statement_identifier "LAB_002751a8") (; ";"))) (expression_statement "uVar13 = (uint)*(ushort *)pcVar25;" (assignment_expression "uVar13 = (uint)*(ushort *)pcVar25" (identifier "uVar13") (= "=") (binary_expression "(uint)*(ushort *)pcVar25" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)pcVar25" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar25")))) (; ";")) (if_statement "if ((uVar16 & 8) != 0) {\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }" (if "if") (parenthesized_expression "((uVar16 & 8) != 0)" (( "(") (binary_expression "(uVar16 & 8) != 0" (parenthesized_expression "(uVar16 & 8)" (( "(") (binary_expression "uVar16 & 8" (identifier "uVar16") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar16 = uVar13 ^ 0x8000;\n            uVar13 = uVar16 - 0x8000;\n            piVar2 = (int *)((uVar13 < uVar16) - 1);\n            break;\n          }" ({ "{") (expression_statement "uVar16 = uVar13 ^ 0x8000;" (assignment_expression "uVar16 = uVar13 ^ 0x8000" (identifier "uVar16") (= "=") (binary_expression "uVar13 ^ 0x8000" (identifier "uVar13") (^ "^") (number_literal "0x8000"))) (; ";")) (expression_statement "uVar13 = uVar16 - 0x8000;" (assignment_expression "uVar13 = uVar16 - 0x8000" (identifier "uVar13") (= "=") (binary_expression "uVar16 - 0x8000" (identifier "uVar16") (- "-") (number_literal "0x8000"))) (; ";")) (expression_statement "piVar2 = (int *)((uVar13 < uVar16) - 1);" (assignment_expression "piVar2 = (int *)((uVar13 < uVar16) - 1)" (identifier "piVar2") (= "=") (cast_expression "(int *)((uVar13 < uVar16) - 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uVar13 < uVar16) - 1)" (( "(") (binary_expression "(uVar13 < uVar16) - 1" (parenthesized_expression "(uVar13 < uVar16)" (( "(") (binary_expression "uVar13 < uVar16" (identifier "uVar13") (< "<") (identifier "uVar16")) () ")")) (- "-") (number_literal "1")) () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}")))) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" (identifier "piVar2") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (if_statement "if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;" (if "if") (parenthesized_expression "((bStackY_95 & 0x70) == 0)" (( "(") (binary_expression "(bStackY_95 & 0x70) == 0" (parenthesized_expression "(bStackY_95 & 0x70)" (( "(") (binary_expression "bStackY_95 & 0x70" (identifier "bStackY_95") (& "&") (number_literal "0x70")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00275078;" (goto "goto") (statement_identifier "LAB_00275078") (; ";"))) (expression_statement "uVar11 = 0x11d;" (assignment_expression "uVar11 = 0x11d" (identifier "uVar11") (= "=") (number_literal "0x11d")) (; ";")) (} "}")))) (labeled_statement "LAB_00274fdc:\n    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;" (statement_identifier "LAB_00274fdc") (: ":") (expression_statement "iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;" (assignment_expression "iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4" (identifier "iVar1") (= "=") (binary_expression "*(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4" (pointer_expression "*(int *)(pcVar25 + 0x1bd2f4)" (* "*") (cast_expression "(int *)(pcVar25 + 0x1bd2f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x1bd2f4)" (( "(") (binary_expression "pcVar25 + 0x1bd2f4" (identifier "pcVar25") (+ "+") (number_literal "0x1bd2f4")) () ")")))) (+ "+") (number_literal "0x1fa4"))) (; ";"))) (expression_statement "(**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);" (call_expression "(**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1)" (parenthesized_expression "(**(code **)(pcVar25 + 0x1bd44c))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x1bd44c)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x1bd44c)" (* "*") (cast_expression "(code **)(pcVar25 + 0x1bd44c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x1bd44c)" (( "(") (binary_expression "pcVar25 + 0x1bd44c" (identifier "pcVar25") (+ "+") (number_literal "0x1bd44c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0" (pointer_expression "*(int *)(pcVar25 + 0x1bd2f4)" (* "*") (cast_expression "(int *)(pcVar25 + 0x1bd2f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x1bd2f4)" (( "(") (binary_expression "pcVar25 + 0x1bd2f4" (identifier "pcVar25") (+ "+") (number_literal "0x1bd2f4")) () ")")))) (+ "+") (number_literal "0x1dc0")) (, ",") (identifier "uVar11") (, ",") (identifier "iVar1") () ")"))) (; ";")) (expression_statement "pcVar23 = extraout_v1_00;" (assignment_expression "pcVar23 = extraout_v1_00" (identifier "pcVar23") (= "=") (identifier "extraout_v1_00")) (; ";")) (labeled_statement "LAB_00274ff4:\n    uVar13 = *(uint *)(pcVar23 + 4);" (statement_identifier "LAB_00274ff4") (: ":") (expression_statement "uVar13 = *(uint *)(pcVar23 + 4);" (assignment_expression "uVar13 = *(uint *)(pcVar23 + 4)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(pcVar23 + 4)" (* "*") (cast_expression "(uint *)(pcVar23 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 4)" (( "(") (binary_expression "pcVar23 + 4" (identifier "pcVar23") (+ "+") (number_literal "4")) () ")"))))) (; ";"))) (expression_statement "uVar17 = *(uint *)pcVar23;" (assignment_expression "uVar17 = *(uint *)pcVar23" (identifier "uVar17") (= "=") (pointer_expression "*(uint *)pcVar23" (* "*") (cast_expression "(uint *)pcVar23" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar23")))) (; ";")) (expression_statement "piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);" (assignment_expression "piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000)" (identifier "piVar2") (= "=") (cast_expression "(int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000)" (( "(") (binary_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10" (binary_expression "(uVar13 >> 0x10) << 0x18" (parenthesized_expression "(uVar13 >> 0x10)" (( "(") (binary_expression "uVar13 >> 0x10" (identifier "uVar13") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar13 >> 0x18) << 0x10" (parenthesized_expression "(uVar13 >> 0x18)" (( "(") (binary_expression "uVar13 >> 0x18" (identifier "uVar13") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff)" (( "(") (binary_expression "(uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff" (binary_expression "(uVar13 & 0xff) << 8" (parenthesized_expression "(uVar13 & 0xff)" (( "(") (binary_expression "uVar13 & 0xff" (identifier "uVar13") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar13 >> 8 & 0xff" (binary_expression "uVar13 >> 8" (identifier "uVar13") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000"))) () ")")))) (; ";")) (expression_statement "uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000" (identifier "uVar13") (= "=") (binary_expression "(((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10" (binary_expression "(uVar17 >> 0x10) << 0x18" (parenthesized_expression "(uVar17 >> 0x10)" (( "(") (binary_expression "uVar17 >> 0x10" (identifier "uVar17") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar17 >> 0x18) << 0x10" (parenthesized_expression "(uVar17 >> 0x18)" (( "(") (binary_expression "uVar17 >> 0x18" (identifier "uVar17") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff)" (( "(") (binary_expression "(uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff" (binary_expression "(uVar17 & 0xff) << 8" (parenthesized_expression "(uVar17 & 0xff)" (( "(") (binary_expression "uVar17 & 0xff" (identifier "uVar17") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar17 >> 8 & 0xff" (binary_expression "uVar17 >> 8" (identifier "uVar17") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (labeled_statement "LAB_002751d0:\n  uVar16 = uVar17 & 0x70;" (statement_identifier "LAB_002751d0") (: ":") (expression_statement "uVar16 = uVar17 & 0x70;" (assignment_expression "uVar16 = uVar17 & 0x70" (identifier "uVar16") (= "=") (binary_expression "uVar17 & 0x70" (identifier "uVar17") (& "&") (number_literal "0x70"))) (; ";"))) (if_statement "if (uVar16 == 0x10) {\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }\n  else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }" (if "if") (parenthesized_expression "(uVar16 == 0x10)" (( "(") (binary_expression "uVar16 == 0x10" (identifier "uVar16") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n    uVar16 = uVar6 + 8;\n    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);\n    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);\nLAB_00275238:\n    uVar17 = (uint)(char)uVar17;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar17) {\n      return piVar2;\n    }\n  }" ({ "{") (expression_statement "uVar16 = uVar6 + 8;" (assignment_expression "uVar16 = uVar6 + 8" (identifier "uVar16") (= "=") (binary_expression "uVar6 + 8" (identifier "uVar6") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);" (assignment_expression "uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f)" (identifier "uVar6") (= "=") (binary_expression "(uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f)" (binary_expression "(uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6) + iVar1" (binary_expression "(uint)(uVar16 + iStackY_c4 < uVar16) +\n            (uint)(uVar16 < uVar6)" (call_expression "(uint)(uVar16 + iStackY_c4 < uVar16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar16 + iStackY_c4 < uVar16)" (( "(") (binary_expression "uVar16 + iStackY_c4 < uVar16" (binary_expression "uVar16 + iStackY_c4" (identifier "uVar16") (+ "+") (identifier "iStackY_c4")) (< "<") (identifier "uVar16")) () ")"))) (+ "+") (call_expression "(uint)(uVar16 < uVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar16 < uVar6)" (( "(") (binary_expression "uVar16 < uVar6" (identifier "uVar16") (< "<") (identifier "uVar6")) () ")")))) (+ "+") (identifier "iVar1")) (+ "+") (parenthesized_expression "(iStackY_c4 >> 0x1f)" (( "(") (binary_expression "iStackY_c4 >> 0x1f" (identifier "iStackY_c4") (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);" (assignment_expression "piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6)" (identifier "piVar2") (= "=") (cast_expression "(int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6)" (( "(") (binary_expression "(int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6" (binary_expression "(int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13)" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (parenthesized_expression "(uVar13 + uVar16 + iStackY_c4 < uVar13)" (( "(") (binary_expression "uVar13 + uVar16 + iStackY_c4 < uVar13" (binary_expression "uVar13 + uVar16 + iStackY_c4" (binary_expression "uVar13 + uVar16" (identifier "uVar13") (+ "+") (identifier "uVar16")) (+ "+") (identifier "iStackY_c4")) (< "<") (identifier "uVar13")) () ")"))) (+ "+") (identifier "uVar6")) () ")")))) (; ";")) (labeled_statement "LAB_00275238:\n    uVar17 = (uint)(char)uVar17;" (statement_identifier "LAB_00275238") (: ":") (expression_statement "uVar17 = (uint)(char)uVar17;" (assignment_expression "uVar17 = (uint)(char)uVar17" (identifier "uVar17") (= "=") (cast_expression "(uint)(char)uVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)uVar17" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar17")))) (; ";"))) (expression_statement "uVar11 = 0x120;" (assignment_expression "uVar11 = 0x120" (identifier "uVar11") (= "=") (number_literal "0x120")) (; ";")) (if_statement "if (-1 < (int)uVar17) {\n      return piVar2;\n    }" (if "if") (parenthesized_expression "(-1 < (int)uVar17)" (( "(") (binary_expression "-1 < (int)uVar17" (number_literal "-1") (< "<") (cast_expression "(int)uVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar17"))) () ")")) (compound_statement "{\n      return piVar2;\n    }" ({ "{") (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }" (else "else") (compound_statement "{\n    if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }\n    if (uVar16 == 0) goto LAB_00275238;\n    uVar11 = 0x11d;\n  }" ({ "{") (if_statement "if (uVar16 == 0x30) {\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }" (if "if") (parenthesized_expression "(uVar16 == 0x30)" (( "(") (binary_expression "uVar16 == 0x30" (identifier "uVar16") (== "==") (number_literal "0x30")) () ")")) (compound_statement "{\n      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }\n      iVar1 = 0x69;\n      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);\n      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);\n      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);\n      (*pcVar25)();\n      iVar12 = piVar2[1];\n      iVar7 = *piVar2;\n      iVar19 = iVar1 - iVar7;\n      uVar6 = iVar12 - iVar7 >> 2;\n      if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }\n      piVar22 = (int *)(iVar4 + iVar19);\n      iVar18 = iVar4 + iVar19 + 4;\n      *piVar22 = *piVar3;\n      iVar26 = iVar18 + (iVar12 - iVar1);\n      if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }\n      if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }\nLAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);\n      *piVar2 = iVar4;\n      piVar2[1] = iVar26;\n      piVar2[2] = iVar9;\n      return piVar3;\n    }" ({ "{") (if_statement "if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }" (if "if") (parenthesized_expression "(*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0)" (( "(") (binary_expression "*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0" (pointer_expression "*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc)" (* "*") (cast_expression "(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(pcVar23 + 0x1bda98) + 0xc)" (( "(") (binary_expression "**(int **)(pcVar23 + 0x1bda98) + 0xc" (pointer_expression "**(int **)(pcVar23 + 0x1bda98)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x1bda98)" (* "*") (cast_expression "(int **)(pcVar23 + 0x1bda98)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x1bda98)" (( "(") (binary_expression "pcVar23 + 0x1bda98" (identifier "pcVar23") (+ "+") (number_literal "0x1bda98")) () ")"))))) (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();\n        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);\n        goto LAB_00275238;\n      }" ({ "{") (expression_statement "lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();" (assignment_expression "lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))()" (identifier "lVar27") (= "=") (call_expression "(**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))" (( "(") (pointer_expression "**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50)" (* "*") (pointer_expression "*(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50)" (* "*") (cast_expression "(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50)" (( "(") (binary_expression "**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc)" (* "*") (pointer_expression "*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc)" (* "*") (cast_expression "(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(pcVar23 + 0x1bda98) + 0xc)" (( "(") (binary_expression "**(int **)(pcVar23 + 0x1bda98) + 0xc" (pointer_expression "**(int **)(pcVar23 + 0x1bda98)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x1bda98)" (* "*") (cast_expression "(int **)(pcVar23 + 0x1bda98)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x1bda98)" (( "(") (binary_expression "pcVar23 + 0x1bda98" (identifier "pcVar23") (+ "+") (number_literal "0x1bda98")) () ")"))))) (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);" (assignment_expression "piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" (identifier "piVar2") (= "=") (cast_expression "(int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20)" (( "(") (binary_expression "(ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20" (call_expression "(ulonglong)(lVar27 + CONCAT44(piVar2,uVar13))" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(lVar27 + CONCAT44(piVar2,uVar13))" (( "(") (binary_expression "lVar27 + CONCAT44(piVar2,uVar13)" (identifier "lVar27") (+ "+") (call_expression "CONCAT44(piVar2,uVar13)" (identifier "CONCAT44") (argument_list "(piVar2,uVar13)" (( "(") (identifier "piVar2") (, ",") (identifier "uVar13") () ")")))) () ")"))) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (goto_statement "goto LAB_00275238;" (goto "goto") (statement_identifier "LAB_00275238") (; ";")) (} "}"))) (expression_statement "iVar1 = 0x69;" (assignment_expression "iVar1 = 0x69" (identifier "iVar1") (= "=") (number_literal "0x69")) (; ";")) (expression_statement "pcVar25 = *(code **)(pcVar23 + 0x1bd27c);" (assignment_expression "pcVar25 = *(code **)(pcVar23 + 0x1bd27c)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar23 + 0x1bd27c)" (* "*") (cast_expression "(code **)(pcVar23 + 0x1bd27c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x1bd27c)" (( "(") (binary_expression "pcVar23 + 0x1bd27c" (identifier "pcVar23") (+ "+") (number_literal "0x1bd27c")) () ")"))))) (; ";")) (expression_statement "piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4)" (identifier "piVar3") (= "=") (cast_expression "(int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4)" (( "(") (binary_expression "*(int *)(pcVar23 + 0x1bd124) + 0x1fe4" (pointer_expression "*(int *)(pcVar23 + 0x1bd124)" (* "*") (cast_expression "(int *)(pcVar23 + 0x1bd124)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x1bd124)" (( "(") (binary_expression "pcVar23 + 0x1bd124" (identifier "pcVar23") (+ "+") (number_literal "0x1bd124")) () ")")))) (+ "+") (number_literal "0x1fe4")) () ")")))) (; ";")) (expression_statement "piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);" (assignment_expression "piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec)" (identifier "piVar2") (= "=") (cast_expression "(int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec)" (( "(") (binary_expression "*(int *)(pcVar23 + 0x1bd26c) + -0x5cec" (pointer_expression "*(int *)(pcVar23 + 0x1bd26c)" (* "*") (cast_expression "(int *)(pcVar23 + 0x1bd26c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x1bd26c)" (( "(") (binary_expression "pcVar23 + 0x1bd26c" (identifier "pcVar23") (+ "+") (number_literal "0x1bd26c")) () ")")))) (+ "+") (number_literal "-0x5cec")) () ")")))) (; ";")) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar12 = piVar2[1];" (assignment_expression "iVar12 = piVar2[1]" (identifier "iVar12") (= "=") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar7 = *piVar2;" (assignment_expression "iVar7 = *piVar2" (identifier "iVar7") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "iVar19 = iVar1 - iVar7;" (assignment_expression "iVar19 = iVar1 - iVar7" (identifier "iVar19") (= "=") (binary_expression "iVar1 - iVar7" (identifier "iVar1") (- "-") (identifier "iVar7"))) (; ";")) (expression_statement "uVar6 = iVar12 - iVar7 >> 2;" (assignment_expression "uVar6 = iVar12 - iVar7 >> 2" (identifier "uVar6") (= "=") (binary_expression "iVar12 - iVar7 >> 2" (binary_expression "iVar12 - iVar7" (identifier "iVar12") (- "-") (identifier "iVar7")) (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if (uVar6 == 0) {\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }\n      else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar16 = 1;\nLAB_00275498:\n        iVar9 = uVar16 << 2;\nLAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);\n        iVar9 = iVar4 + iVar9;\n      }" ({ "{") (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" (identifier "uVar16") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00275498:\n        iVar9 = uVar16 << 2;" (statement_identifier "LAB_00275498") (: ":") (expression_statement "iVar9 = uVar16 << 2;" (assignment_expression "iVar9 = uVar16 << 2" (identifier "iVar9") (= "=") (binary_expression "uVar16 << 2" (identifier "uVar16") (<< "<<") (number_literal "2"))) (; ";"))) (labeled_statement "LAB_0027536c:\n        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);" (statement_identifier "LAB_0027536c") (: ":") (expression_statement "iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);" (assignment_expression "iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar25 + 0x1bd044))(iVar9)" (parenthesized_expression "(**(code **)(pcVar25 + 0x1bd044))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x1bd044)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x1bd044)" (* "*") (cast_expression "(code **)(pcVar25 + 0x1bd044)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x1bd044)" (( "(") (binary_expression "pcVar25 + 0x1bd044" (identifier "pcVar25") (+ "+") (number_literal "0x1bd044")) () ")"))))) () ")")) (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")")))) (; ";"))) (expression_statement "iVar9 = iVar4 + iVar9;" (assignment_expression "iVar9 = iVar4 + iVar9" (identifier "iVar9") (= "=") (binary_expression "iVar4 + iVar9" (identifier "iVar4") (+ "+") (identifier "iVar9"))) (; ";")) (} "}")) (else_clause "else {\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }" (else "else") (compound_statement "{\n        uVar16 = uVar6 << 1;\n        if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }\n        iVar9 = -4;\n        if (0x3fffffff < uVar16) goto LAB_0027536c;\n        iVar4 = 0;\n        if (uVar16 != 0) goto LAB_00275498;\n        iVar9 = 0;\n      }" ({ "{") (expression_statement "uVar16 = uVar6 << 1;" (assignment_expression "uVar16 = uVar6 << 1" (identifier "uVar16") (= "=") (binary_expression "uVar6 << 1" (identifier "uVar6") (<< "<<") (number_literal "1"))) (; ";")) (if_statement "if (uVar16 < uVar6) {\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }" (if "if") (parenthesized_expression "(uVar16 < uVar6)" (( "(") (binary_expression "uVar16 < uVar6" (identifier "uVar16") (< "<") (identifier "uVar6")) () ")")) (compound_statement "{\n          iVar9 = -4;\n          goto LAB_0027536c;\n        }" ({ "{") (expression_statement "iVar9 = -4;" (assignment_expression "iVar9 = -4" (identifier "iVar9") (= "=") (number_literal "-4")) (; ";")) (goto_statement "goto LAB_0027536c;" (goto "goto") (statement_identifier "LAB_0027536c") (; ";")) (} "}"))) (expression_statement "iVar9 = -4;" (assignment_expression "iVar9 = -4" (identifier "iVar9") (= "=") (number_literal "-4")) (; ";")) (if_statement "if (0x3fffffff < uVar16) goto LAB_0027536c;" (if "if") (parenthesized_expression "(0x3fffffff < uVar16)" (( "(") (binary_expression "0x3fffffff < uVar16" (number_literal "0x3fffffff") (< "<") (identifier "uVar16")) () ")")) (goto_statement "goto LAB_0027536c;" (goto "goto") (statement_identifier "LAB_0027536c") (; ";"))) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar16 != 0) goto LAB_00275498;" (if "if") (parenthesized_expression "(uVar16 != 0)" (( "(") (binary_expression "uVar16 != 0" (identifier "uVar16") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00275498;" (goto "goto") (statement_identifier "LAB_00275498") (; ";"))) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "piVar22 = (int *)(iVar4 + iVar19);" (assignment_expression "piVar22 = (int *)(iVar4 + iVar19)" (identifier "piVar22") (= "=") (cast_expression "(int *)(iVar4 + iVar19)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + iVar19)" (( "(") (binary_expression "iVar4 + iVar19" (identifier "iVar4") (+ "+") (identifier "iVar19")) () ")")))) (; ";")) (expression_statement "iVar18 = iVar4 + iVar19 + 4;" (assignment_expression "iVar18 = iVar4 + iVar19 + 4" (identifier "iVar18") (= "=") (binary_expression "iVar4 + iVar19 + 4" (binary_expression "iVar4 + iVar19" (identifier "iVar4") (+ "+") (identifier "iVar19")) (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*piVar22 = *piVar3;" (assignment_expression "*piVar22 = *piVar3" (pointer_expression "*piVar22" (* "*") (identifier "piVar22")) (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (expression_statement "iVar26 = iVar18 + (iVar12 - iVar1);" (assignment_expression "iVar26 = iVar18 + (iVar12 - iVar1)" (identifier "iVar26") (= "=") (binary_expression "iVar18 + (iVar12 - iVar1)" (identifier "iVar18") (+ "+") (parenthesized_expression "(iVar12 - iVar1)" (( "(") (binary_expression "iVar12 - iVar1" (identifier "iVar12") (- "-") (identifier "iVar1")) () ")")))) (; ";")) (if_statement "if (iVar7 == iVar1) {\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }" (if "if") (parenthesized_expression "(iVar7 == iVar1)" (( "(") (binary_expression "iVar7 == iVar1" (identifier "iVar7") (== "==") (identifier "iVar1")) () ")")) (compound_statement "{\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\n        if (iVar12 != iVar7) goto LAB_002753cc;\n      }" ({ "{") (expression_statement "pcVar23 = *(code **)(pcVar25 + 0x1c1490);" (assignment_expression "pcVar23 = *(code **)(pcVar25 + 0x1c1490)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcVar25 + 0x1c1490)" (* "*") (cast_expression "(code **)(pcVar25 + 0x1c1490)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x1c1490)" (( "(") (binary_expression "pcVar25 + 0x1c1490" (identifier "pcVar25") (+ "+") (number_literal "0x1c1490")) () ")"))))) (; ";")) (if_statement "if (iVar12 != iVar7) goto LAB_002753cc;" (if "if") (parenthesized_expression "(iVar12 != iVar7)" (( "(") (binary_expression "iVar12 != iVar7" (identifier "iVar12") (!= "!=") (identifier "iVar7")) () ")")) (goto_statement "goto LAB_002753cc;" (goto "goto") (statement_identifier "LAB_002753cc") (; ";"))) (} "}")) (else_clause "else {\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }" (else "else") (compound_statement "{\n        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);\n        if (iVar12 == iVar1) goto LAB_00275420;\n        pcVar23 = *(code **)(pcVar25 + 0x1c1490);\nLAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);\n      }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);" (call_expression "(**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19)" (parenthesized_expression "(**(code **)(pcVar25 + 0x1c13e0))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x1c13e0)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x1c13e0)" (* "*") (cast_expression "(code **)(pcVar25 + 0x1c13e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x1c13e0)" (( "(") (binary_expression "pcVar25 + 0x1c13e0" (identifier "pcVar25") (+ "+") (number_literal "0x1c13e0")) () ")"))))) () ")")) (argument_list "(iVar4,iVar7,iVar19)" (( "(") (identifier "iVar4") (, ",") (identifier "iVar7") (, ",") (identifier "iVar19") () ")"))) (; ";")) (if_statement "if (iVar12 == iVar1) goto LAB_00275420;" (if "if") (parenthesized_expression "(iVar12 == iVar1)" (( "(") (binary_expression "iVar12 == iVar1" (identifier "iVar12") (== "==") (identifier "iVar1")) () ")")) (goto_statement "goto LAB_00275420;" (goto "goto") (statement_identifier "LAB_00275420") (; ";"))) (expression_statement "pcVar23 = *(code **)(pcVar25 + 0x1c1490);" (assignment_expression "pcVar23 = *(code **)(pcVar25 + 0x1c1490)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcVar25 + 0x1c1490)" (* "*") (cast_expression "(code **)(pcVar25 + 0x1c1490)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x1c1490)" (( "(") (binary_expression "pcVar25 + 0x1c1490" (identifier "pcVar25") (+ "+") (number_literal "0x1c1490")) () ")"))))) (; ";")) (labeled_statement "LAB_002753cc:\n        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);" (statement_identifier "LAB_002753cc") (: ":") (expression_statement "piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);" (assignment_expression "piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1)" (identifier "piVar22") (= "=") (cast_expression "(int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar23)(iVar18,iVar1,iVar12 - iVar1)" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "(iVar18,iVar1,iVar12 - iVar1)" (( "(") (identifier "iVar18") (, ",") (identifier "iVar1") (, ",") (binary_expression "iVar12 - iVar1" (identifier "iVar12") (- "-") (identifier "iVar1")) () ")"))))) (; ";"))) (} "}")))) (if_statement "if (iVar7 == 0) {\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *piVar2 = iVar4;\n        piVar2[1] = iVar26;\n        piVar2[2] = iVar9;\n        return piVar22;\n      }" ({ "{") (expression_statement "*piVar2 = iVar4;" (assignment_expression "*piVar2 = iVar4" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "piVar2[1] = iVar26;" (assignment_expression "piVar2[1] = iVar26" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar26")) (; ";")) (expression_statement "piVar2[2] = iVar9;" (assignment_expression "piVar2[2] = iVar9" (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar9")) (; ";")) (return_statement "return piVar22;" (return "return") (identifier "piVar22") (; ";")) (} "}"))) (labeled_statement "LAB_00275420:\n      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);" (statement_identifier "LAB_00275420") (: ":") (expression_statement "piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);" (assignment_expression "piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7)" (identifier "piVar3") (= "=") (cast_expression "(int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar25 + 0x1bcf94))(iVar7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x1bcf94))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x1bcf94)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x1bcf94)" (* "*") (cast_expression "(code **)(pcVar25 + 0x1bcf94)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x1bcf94)" (( "(") (binary_expression "pcVar25 + 0x1bcf94" (identifier "pcVar25") (+ "+") (number_literal "0x1bcf94")) () ")"))))) () ")")) (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")"))))) (; ";"))) (expression_statement "*piVar2 = iVar4;" (assignment_expression "*piVar2 = iVar4" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "piVar2[1] = iVar26;" (assignment_expression "piVar2[1] = iVar26" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar26")) (; ";")) (expression_statement "piVar2[2] = iVar9;" (assignment_expression "piVar2[2] = iVar9" (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar9")) (; ";")) (return_statement "return piVar3;" (return "return") (identifier "piVar3") (; ";")) (} "}"))) (if_statement "if (uVar16 == 0) goto LAB_00275238;" (if "if") (parenthesized_expression "(uVar16 == 0)" (( "(") (binary_expression "uVar16 == 0" (identifier "uVar16") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00275238;" (goto "goto") (statement_identifier "LAB_00275238") (; ";"))) (expression_statement "uVar11 = 0x11d;" (assignment_expression "uVar11 = 0x11d" (identifier "uVar11") (= "=") (number_literal "0x11d")) (; ";")) (} "}")))) (labeled_statement "LAB_002751a8:\n  iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;" (statement_identifier "LAB_002751a8") (: ":") (expression_statement "iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;" (assignment_expression "iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88" (identifier "iVar1") (= "=") (binary_expression "*(int *)(pcVar23 + 0x1bd124) + 0x1f88" (pointer_expression "*(int *)(pcVar23 + 0x1bd124)" (* "*") (cast_expression "(int *)(pcVar23 + 0x1bd124)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x1bd124)" (( "(") (binary_expression "pcVar23 + 0x1bd124" (identifier "pcVar23") (+ "+") (number_literal "0x1bd124")) () ")")))) (+ "+") (number_literal "0x1f88"))) (; ";"))) (expression_statement "pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0);" (assignment_expression "pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0)" (identifier "pcVar25") (= "=") (cast_expression "(code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0)" (( "(") (binary_expression "*(int *)(pcVar23 + 0x1bd124) + 0x1dc0" (pointer_expression "*(int *)(pcVar23 + 0x1bd124)" (* "*") (cast_expression "(int *)(pcVar23 + 0x1bd124)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x1bd124)" (( "(") (binary_expression "pcVar23 + 0x1bd124" (identifier "pcVar23") (+ "+") (number_literal "0x1bd124")) () ")")))) (+ "+") (number_literal "0x1dc0")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1);" (call_expression "(**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1)" (parenthesized_expression "(**(code **)(pcVar23 + 0x1bd27c))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x1bd27c)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x1bd27c)" (* "*") (cast_expression "(code **)(pcVar23 + 0x1bd27c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x1bd27c)" (( "(") (binary_expression "pcVar23 + 0x1bd27c" (identifier "pcVar23") (+ "+") (number_literal "0x1bd27c")) () ")"))))) () ")")) (argument_list "(pcVar25,uVar11,iVar1)" (( "(") (identifier "pcVar25") (, ",") (identifier "uVar11") (, ",") (identifier "iVar1") () ")"))) (; ";")) (expression_statement "iStackY_c4 = extraout_v1_01;" (assignment_expression "iStackY_c4 = extraout_v1_01" (identifier "iStackY_c4") (= "=") (identifier "extraout_v1_01")) (; ";")) (labeled_statement "LAB_002751c0:\n  uVar13 = *(uint *)(pcVar25 + 4);" (statement_identifier "LAB_002751c0") (: ":") (expression_statement "uVar13 = *(uint *)(pcVar25 + 4);" (assignment_expression "uVar13 = *(uint *)(pcVar25 + 4)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(pcVar25 + 4)" (* "*") (cast_expression "(uint *)(pcVar25 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 4)" (( "(") (binary_expression "pcVar25 + 4" (identifier "pcVar25") (+ "+") (number_literal "4")) () ")"))))) (; ";"))) (expression_statement "piVar2 = *(int **)pcVar25;" (assignment_expression "piVar2 = *(int **)pcVar25" (identifier "piVar2") (= "=") (pointer_expression "*(int **)pcVar25" (* "*") (cast_expression "(int **)pcVar25" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar25")))) (; ";")) (goto_statement "goto LAB_002751d0;" (goto "goto") (statement_identifier "LAB_002751d0") (; ";")) (} "}"))))

/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* DWARF original name: get_fde_pc<32, true>
   DWARF original prototype: Elf_Addr get_fde_pc<32,_true>(Eh_frame_hdr * this, Elf_Addr
   eh_frame_address, uchar * eh_frame_contents, section_offset_type fde_offset, uchar fde_encoding)
    */

type_1 __thiscall
gold::type_7::var_18<32,var_19>
          (type_7 *this,type_1 var_7,type_12 *var_4,
          section_offset_type var_5,type_12 var_2)

{
  int var_11;
  int *var_15;
  type_2 *var_24;
  type_3 var_33;
  int var_40;
  type_4 var_3;
  int var_9;
  type_5 *pOVar7;
  type_6 *extraout_v1_00;
  int extraout_v1_01;
  type_7 *this_00;
  type_8 *this_01;
  type_4 *puVar8;
  type_2 *var_29;
  type_2 uVar10;
  size_t var_13;
  type_4 var_12;
  type_1 *pEVar12;
  type_8 *var_14;
  type_2 uVar13;
  type_4 var_1;
  int *var_17;
  int *var_21;
  type_2 *var_26;
  type_4 var_34;
  int var_43;
  type_1 var_6;
  int var_38;
  type_2 *var_30;
  type_2 *var_28;
  type_1 var_20;
  type_2 *var_27;
  type_6 *var_25;
  int var_41;
  int var_39;
  int var_42;
  type_9 *var_16;
  type_6 *var_35;
  int iVar31;
  type_10 var_36;
  int var_37;
  int var_32;
  type_3 var_31;
  type_2 in_stack_ffffff98;
  type_2 in_stack_ffffff9c;
  type_1 EStack_58;
  int iStack_54;
  type_4 uStack_50;
  type_1 EStack_4c;
  
  var_1 = (type_4)var_2;
  var_3 = var_1 & 7;
  if (((var_2 & 7) == 0) || (var_3 == 3)) {
    var_6 = *(type_1 *)(var_4 + var_5 + 8);
LAB_00274bec:
    if ((var_1 & 0x70) == 0x10) goto LAB_00274bb8;
LAB_00274bfc:
    if ((var_1 & 0x70) == 0x30) goto LAB_00274c2c;
    if ((var_2 & 0x70) != 0) {
      uVar10 = 0x11d;
      goto LAB_00274c14;
    }
  }
  else {
    if (var_3 == 4) {
      uVar10 = 0x104;
      goto LAB_00274c14;
    }
    if (var_3 != 2) {
      uVar10 = 0x10a;
      goto LAB_00274c14;
    }
    var_6 = (type_1)*(type_11 *)(var_4 + var_5 + 8);
    if ((var_2 & 8) == 0) goto LAB_00274bec;
    var_6 = (var_6 ^ 0x8000) - 0x8000;
    if ((var_1 & 0x70) != 0x10) goto LAB_00274bfc;
LAB_00274bb8:
    var_6 = var_6 + var_7 + 8 + var_5;
  }
  while( true ) {
    var_1 = (type_4)(char)var_2;
    uVar10 = 0x120;
    if (-1 < (int)var_1) {
      return var_6;
    }
LAB_00274c14:
    (*(type_6 *)PTR_do_gold_unreachable_004323c4)
              (var_8 + 0x1dc0,uVar10,var_8 + 0x1fc0);
LAB_00274c2c:
    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;
    var_2 = (type_12)var_1;
    (**(type_6 **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();
    var_6 = var_6 + var_9;
  }
  var_13 = 0x69;
  pEVar12 = (type_1 *)(var_8 + 0x1fe4);
  this_00 = (type_7 *)(var_10 + -0x5cec);
  var_16 = PTR_do_gold_unreachable_004323c4;
  (*(type_6 *)PTR_do_gold_unreachable_004323c4)();
  pOVar7 = this_00->eh_frame_section_;
  var_11 = *(int *)&(pOVar7->super_Output_data).field_0x20;
  var_3 = var_5;
  uStack_50 = var_1;
  EStack_4c = var_6;
  if (var_11 < 0) {
    var_20 = (type_1)(pOVar7->super_Output_data).address_;
    if (var_11 << 2 < 0) {
      this_01 = *(type_8 **)((int)&(pOVar7->super_Output_data).offset_ + 4);
      var_14 = *(type_8 **)&(pOVar7->super_Output_data).offset_;
      if (var_11 << 1 < 0) {
        var_12 = (type_4)(pOVar7->super_Output_data).data_size_;
        if (-1 < (int)var_14) {
          var_3 = (int)&this_01->name_ + var_12;
          var_11 = (int)&var_14->name_ + (type_4)(var_3 < var_12);
          var_14 = (type_8 *)(type_4)(*(int *)(var_13 + 8) < var_11);
          if ((var_14 == (type_8 *)0x0) &&
             ((*(int *)(var_13 + 8) != var_11 ||
              (var_3 = (type_4)(*(type_4 *)(var_13 + 0xc) < var_3), var_3 == 0)))) {
            var_11 = *(int *)(var_13 + 0x10);
            var_15 = (int *)pEVar12[1];
            if ((int *)*pEVar12 != var_15) {
              var_25 = *(type_6 **)(var_16 + 0x1bf518);
              var_17 = (int *)*pEVar12;
              do {
                var_21 = var_17 + 2;
                EStack_58 = var_18<32,var_19>
                                      (this_00,var_20,(type_12 *)((int)&this_01->name_ + var_11),
                                       *var_17,*(type_12 *)(var_17 + 1));
                iStack_54 = var_20 + *var_17;
                (*var_25)(var_5,&EStack_58);
                var_15 = (int *)pEVar12[1];
                var_17 = var_21;
              } while (var_15 != var_21);
            }
            return (type_1)var_15;
          }
        }
        Output_file::var_22
                  (this_01,var_23(in_stack_ffffff98,in_stack_ffffff9c),var_13,var_14);
      }
      (**(type_6 **)(var_16 + 0x1bd740))
                (*(int *)(var_16 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(var_16 + 0x1bd5e8) + 0x2008);
    }
    (**(type_6 **)(var_16 + 0x1bd740))
              (*(int *)(var_16 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(var_16 + 0x1bd5e8) + 0x2014);
  }
  var_12 = 0xc5;
  var_25 = *(type_6 **)(var_16 + 0x1bd740);
  var_11 = *(int *)(var_16 + 0x1bd5e8) + 0x1fdc;
  puVar8 = (type_4 *)(*(int *)(var_16 + 0x1bd730) + -0x4fe0);
  (*var_25)();
  if (var_12 < 0x10000000) {
    var_26 = (type_2 *)*puVar8;
    var_24 = (type_2 *)(type_4)((type_4)((int)(puVar8[2] - (int)var_26) >> 4) < var_12);
    if (var_24 != (type_2 *)0x0) {
      var_27 = (type_2 *)puVar8[1];
      var_11 = (int)var_27 - (int)var_26;
      if (var_12 == 0) {
        var_28 = (type_2 *)0x0;
        var_30 = var_28;
        var_29 = var_26;
      }
      else {
        var_24 = (type_2 *)(**(type_6 **)(var_25 + 0x1bd508))(var_12 * 0x10);
        var_28 = var_24;
        var_30 = var_24;
        var_29 = (type_2 *)*puVar8;
      }
      for (; var_26 != var_27; var_26 = var_26 + 4) {
        uVar13 = var_26[1];
        uVar10 = var_26[2];
        var_24 = (type_2 *)var_26[3];
        *var_28 = *var_26;
        var_28[1] = uVar13;
        var_28[2] = uVar10;
        var_28[3] = var_24;
        var_28 = var_28 + 4;
      }
      if (var_29 != (type_2 *)0x0) {
        var_24 = (type_2 *)(**(type_6 **)(var_25 + 0x1bd458))();
      }
      *puVar8 = (type_4)var_30;
      puVar8[1] = (int)var_30 + var_11;
      puVar8[2] = (type_4)(var_30 + var_12 * 4);
      return (type_1)var_24;
    }
    return 0;
  }
  var_35 = *(type_6 **)(var_25 + 0x1bd64c);
  (*var_35)(*(int *)(var_25 + 0x1bd3d8) + 0x4864);
  var_33 = var_31 & 7;
  var_25 = var_25 + var_32 + 0x1c53a4;
  if ((var_31 & 7) == 0) goto LAB_00274ff4;
  if (var_33 == 3) {
    var_12 = *(type_4 *)var_25;
    var_12 = (((var_12 >> 0x10) << 0x18 | (var_12 >> 0x18) << 0x10) >> 0x10) +
             ((var_12 & 0xff) << 8 | var_12 >> 8 & 0xff) * 0x10000;
    if ((var_31 & 8) != 0) {
      var_20 = (var_12 < (var_12 ^ 0x80000000)) - 1;
      goto LAB_00275014;
    }
  }
  else {
    if (var_33 == 4) goto LAB_00274ff4;
    if (var_33 != 2) {
      uVar10 = 0x10a;
      goto LAB_00274fdc;
    }
    var_12 = (*(type_11 *)var_25 & 0xff) << 8 | (type_4)(*(type_11 *)var_25 >> 8);
    if ((var_31 & 8) != 0) {
      var_34 = var_12 ^ 0x8000;
      var_12 = var_34 - 0x8000;
      var_20 = (var_12 < var_34) - 1;
      goto LAB_00275014;
    }
  }
  var_20 = 0;
LAB_00275014:
  do {
    if ((var_31 & 0x70) == 0x10) {
      var_34 = var_3 + 8;
      var_3 = var_20 + (type_4)(var_34 + var_32 < var_34) +
                       (type_4)(var_34 < var_3) + var_11 + (var_32 >> 0x1f);
      var_20 = (var_12 + var_34 + var_32 < var_12) + var_3;
LAB_00275078:
      uVar10 = 0x120;
      if (-1 < (char)var_31) {
        return var_20;
      }
    }
    else {
      if ((var_31 & 0x70) == 0x30) {
        if (*(int **)(**(int **)(var_35 + 0x1bdc68) + 0xc) != (int *)0x0) {
          var_36 = (**(type_6 **)(**(int **)(**(int **)(var_35 + 0x1bdc68) + 0xc) + 0x50))();
          var_20 = (type_1)((ulonglong)(var_36 + var_23(var_20,var_12)) >> 0x20);
          goto LAB_00275078;
        }
        var_25 = *(type_6 **)(var_35 + 0x1bd44c);
        var_11 = *(int *)(var_35 + 0x1bd2f4) + 0x1fe4;
        (*var_25)(*(int *)(var_35 + 0x1bd43c) + -0x5cec,0x69);
        var_34 = var_1 & 0xff;
        var_12 = var_1 & 7;
        var_35 = var_35 + var_37 + 0x1c5260;
        if ((var_1 & 7) == 0) goto LAB_002751c0;
        if (var_12 == 3) {
          var_12 = *(type_4 *)var_35;
          if ((var_1 & 8) != 0) {
            var_20 = (var_12 < (var_12 ^ 0x80000000)) - 1;
            break;
          }
        }
        else {
          if (var_12 == 4) goto LAB_002751c0;
          uVar10 = 0x10a;
          if (var_12 != 2) goto LAB_002751a8;
          var_12 = (type_4)*(type_11 *)var_35;
          if ((var_1 & 8) != 0) {
            var_1 = var_12 ^ 0x8000;
            var_12 = var_1 - 0x8000;
            var_20 = (var_12 < var_1) - 1;
            break;
          }
        }
        var_20 = 0;
        break;
      }
      if ((var_31 & 0x70) == 0) goto LAB_00275078;
      uVar10 = 0x11d;
    }
LAB_00274fdc:
    var_11 = *(int *)(var_35 + 0x1bd2f4) + 0x1fa4;
    (**(type_6 **)(var_35 + 0x1bd44c))(*(int *)(var_35 + 0x1bd2f4) + 0x1dc0,uVar10);
    var_25 = extraout_v1_00;
LAB_00274ff4:
    var_12 = *(type_4 *)(var_25 + 4);
    var_34 = *(type_4 *)var_25;
    var_20 = (((var_12 >> 0x10) << 0x18 | (var_12 >> 0x18) << 0x10) >> 0x10) +
             ((var_12 & 0xff) << 8 | var_12 >> 8 & 0xff) * 0x10000;
    var_12 = (((var_34 >> 0x10) << 0x18 | (var_34 >> 0x18) << 0x10) >> 0x10) +
             ((var_34 & 0xff) << 8 | var_34 >> 8 & 0xff) * 0x10000;
  } while( true );
LAB_002751d0:
  var_1 = var_34 & 0x70;
  if (var_1 == 0x10) {
    var_1 = var_3 + 8;
    var_3 = (type_4)(var_1 + var_37 < var_1) +
            (type_4)(var_1 < var_3) + var_11 + (var_37 >> 0x1f);
    var_20 = (type_4)(var_12 + var_1 + var_37 < var_12) + var_20 + var_3;
LAB_00275238:
    var_34 = (type_4)(char)var_34;
    uVar10 = 0x120;
    if (-1 < (int)var_34) {
      return var_20;
    }
  }
  else {
    if (var_1 == 0x30) {
      if (*(int **)(**(int **)(var_25 + 0x1bda98) + 0xc) != (int *)0x0) {
        var_36 = (**(type_6 **)(**(int **)(**(int **)(var_25 + 0x1bda98) + 0xc) + 0x50))();
        var_20 = (type_1)((ulonglong)(var_36 + var_23(var_20,var_12)) >> 0x20);
        goto LAB_00275238;
      }
      var_11 = 0x69;
      var_35 = *(type_6 **)(var_25 + 0x1bd27c);
      var_26 = (type_2 *)(*(int *)(var_25 + 0x1bd124) + 0x1fe4);
      var_15 = (int *)(*(int *)(var_25 + 0x1bd26c) + -0x5cec);
      (*var_35)();
      var_39 = var_15[1];
      var_38 = *var_15;
      var_42 = var_11 - var_38;
      var_3 = var_39 - var_38 >> 2;
      if (var_3 == 0) {
        var_1 = 1;
LAB_00275498:
        var_41 = var_1 << 2;
LAB_0027536c:
        var_40 = (**(type_6 **)(var_35 + 0x1bd044))(var_41);
        var_41 = var_40 + var_41;
      }
      else {
        var_1 = var_3 << 1;
        if (var_1 < var_3) {
          var_41 = -4;
          goto LAB_0027536c;
        }
        var_41 = -4;
        if (0x3fffffff < var_1) goto LAB_0027536c;
        var_40 = 0;
        if (var_1 != 0) goto LAB_00275498;
        var_41 = 0;
      }
      var_24 = (type_2 *)(var_40 + var_42);
      var_43 = var_40 + var_42 + 4;
      *var_24 = *var_26;
      iVar31 = var_43 + (var_39 - var_11);
      if (var_38 == var_11) {
        var_25 = *(type_6 **)(var_35 + 0x1c1490);
        if (var_39 != var_38) goto LAB_002753cc;
      }
      else {
        (**(type_6 **)(var_35 + 0x1c13e0))(var_40,var_38,var_42);
        if (var_39 == var_11) goto LAB_00275420;
        var_25 = *(type_6 **)(var_35 + 0x1c1490);
LAB_002753cc:
        var_24 = (type_2 *)(*var_25)(var_43,var_11,var_39 - var_11);
      }
      if (var_38 == 0) {
        *var_15 = var_40;
        var_15[1] = iVar31;
        var_15[2] = var_41;
        return (type_1)var_24;
      }
LAB_00275420:
      var_20 = (**(type_6 **)(var_35 + 0x1bcf94))(var_38);
      *var_15 = var_40;
      var_15[1] = iVar31;
      var_15[2] = var_41;
      return var_20;
    }
    if (var_1 == 0) goto LAB_00275238;
    uVar10 = 0x11d;
  }
LAB_002751a8:
  var_11 = *(int *)(var_25 + 0x1bd124) + 0x1f88;
  var_35 = (type_6 *)(*(int *)(var_25 + 0x1bd124) + 0x1dc0);
  (**(type_6 **)(var_25 + 0x1bd27c))(var_35,uVar10);
  var_37 = extraout_v1_01;
LAB_002751c0:
  var_12 = *(type_4 *)(var_35 + 4);
  var_20 = *(type_1 *)var_35;
  goto LAB_002751d0;
}


(translation_unit (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier)) (MISSING ";")) (labeled_statement label: (statement_identifier) (ERROR) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (true) right: (parenthesized_expression (comma_expression left: (identifier) (ERROR (identifier)) (ERROR (identifier)) right: (comma_expression left: (identifier) (ERROR (identifier)) right: (comma_expression left: (identifier) (ERROR (identifier)) right: (comma_expression left: (identifier) (ERROR (identifier)) right: (identifier))))))))) (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (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: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) 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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal)) right: (identifier)))))))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (return_statement (identifier)))) (labeled_statement label: (statement_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 (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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: (identifier))) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (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))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) right: (binary_expression left: (identifier) right: (number_literal))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (true) right: (parenthesized_expression (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (comma_expression left: (pointer_expression argument: (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: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (return_statement (identifier)))))) (expression_statement (call_expression function: (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 (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) right: (number_literal)))) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))))) (for_statement condition: (binary_expression left: (identifier) right: (identifier)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))) (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)))))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) right: (identifier))) right: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (return_statement (identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (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))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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 (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 (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (break_statement)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)))))) (break_statement)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (break_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (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)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal)))))) condition: (parenthesized_expression (true)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) right: (identifier)))) right: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (return_statement (identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (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))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) right: (number_literal)))))) (goto_statement label: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (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) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (identifier))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_statement (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (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)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (goto_statement label: (statement_identifier))))))

/* elfcpp::Elf_types<32>::Elf_Addr gold::Eh_frame_hdr::get_fde_pc<32,
   true>(elfcpp::Elf_types<32>::Elf_Addr, unsigned char const*, int, unsigned char) */

int * __thiscall
gold::Eh_frame_hdr::MASKED
          (undefined4 param_1,int param_2,int param_3,uint param_4,byte param_5)

{
  int iVar1;
  int *piVar2;
  int *piVar3;
  byte bVar5;
  int iVar4;
  uint uVar6;
  int extraout_v1;
  int iVar7;
  code *extraout_v1_00;
  int extraout_v1_01;
  undefined *puVar8;
  int iVar9;
  int *piVar10;
  undefined4 uVar11;
  int iVar12;
  uint uVar13;
  uint *puVar14;
  undefined4 *puVar15;
  uint uVar16;
  uint uVar17;
  int iVar18;
  int *unaff_s1;
  int iVar19;
  int *piVar20;
  int *piVar21;
  int *piVar22;
  code *pcVar23;
  undefined *puVar24;
  code *pcVar25;
  int iVar26;
  longlong lVar27;
  int iStackY_c4;
  int iStackY_9c;
  byte bStackY_95;
  undefined4 uStack_58;
  int iStack_54;
  uint uStack_50;
  int *piStack_4c;
  
  uVar16 = (uint)param_5;
  uVar6 = uVar16 & 7;
  puVar14 = (uint *)(param_3 + param_4 + 8);
  if (((param_5 & 7) == 0) || (uVar6 == 3)) {
    unaff_s1 = (int *)*puVar14;
LAB_00274bec:
    if ((uVar16 & 0x70) == 0x10) goto LAB_00274bb8;
LAB_00274bfc:
    if ((uVar16 & 0x70) == 0x30) goto LAB_00274c2c;
    if ((param_5 & 0x70) != 0) {
      uVar11 = 0x11d;
      goto LAB_00274c14;
    }
  }
  else {
    if (uVar6 == 4) {
      uVar11 = 0x104;
      goto LAB_00274c14;
    }
    if (uVar6 != 2) {
      uVar11 = 0x10a;
      goto LAB_00274c14;
    }
    unaff_s1 = (int *)(uint)*(ushort *)puVar14;
    if ((param_5 & 8) == 0) goto LAB_00274bec;
    unaff_s1 = (int *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);
    if ((uVar16 & 0x70) != 0x10) goto LAB_00274bfc;
LAB_00274bb8:
    unaff_s1 = (int *)((int)unaff_s1 + param_2 + 8 + param_4);
  }
  while( true ) {
    uVar16 = (uint)(char)param_5;
    uVar11 = 0x120;
    if (-1 < (int)uVar16) {
      return unaff_s1;
    }
LAB_00274c14:
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_DAT_0043226c + 0x1dc0,uVar11,PTR_DAT_0043226c + 0x1fc0);
LAB_00274c2c:
    if (*(int **)(*(int *)PTR_parameters_00432be0 + 0xc) == (int *)0x0) break;
    param_5 = (byte)uVar16;
    (**(code **)(**(int **)(*(int *)PTR_parameters_00432be0 + 0xc) + 0x50))();
    unaff_s1 = (int *)((int)unaff_s1 + extraout_v1);
  }
  iVar12 = 0x69;
  puVar15 = (undefined4 *)(PTR_DAT_0043226c + 0x1fe4);
  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;
  puVar24 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)();
  iVar7 = *(int *)(puVar8 + 0x30);
  iVar1 = *(int *)(iVar7 + 0x20);
  uVar6 = param_4;
  uStack_50 = uVar16;
  piStack_4c = unaff_s1;
  if (iVar1 < 0) {
    iVar19 = *(int *)(iVar7 + 0xc);
    if (iVar1 << 2 < 0) {
      iVar9 = *(int *)(iVar7 + 0x1c);
      if (iVar1 << 1 < 0) {
        if (-1 < *(int *)(iVar7 + 0x18)) {
          uVar6 = *(uint *)(iVar7 + 0x14) + iVar9;
          iVar1 = (uint)(uVar6 < *(uint *)(iVar7 + 0x14)) + *(int *)(iVar7 + 0x18);
          if ((iVar1 <= *(int *)(iVar12 + 8)) &&
             ((*(int *)(iVar12 + 8) != iVar1 ||
              (uVar6 = (uint)(*(uint *)(iVar12 + 0xc) < uVar6), uVar6 == 0)))) {
            iVar1 = *(int *)(iVar12 + 0x10);
            piVar2 = (int *)puVar15[1];
            if ((int *)*puVar15 != piVar2) {
              pcVar23 = *(code **)(puVar24 + 0x1bf518);
              piVar3 = (int *)*puVar15;
              do {
                piVar22 = piVar3 + 2;
                uStack_58 = MASKED(puVar8,iVar19,iVar1 + iVar9,*piVar3,
                                                *(undefined1 *)(piVar3 + 1));
                iStack_54 = iVar19 + *piVar3;
                (*pcVar23)(param_4,&uStack_58);
                piVar2 = (int *)puVar15[1];
                piVar3 = piVar22;
              } while (piVar2 != piVar22);
            }
            return piVar2;
          }
        }
        FUN_00271ec8();
      }
      (**(code **)(puVar24 + 0x1bd740))
                (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xcf,*(int *)(puVar24 + 0x1bd5e8) + 0x2008);
    }
    (**(code **)(puVar24 + 0x1bd740))
              (*(int *)(puVar24 + 0x1bd730) + -0x4fe0,0xe3,*(int *)(puVar24 + 0x1bd5e8) + 0x2014);
  }
  uVar13 = 0xc5;
  pcVar23 = *(code **)(puVar24 + 0x1bd740);
  iVar1 = *(int *)(puVar24 + 0x1bd5e8) + 0x1fdc;
  puVar14 = (uint *)(*(int *)(puVar24 + 0x1bd730) + -0x4fe0);
  (*pcVar23)(puVar14,0xc5,iVar1);
  if (uVar13 < 0x10000000) {
    piVar2 = (int *)*puVar14;
    piVar3 = (int *)(uint)((uint)((int)(puVar14[2] - (int)piVar2) >> 4) < uVar13);
    if (piVar3 != (int *)0x0) {
      piVar22 = (int *)puVar14[1];
      iVar1 = (int)piVar22 - (int)piVar2;
      if (uVar13 == 0) {
        piVar21 = (int *)0x0;
        piVar20 = piVar21;
        piVar10 = piVar2;
      }
      else {
        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd508))(uVar13 * 0x10);
        piVar21 = piVar3;
        piVar20 = piVar3;
        piVar10 = (int *)*puVar14;
      }
      for (; piVar2 != piVar22; piVar2 = piVar2 + 4) {
        iVar12 = piVar2[1];
        iVar7 = piVar2[2];
        piVar3 = (int *)piVar2[3];
        *piVar21 = *piVar2;
        piVar21[1] = iVar12;
        piVar21[2] = iVar7;
        piVar21[3] = (int)piVar3;
        piVar21 = piVar21 + 4;
      }
      if (piVar10 != (int *)0x0) {
        piVar3 = (int *)(**(code **)(pcVar23 + 0x1bd458))();
      }
      *puVar14 = (uint)piVar20;
      puVar14[1] = (int)piVar20 + iVar1;
      puVar14[2] = (uint)(piVar20 + uVar13 * 4);
      return piVar3;
    }
    return (int *)0x0;
  }
  pcVar25 = *(code **)(pcVar23 + 0x1bd64c);
  (*pcVar25)(*(int *)(pcVar23 + 0x1bd3d8) + 0x4864);
  bVar5 = bStackY_95 & 7;
  pcVar23 = pcVar23 + iStackY_9c + 0x1c53a4;
  if ((bStackY_95 & 7) == 0) goto LAB_00274ff4;
  if (bVar5 == 3) {
    uVar13 = *(uint *)pcVar23;
    uVar13 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +
             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;
    if ((bStackY_95 & 8) != 0) {
      piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);
      goto LAB_00275014;
    }
  }
  else {
    if (bVar5 == 4) goto LAB_00274ff4;
    if (bVar5 != 2) {
      uVar11 = 0x10a;
      goto LAB_00274fdc;
    }
    uVar13 = (*(ushort *)pcVar23 & 0xff) << 8 | (uint)(*(ushort *)pcVar23 >> 8);
    if ((bStackY_95 & 8) != 0) {
      uVar17 = uVar13 ^ 0x8000;
      uVar13 = uVar17 - 0x8000;
      piVar2 = (int *)((uVar13 < uVar17) - 1);
      goto LAB_00275014;
    }
  }
  piVar2 = (int *)0x0;
LAB_00275014:
  do {
    if ((bStackY_95 & 0x70) == 0x10) {
      uVar17 = uVar6 + 8;
      uVar6 = (int)piVar2 +
              (uint)(uVar17 + iStackY_9c < uVar17) +
              (uint)(uVar17 < uVar6) + iVar1 + (iStackY_9c >> 0x1f);
      piVar2 = (int *)((uVar13 + uVar17 + iStackY_9c < uVar13) + uVar6);
LAB_00275078:
      uVar11 = 0x120;
      if (-1 < (char)bStackY_95) {
        return piVar2;
      }
    }
    else {
      if ((bStackY_95 & 0x70) == 0x30) {
        if (*(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) != (int *)0x0) {
          lVar27 = (**(code **)(**(int **)(**(int **)(pcVar25 + 0x1bdc68) + 0xc) + 0x50))();
          piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);
          goto LAB_00275078;
        }
        pcVar23 = *(code **)(pcVar25 + 0x1bd44c);
        iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fe4;
        (*pcVar23)(*(int *)(pcVar25 + 0x1bd43c) + -0x5cec,0x69,iVar1);
        uVar17 = uVar16 & 0xff;
        uVar13 = uVar16 & 7;
        pcVar25 = pcVar25 + iStackY_c4 + 0x1c5260;
        if ((uVar16 & 7) == 0) goto LAB_002751c0;
        if (uVar13 == 3) {
          uVar13 = *(uint *)pcVar25;
          if ((uVar16 & 8) != 0) {
            piVar2 = (int *)((uVar13 < (uVar13 ^ 0x80000000)) - 1);
            break;
          }
        }
        else {
          if (uVar13 == 4) goto LAB_002751c0;
          uVar11 = 0x10a;
          if (uVar13 != 2) goto LAB_002751a8;
          uVar13 = (uint)*(ushort *)pcVar25;
          if ((uVar16 & 8) != 0) {
            uVar16 = uVar13 ^ 0x8000;
            uVar13 = uVar16 - 0x8000;
            piVar2 = (int *)((uVar13 < uVar16) - 1);
            break;
          }
        }
        piVar2 = (int *)0x0;
        break;
      }
      if ((bStackY_95 & 0x70) == 0) goto LAB_00275078;
      uVar11 = 0x11d;
    }
LAB_00274fdc:
    iVar1 = *(int *)(pcVar25 + 0x1bd2f4) + 0x1fa4;
    (**(code **)(pcVar25 + 0x1bd44c))(*(int *)(pcVar25 + 0x1bd2f4) + 0x1dc0,uVar11,iVar1);
    pcVar23 = extraout_v1_00;
LAB_00274ff4:
    uVar13 = *(uint *)(pcVar23 + 4);
    uVar17 = *(uint *)pcVar23;
    piVar2 = (int *)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +
                    ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);
    uVar13 = (((uVar17 >> 0x10) << 0x18 | (uVar17 >> 0x18) << 0x10) >> 0x10) +
             ((uVar17 & 0xff) << 8 | uVar17 >> 8 & 0xff) * 0x10000;
  } while( true );
LAB_002751d0:
  uVar16 = uVar17 & 0x70;
  if (uVar16 == 0x10) {
    uVar16 = uVar6 + 8;
    uVar6 = (uint)(uVar16 + iStackY_c4 < uVar16) +
            (uint)(uVar16 < uVar6) + iVar1 + (iStackY_c4 >> 0x1f);
    piVar2 = (int *)((int)piVar2 + (uVar13 + uVar16 + iStackY_c4 < uVar13) + uVar6);
LAB_00275238:
    uVar17 = (uint)(char)uVar17;
    uVar11 = 0x120;
    if (-1 < (int)uVar17) {
      return piVar2;
    }
  }
  else {
    if (uVar16 == 0x30) {
      if (*(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) != (int *)0x0) {
        lVar27 = (**(code **)(**(int **)(**(int **)(pcVar23 + 0x1bda98) + 0xc) + 0x50))();
        piVar2 = (int *)((ulonglong)(lVar27 + CONCAT44(piVar2,uVar13)) >> 0x20);
        goto LAB_00275238;
      }
      iVar1 = 0x69;
      pcVar25 = *(code **)(pcVar23 + 0x1bd27c);
      piVar3 = (int *)(*(int *)(pcVar23 + 0x1bd124) + 0x1fe4);
      piVar2 = (int *)(*(int *)(pcVar23 + 0x1bd26c) + -0x5cec);
      (*pcVar25)();
      iVar12 = piVar2[1];
      iVar7 = *piVar2;
      iVar19 = iVar1 - iVar7;
      uVar6 = iVar12 - iVar7 >> 2;
      if (uVar6 == 0) {
        uVar16 = 1;
LAB_00275498:
        iVar9 = uVar16 << 2;
LAB_0027536c:
        iVar4 = (**(code **)(pcVar25 + 0x1bd044))(iVar9);
        iVar9 = iVar4 + iVar9;
      }
      else {
        uVar16 = uVar6 << 1;
        if (uVar16 < uVar6) {
          iVar9 = -4;
          goto LAB_0027536c;
        }
        iVar9 = -4;
        if (0x3fffffff < uVar16) goto LAB_0027536c;
        iVar4 = 0;
        if (uVar16 != 0) goto LAB_00275498;
        iVar9 = 0;
      }
      piVar22 = (int *)(iVar4 + iVar19);
      iVar18 = iVar4 + iVar19 + 4;
      *piVar22 = *piVar3;
      iVar26 = iVar18 + (iVar12 - iVar1);
      if (iVar7 == iVar1) {
        pcVar23 = *(code **)(pcVar25 + 0x1c1490);
        if (iVar12 != iVar7) goto LAB_002753cc;
      }
      else {
        (**(code **)(pcVar25 + 0x1c13e0))(iVar4,iVar7,iVar19);
        if (iVar12 == iVar1) goto LAB_00275420;
        pcVar23 = *(code **)(pcVar25 + 0x1c1490);
LAB_002753cc:
        piVar22 = (int *)(*pcVar23)(iVar18,iVar1,iVar12 - iVar1);
      }
      if (iVar7 == 0) {
        *piVar2 = iVar4;
        piVar2[1] = iVar26;
        piVar2[2] = iVar9;
        return piVar22;
      }
LAB_00275420:
      piVar3 = (int *)(**(code **)(pcVar25 + 0x1bcf94))(iVar7);
      *piVar2 = iVar4;
      piVar2[1] = iVar26;
      piVar2[2] = iVar9;
      return piVar3;
    }
    if (uVar16 == 0) goto LAB_00275238;
    uVar11 = 0x11d;
  }
LAB_002751a8:
  iVar1 = *(int *)(pcVar23 + 0x1bd124) + 0x1f88;
  pcVar25 = (code *)(*(int *)(pcVar23 + 0x1bd124) + 0x1dc0);
  (**(code **)(pcVar23 + 0x1bd27c))(pcVar25,uVar11,iVar1);
  iStackY_c4 = extraout_v1_01;
LAB_002751c0:
  uVar13 = *(uint *)(pcVar25 + 4);
  piVar2 = *(int **)pcVar25;
  goto LAB_002751d0;
}

