
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: uint64_t do_section_entsize(Sized_relobj_dwo<32,_true> * this, uint
   param_1) */

uint64_t __thiscall
gold::Sized_relobj_dwo<32,_true>::do_section_entsize(Sized_relobj_dwo<32,_true> *this,uint param_1)

{
  bool bVar1;
  undefined4 uVar2;
  undefined4 *puVar3;
  int *piVar4;
  int iVar5;
  int iVar6;
  int *piVar7;
  uint uVar8;
  int iVar9;
  int in_a3;
  undefined *puVar10;
  code *pcVar11;
  code *pcVar12;
  uint64_t uVar13;
  
  puVar10 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)
            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c);
  pcVar11 = *(code **)(puVar10 + 0x37e368);
  (*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218);
  pcVar12 = *(code **)(pcVar11 + 0x37e334);
  (*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc);
  pcVar11 = *(code **)(pcVar12 + 0x37e300);
  (*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0);
  pcVar12 = *(code **)(pcVar11 + 0x37e2cc);
  (*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0);
  pcVar11 = *(code **)(pcVar12 + 0x37e298);
  (*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4);
  uVar8 = 0x125;
  pcVar12 = *(code **)(pcVar11 + 0x37e264);
  iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494;
  (*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4);
  if (uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)) {
    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);
    return CONCAT44(*puVar3,puVar3);
  }
  uVar8 = 0x5c8;
  pcVar11 = *(code **)(pcVar12 + 0x37e230);
  iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90;
  iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8;
  (*pcVar11)();
  iVar5 = *(int *)(iVar6 + 0x84);
  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {
    if ((iVar9 == -1) && (in_a3 == -1)) {
      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);
      *puVar3 = 0xffffffff;
      return CONCAT44(0xffffffff,puVar3);
    }
    if (iVar9 == 0) {
      piVar4 = (int *)(iVar5 + uVar8 * 4);
      *piVar4 = in_a3;
      return CONCAT44(0xffffffff,piVar4);
    }
  }
  else {
    (**(code **)(pcVar11 + 0x37e1d4))
              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);
  }
  uVar8 = 0x70;
  pcVar12 = *(code **)(pcVar11 + 0x37e1d4);
  iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668;
  iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc;
  (*pcVar12)();
  iVar5 = *(int *)(iVar6 + 0x84);
  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {
    if ((iVar9 == -1) && (in_a3 == -1)) {
      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);
      *puVar3 = 0xffffffff;
      return CONCAT44(0xffffffff,puVar3);
    }
    if (iVar9 == 0) {
      piVar4 = (int *)(iVar5 + uVar8 * 4);
      *piVar4 = in_a3;
      return CONCAT44(0xffffffff,piVar4);
    }
  }
  else {
    (**(code **)(pcVar12 + 0x37e124))
              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);
  }
  uVar8 = 0x70;
  pcVar11 = *(code **)(pcVar12 + 0x37e124);
  iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668;
  iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc;
  (*pcVar11)();
  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);
  if (bVar1) {
    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);
    piVar4[1] = in_a3;
    *piVar4 = iVar6;
    return (uint64_t)CONCAT14(bVar1,piVar4);
  }
  uVar8 = 0x81f;
  pcVar12 = *(code **)(pcVar11 + 0x37e074);
  iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60;
  iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8;
  (*pcVar12)();
  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);
  if (bVar1) {
    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);
    piVar4[1] = in_a3;
    *piVar4 = iVar6;
    return (uint64_t)CONCAT14(bVar1,piVar4);
  }
  uVar8 = 0x81f;
  pcVar11 = *(code **)(pcVar12 + 0x37e014);
  iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8;
  (*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec);
  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {
    return *(uint64_t *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);
  }
  uVar8 = 0x7f7;
  pcVar12 = *(code **)(pcVar11 + 0x37dfb4);
  iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8;
  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec);
  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {
    return *(uint64_t *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);
  }
  uVar8 = 0x7f7;
  pcVar11 = *(code **)(pcVar12 + 0x37df54);
  iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8;
  (*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8);
  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)) {
    uVar2 = 0xffffffff;
    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);
    if (iVar5 == -1) {
      iVar5 = -1;
    }
    else {
      uVar2 = 0;
    }
    return CONCAT44(uVar2,iVar5);
  }
  uVar8 = 0x7f7;
  pcVar12 = *(code **)(pcVar11 + 0x37def4);
  iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8;
  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534);
  if ((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8) {
    pcVar11 = *(code **)(pcVar12 + 0x37de88);
    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);
    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);
    iVar5 = *(int *)(pcVar11 + 0x37df34);
    piVar4 = (int *)piVar7[1];
    *piVar7 = iVar5 + 8;
    if (piVar4 == piVar7 + 3) {
      return CONCAT44(iVar5 + 8,piVar4);
    }
                    /* WARNING: Could not recover jumptable at 0x000b45d0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);
    return uVar13;
  }
  uVar2 = 0xffffffff;
  iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);
  if (iVar5 == -1) {
    iVar5 = -1;
  }
  else {
    uVar2 = 0;
  }
  return CONCAT44(uVar2,iVar5);
}



ulonglong FUN_000b4028(void)

{
  bool bVar1;
  undefined4 uVar2;
  undefined4 *puVar3;
  int *piVar4;
  int iVar5;
  int iVar6;
  int *piVar7;
  uint uVar8;
  int iVar9;
  int in_a3;
  undefined *puVar10;
  code *pcVar11;
  code *pcVar12;
  ulonglong uVar13;
  
  puVar10 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)
            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c);
  pcVar11 = *(code **)(puVar10 + 0x37e368);
  (*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218);
  pcVar12 = *(code **)(pcVar11 + 0x37e334);
  (*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc);
  pcVar11 = *(code **)(pcVar12 + 0x37e300);
  (*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0);
  pcVar12 = *(code **)(pcVar11 + 0x37e2cc);
  (*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0);
  pcVar11 = *(code **)(pcVar12 + 0x37e298);
  (*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4);
  uVar8 = 0x125;
  pcVar12 = *(code **)(pcVar11 + 0x37e264);
  iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494;
  (*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4);
  if (uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)) {
    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);
    return CONCAT44(*puVar3,puVar3);
  }
  uVar8 = 0x5c8;
  pcVar11 = *(code **)(pcVar12 + 0x37e230);
  iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90;
  iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8;
  (*pcVar11)();
  iVar5 = *(int *)(iVar6 + 0x84);
  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {
    if ((iVar9 == -1) && (in_a3 == -1)) {
      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);
      *puVar3 = 0xffffffff;
      return CONCAT44(0xffffffff,puVar3);
    }
    if (iVar9 == 0) {
      piVar4 = (int *)(iVar5 + uVar8 * 4);
      *piVar4 = in_a3;
      return CONCAT44(0xffffffff,piVar4);
    }
  }
  else {
    (**(code **)(pcVar11 + 0x37e1d4))
              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);
  }
  uVar8 = 0x70;
  pcVar12 = *(code **)(pcVar11 + 0x37e1d4);
  iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668;
  iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc;
  (*pcVar12)();
  iVar5 = *(int *)(iVar6 + 0x84);
  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {
    if ((iVar9 == -1) && (in_a3 == -1)) {
      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);
      *puVar3 = 0xffffffff;
      return CONCAT44(0xffffffff,puVar3);
    }
    if (iVar9 == 0) {
      piVar4 = (int *)(iVar5 + uVar8 * 4);
      *piVar4 = in_a3;
      return CONCAT44(0xffffffff,piVar4);
    }
  }
  else {
    (**(code **)(pcVar12 + 0x37e124))
              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);
  }
  uVar8 = 0x70;
  pcVar11 = *(code **)(pcVar12 + 0x37e124);
  iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668;
  iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc;
  (*pcVar11)();
  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);
  if (bVar1) {
    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);
    piVar4[1] = in_a3;
    *piVar4 = iVar6;
    return (ulonglong)CONCAT14(bVar1,piVar4);
  }
  uVar8 = 0x81f;
  pcVar12 = *(code **)(pcVar11 + 0x37e074);
  iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60;
  iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8;
  (*pcVar12)();
  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);
  if (bVar1) {
    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);
    piVar4[1] = in_a3;
    *piVar4 = iVar6;
    return (ulonglong)CONCAT14(bVar1,piVar4);
  }
  uVar8 = 0x81f;
  pcVar11 = *(code **)(pcVar12 + 0x37e014);
  iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8;
  (*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec);
  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {
    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);
  }
  uVar8 = 0x7f7;
  pcVar12 = *(code **)(pcVar11 + 0x37dfb4);
  iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8;
  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec);
  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {
    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);
  }
  uVar8 = 0x7f7;
  pcVar11 = *(code **)(pcVar12 + 0x37df54);
  iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8;
  (*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8);
  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)) {
    uVar2 = 0xffffffff;
    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);
    if (iVar5 == -1) {
      iVar5 = -1;
    }
    else {
      uVar2 = 0;
    }
    return CONCAT44(uVar2,iVar5);
  }
  uVar8 = 0x7f7;
  pcVar12 = *(code **)(pcVar11 + 0x37def4);
  iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8;
  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534);
  if ((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8) {
    pcVar11 = *(code **)(pcVar12 + 0x37de88);
    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);
    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);
    iVar5 = *(int *)(pcVar11 + 0x37df34);
    piVar4 = (int *)piVar7[1];
    *piVar7 = iVar5 + 8;
    if (piVar4 == piVar7 + 3) {
      return CONCAT44(iVar5 + 8,piVar4);
    }
                    /* WARNING: Could not recover jumptable at 0x000b45d0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);
    return uVar13;
  }
  uVar2 = 0xffffffff;
  iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);
  if (iVar5 == -1) {
    iVar5 = -1;
  }
  else {
    uVar2 = 0;
  }
  return CONCAT44(uVar2,iVar5);
}


lui gp,0x38
addiu gp,gp,0x61a8
addu gp,gp,t9
lw a2,-0x7fc4(gp)
addiu sp,sp,-0x20
lw a0,-0x7fc4(gp)
li a1,0x14a
lw t9,-0x7e0c(gp)
addiu a2,a2,0x522c
sw gp,0x10(sp)
sw ra,0x1c(sp)
jalr t9
_addiu a0,a0,0x4494
(translation_unit "ulonglong FUN_000b4028(void)\n\n{\n  bool bVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  uint uVar8;\n  int iVar9;\n  int in_a3;\n  undefined *puVar10;\n  code *pcVar11;\n  code *pcVar12;\n  ulonglong uVar13;\n  \n  puVar10 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c);\n  pcVar11 = *(code **)(puVar10 + 0x37e368);\n  (*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218);\n  pcVar12 = *(code **)(pcVar11 + 0x37e334);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc);\n  pcVar11 = *(code **)(pcVar12 + 0x37e300);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0);\n  pcVar12 = *(code **)(pcVar11 + 0x37e2cc);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0);\n  pcVar11 = *(code **)(pcVar12 + 0x37e298);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4);\n  uVar8 = 0x125;\n  pcVar12 = *(code **)(pcVar11 + 0x37e264);\n  iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494;\n  (*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)) {\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }\n  uVar8 = 0x5c8;\n  pcVar11 = *(code **)(pcVar12 + 0x37e230);\n  iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90;\n  iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8;\n  (*pcVar11)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }\n  uVar8 = 0x70;\n  pcVar12 = *(code **)(pcVar11 + 0x37e1d4);\n  iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668;\n  iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc;\n  (*pcVar12)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }\n  uVar8 = 0x70;\n  pcVar11 = *(code **)(pcVar12 + 0x37e124);\n  iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668;\n  iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc;\n  (*pcVar11)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar12 = *(code **)(pcVar11 + 0x37e074);\n  iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60;\n  iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8;\n  (*pcVar12)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar11 = *(code **)(pcVar12 + 0x37e014);\n  iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8;\n  (*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37dfb4);\n  iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar11 = *(code **)(pcVar12 + 0x37df54);\n  iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8;\n  (*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)) {\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37def4);\n  iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534);\n  if ((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8) {\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    /* WARNING: Could not recover jumptable at 0x000b45d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }\n  uVar2 = 0xffffffff;\n  iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n  if (iVar5 == -1) {\n    iVar5 = -1;\n  }\n  else {\n    uVar2 = 0;\n  }\n  return CONCAT44(uVar2,iVar5);\n}\n\n" (function_definition "ulonglong FUN_000b4028(void)\n\n{\n  bool bVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  uint uVar8;\n  int iVar9;\n  int in_a3;\n  undefined *puVar10;\n  code *pcVar11;\n  code *pcVar12;\n  ulonglong uVar13;\n  \n  puVar10 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c);\n  pcVar11 = *(code **)(puVar10 + 0x37e368);\n  (*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218);\n  pcVar12 = *(code **)(pcVar11 + 0x37e334);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc);\n  pcVar11 = *(code **)(pcVar12 + 0x37e300);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0);\n  pcVar12 = *(code **)(pcVar11 + 0x37e2cc);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0);\n  pcVar11 = *(code **)(pcVar12 + 0x37e298);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4);\n  uVar8 = 0x125;\n  pcVar12 = *(code **)(pcVar11 + 0x37e264);\n  iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494;\n  (*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)) {\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }\n  uVar8 = 0x5c8;\n  pcVar11 = *(code **)(pcVar12 + 0x37e230);\n  iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90;\n  iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8;\n  (*pcVar11)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }\n  uVar8 = 0x70;\n  pcVar12 = *(code **)(pcVar11 + 0x37e1d4);\n  iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668;\n  iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc;\n  (*pcVar12)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }\n  uVar8 = 0x70;\n  pcVar11 = *(code **)(pcVar12 + 0x37e124);\n  iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668;\n  iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc;\n  (*pcVar11)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar12 = *(code **)(pcVar11 + 0x37e074);\n  iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60;\n  iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8;\n  (*pcVar12)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar11 = *(code **)(pcVar12 + 0x37e014);\n  iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8;\n  (*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37dfb4);\n  iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar11 = *(code **)(pcVar12 + 0x37df54);\n  iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8;\n  (*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)) {\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37def4);\n  iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534);\n  if ((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8) {\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    /* WARNING: Could not recover jumptable at 0x000b45d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }\n  uVar2 = 0xffffffff;\n  iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n  if (iVar5 == -1) {\n    iVar5 = -1;\n  }\n  else {\n    uVar2 = 0;\n  }\n  return CONCAT44(uVar2,iVar5);\n}" type_identifier (function_declarator "FUN_000b4028(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  bool bVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  uint uVar8;\n  int iVar9;\n  int in_a3;\n  undefined *puVar10;\n  code *pcVar11;\n  code *pcVar12;\n  ulonglong uVar13;\n  \n  puVar10 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c);\n  pcVar11 = *(code **)(puVar10 + 0x37e368);\n  (*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218);\n  pcVar12 = *(code **)(pcVar11 + 0x37e334);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc);\n  pcVar11 = *(code **)(pcVar12 + 0x37e300);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0);\n  pcVar12 = *(code **)(pcVar11 + 0x37e2cc);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0);\n  pcVar11 = *(code **)(pcVar12 + 0x37e298);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4);\n  uVar8 = 0x125;\n  pcVar12 = *(code **)(pcVar11 + 0x37e264);\n  iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494;\n  (*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)) {\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }\n  uVar8 = 0x5c8;\n  pcVar11 = *(code **)(pcVar12 + 0x37e230);\n  iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90;\n  iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8;\n  (*pcVar11)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }\n  uVar8 = 0x70;\n  pcVar12 = *(code **)(pcVar11 + 0x37e1d4);\n  iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668;\n  iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc;\n  (*pcVar12)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }\n  uVar8 = 0x70;\n  pcVar11 = *(code **)(pcVar12 + 0x37e124);\n  iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668;\n  iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc;\n  (*pcVar11)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar12 = *(code **)(pcVar11 + 0x37e074);\n  iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60;\n  iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8;\n  (*pcVar12)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar11 = *(code **)(pcVar12 + 0x37e014);\n  iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8;\n  (*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37dfb4);\n  iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar11 = *(code **)(pcVar12 + 0x37df54);\n  iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8;\n  (*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)) {\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37def4);\n  iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534);\n  if ((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8) {\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    /* WARNING: Could not recover jumptable at 0x000b45d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }\n  uVar2 = 0xffffffff;\n  iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n  if (iVar5 == -1) {\n    iVar5 = -1;\n  }\n  else {\n    uVar2 = 0;\n  }\n  return CONCAT44(uVar2,iVar5);\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int in_a3;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "code *pcVar11;" type_identifier (pointer_declarator "*pcVar11" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "ulonglong uVar13;" type_identifier identifier ;) (expression_statement "puVar10 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar10 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c)" (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_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c)" ( (binary_expression "PTR_LAB_0043220c + 0x4494" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_0043220c + 0x522c" identifier + number_literal) ))) ;) (expression_statement "pcVar11 = *(code **)(puVar10 + 0x37e368);" (assignment_expression "pcVar11 = *(code **)(puVar10 + 0x37e368)" identifier = (pointer_expression "*(code **)(puVar10 + 0x37e368)" * (cast_expression "(code **)(puVar10 + 0x37e368)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x37e368)" ( (binary_expression "puVar10 + 0x37e368" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218);" (call_expression "(*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218)" ( (binary_expression "*(int *)(puVar10 + 0x37e1b0) + 0x4494" (pointer_expression "*(int *)(puVar10 + 0x37e1b0)" * (cast_expression "(int *)(puVar10 + 0x37e1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x37e1b0)" ( (binary_expression "puVar10 + 0x37e1b0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar10 + 0x37e1b0) + 0x5218" (pointer_expression "*(int *)(puVar10 + 0x37e1b0)" * (cast_expression "(int *)(puVar10 + 0x37e1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x37e1b0)" ( (binary_expression "puVar10 + 0x37e1b0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e334);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e334)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37e334)" * (cast_expression "(code **)(pcVar11 + 0x37e334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e334)" ( (binary_expression "pcVar11 + 0x37e334" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc);" (call_expression "(*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc)" ( (binary_expression "*(int *)(pcVar11 + 0x37e17c) + 0x4494" (pointer_expression "*(int *)(pcVar11 + 0x37e17c)" * (cast_expression "(int *)(pcVar11 + 0x37e17c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e17c)" ( (binary_expression "pcVar11 + 0x37e17c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37e17c) + 0x51fc" (pointer_expression "*(int *)(pcVar11 + 0x37e17c)" * (cast_expression "(int *)(pcVar11 + 0x37e17c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e17c)" ( (binary_expression "pcVar11 + 0x37e17c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e300);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e300)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37e300)" * (cast_expression "(code **)(pcVar12 + 0x37e300)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e300)" ( (binary_expression "pcVar12 + 0x37e300" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0);" (call_expression "(*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0)" ( (binary_expression "*(int *)(pcVar12 + 0x37e148) + 0x4494" (pointer_expression "*(int *)(pcVar12 + 0x37e148)" * (cast_expression "(int *)(pcVar12 + 0x37e148)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e148)" ( (binary_expression "pcVar12 + 0x37e148" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37e148) + 0x51e0" (pointer_expression "*(int *)(pcVar12 + 0x37e148)" * (cast_expression "(int *)(pcVar12 + 0x37e148)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e148)" ( (binary_expression "pcVar12 + 0x37e148" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e2cc);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e2cc)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37e2cc)" * (cast_expression "(code **)(pcVar11 + 0x37e2cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e2cc)" ( (binary_expression "pcVar11 + 0x37e2cc" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0);" (call_expression "(*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0)" ( (binary_expression "*(int *)(pcVar11 + 0x37e114) + 0x4494" (pointer_expression "*(int *)(pcVar11 + 0x37e114)" * (cast_expression "(int *)(pcVar11 + 0x37e114)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e114)" ( (binary_expression "pcVar11 + 0x37e114" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37e114) + 0x51d0" (pointer_expression "*(int *)(pcVar11 + 0x37e114)" * (cast_expression "(int *)(pcVar11 + 0x37e114)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e114)" ( (binary_expression "pcVar11 + 0x37e114" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e298);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e298)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37e298)" * (cast_expression "(code **)(pcVar12 + 0x37e298)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e298)" ( (binary_expression "pcVar12 + 0x37e298" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4);" (call_expression "(*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4)" ( (binary_expression "*(int *)(pcVar12 + 0x37e0e0) + 0x4494" (pointer_expression "*(int *)(pcVar12 + 0x37e0e0)" * (cast_expression "(int *)(pcVar12 + 0x37e0e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e0e0)" ( (binary_expression "pcVar12 + 0x37e0e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37e0e0) + 0x51c4" (pointer_expression "*(int *)(pcVar12 + 0x37e0e0)" * (cast_expression "(int *)(pcVar12 + 0x37e0e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e0e0)" ( (binary_expression "pcVar12 + 0x37e0e0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar8 = 0x125;" (assignment_expression "uVar8 = 0x125" identifier = number_literal) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e264);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e264)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37e264)" * (cast_expression "(code **)(pcVar11 + 0x37e264)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e264)" ( (binary_expression "pcVar11 + 0x37e264" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494;" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494" identifier = (binary_expression "*(int *)(pcVar11 + 0x37e0ac) + 0x4494" (pointer_expression "*(int *)(pcVar11 + 0x37e0ac)" * (cast_expression "(int *)(pcVar11 + 0x37e0ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e0ac)" ( (binary_expression "pcVar11 + 0x37e0ac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4);" (call_expression "(*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37e0ac) + 0x51b4" (pointer_expression "*(int *)(pcVar11 + 0x37e0ac)" * (cast_expression "(int *)(pcVar11 + 0x37e0ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e0ac)" ( (binary_expression "pcVar11 + 0x37e0ac" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)) {\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)" ( (binary_expression "*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2" (binary_expression "*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38)" (pointer_expression "*(int *)(iVar5 + 0x3c)" * (cast_expression "(int *)(iVar5 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 0x3c" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) ))))) >> number_literal) )))) )) (compound_statement "{\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }" { (expression_statement "puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);" (assignment_expression "puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x38) + uVar8 * 4)" ( (binary_expression "*(int *)(iVar5 + 0x38) + uVar8 * 4" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (return_statement "return CONCAT44(*puVar3,puVar3);" return (call_expression "CONCAT44(*puVar3,puVar3)" identifier (argument_list "(*puVar3,puVar3)" ( (pointer_expression "*puVar3" * identifier) , identifier ))) ;) })) (expression_statement "uVar8 = 0x5c8;" (assignment_expression "uVar8 = 0x5c8" identifier = number_literal) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e230);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e230)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37e230)" * (cast_expression "(code **)(pcVar12 + 0x37e230)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e230)" ( (binary_expression "pcVar12 + 0x37e230" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90;" (assignment_expression "iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90" identifier = (binary_expression "*(int *)(pcVar12 + 0x37e078) + 0x5a90" (pointer_expression "*(int *)(pcVar12 + 0x37e078)" * (cast_expression "(int *)(pcVar12 + 0x37e078)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e078)" ( (binary_expression "pcVar12 + 0x37e078" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8;" (assignment_expression "iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar12 + 0x37e078) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37e078)" * (cast_expression "(int *)(pcVar12 + 0x37e078)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e078)" ( (binary_expression "pcVar12 + 0x37e078" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar11)();" (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar5 = *(int *)(iVar6 + 0x84);" (assignment_expression "iVar5 = *(int *)(iVar6 + 0x84)" identifier = (pointer_expression "*(int *)(iVar6 + 0x84)" * (cast_expression "(int *)(iVar6 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x84)" ( (binary_expression "iVar6 + 0x84" identifier + number_literal) ))))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" identifier < (call_expression "(uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" ( (binary_expression "*(int *)(iVar6 + 0x88) - iVar5 >> 2" (binary_expression "*(int *)(iVar6 + 0x88) - iVar5" (pointer_expression "*(int *)(iVar6 + 0x88)" * (cast_expression "(int *)(iVar6 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x88)" ( (binary_expression "iVar6 + 0x88" identifier + number_literal) )))) - identifier) >> number_literal) )))) )) (compound_statement "{\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }" { (if_statement "if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }" if (parenthesized_expression "((iVar9 == -1) && (in_a3 == -1))" ( (binary_expression "(iVar9 == -1) && (in_a3 == -1)" (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) && (parenthesized_expression "(in_a3 == -1)" ( (binary_expression "in_a3 == -1" identifier == number_literal) ))) )) (compound_statement "{\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }" { (expression_statement "puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);" (assignment_expression "puVar3 = (undefined4 *)(iVar5 + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(iVar5 + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + uVar8 * 4)" ( (binary_expression "iVar5 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (expression_statement "*puVar3 = 0xffffffff;" (assignment_expression "*puVar3 = 0xffffffff" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (return_statement "return CONCAT44(0xffffffff,puVar3);" return (call_expression "CONCAT44(0xffffffff,puVar3)" identifier (argument_list "(0xffffffff,puVar3)" ( number_literal , identifier ))) ;) })) (if_statement "if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }" { (expression_statement "piVar4 = (int *)(iVar5 + uVar8 * 4);" (assignment_expression "piVar4 = (int *)(iVar5 + uVar8 * 4)" identifier = (cast_expression "(int *)(iVar5 + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + uVar8 * 4)" ( (binary_expression "iVar5 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (expression_statement "*piVar4 = in_a3;" (assignment_expression "*piVar4 = in_a3" (pointer_expression "*piVar4" * identifier) = identifier) ;) (return_statement "return CONCAT44(0xffffffff,piVar4);" return (call_expression "CONCAT44(0xffffffff,piVar4)" identifier (argument_list "(0xffffffff,piVar4)" ( number_literal , identifier ))) ;) })) }) (else_clause "else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }" else (compound_statement "{\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }" { (expression_statement "(**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);" (call_expression "(**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678)" (parenthesized_expression "(**(code **)(pcVar11 + 0x37e1d4))" ( (pointer_expression "**(code **)(pcVar11 + 0x37e1d4)" * (pointer_expression "*(code **)(pcVar11 + 0x37e1d4)" * (cast_expression "(code **)(pcVar11 + 0x37e1d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e1d4)" ( (binary_expression "pcVar11 + 0x37e1d4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678)" ( (binary_expression "*(int *)(pcVar11 + 0x37e01c) + 0x44a8" (pointer_expression "*(int *)(pcVar11 + 0x37e01c)" * (cast_expression "(int *)(pcVar11 + 0x37e01c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e01c)" ( (binary_expression "pcVar11 + 0x37e01c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37e01c) + 0x5678" (pointer_expression "*(int *)(pcVar11 + 0x37e01c)" * (cast_expression "(int *)(pcVar11 + 0x37e01c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e01c)" ( (binary_expression "pcVar11 + 0x37e01c" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "uVar8 = 0x70;" (assignment_expression "uVar8 = 0x70" identifier = number_literal) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e1d4);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e1d4)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37e1d4)" * (cast_expression "(code **)(pcVar11 + 0x37e1d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e1d4)" ( (binary_expression "pcVar11 + 0x37e1d4" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668;" (assignment_expression "iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668" identifier = (binary_expression "*(int *)(pcVar11 + 0x37e01c) + 0x5668" (pointer_expression "*(int *)(pcVar11 + 0x37e01c)" * (cast_expression "(int *)(pcVar11 + 0x37e01c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e01c)" ( (binary_expression "pcVar11 + 0x37e01c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc;" (assignment_expression "iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc" identifier = (binary_expression "*(int *)(pcVar11 + 0x37e01c) + 0x44bc" (pointer_expression "*(int *)(pcVar11 + 0x37e01c)" * (cast_expression "(int *)(pcVar11 + 0x37e01c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e01c)" ( (binary_expression "pcVar11 + 0x37e01c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar5 = *(int *)(iVar6 + 0x84);" (assignment_expression "iVar5 = *(int *)(iVar6 + 0x84)" identifier = (pointer_expression "*(int *)(iVar6 + 0x84)" * (cast_expression "(int *)(iVar6 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x84)" ( (binary_expression "iVar6 + 0x84" identifier + number_literal) ))))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" identifier < (call_expression "(uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" ( (binary_expression "*(int *)(iVar6 + 0x88) - iVar5 >> 2" (binary_expression "*(int *)(iVar6 + 0x88) - iVar5" (pointer_expression "*(int *)(iVar6 + 0x88)" * (cast_expression "(int *)(iVar6 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x88)" ( (binary_expression "iVar6 + 0x88" identifier + number_literal) )))) - identifier) >> number_literal) )))) )) (compound_statement "{\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }" { (if_statement "if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }" if (parenthesized_expression "((iVar9 == -1) && (in_a3 == -1))" ( (binary_expression "(iVar9 == -1) && (in_a3 == -1)" (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) && (parenthesized_expression "(in_a3 == -1)" ( (binary_expression "in_a3 == -1" identifier == number_literal) ))) )) (compound_statement "{\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }" { (expression_statement "puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);" (assignment_expression "puVar3 = (undefined4 *)(iVar5 + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(iVar5 + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + uVar8 * 4)" ( (binary_expression "iVar5 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (expression_statement "*puVar3 = 0xffffffff;" (assignment_expression "*puVar3 = 0xffffffff" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (return_statement "return CONCAT44(0xffffffff,puVar3);" return (call_expression "CONCAT44(0xffffffff,puVar3)" identifier (argument_list "(0xffffffff,puVar3)" ( number_literal , identifier ))) ;) })) (if_statement "if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }" { (expression_statement "piVar4 = (int *)(iVar5 + uVar8 * 4);" (assignment_expression "piVar4 = (int *)(iVar5 + uVar8 * 4)" identifier = (cast_expression "(int *)(iVar5 + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + uVar8 * 4)" ( (binary_expression "iVar5 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (expression_statement "*piVar4 = in_a3;" (assignment_expression "*piVar4 = in_a3" (pointer_expression "*piVar4" * identifier) = identifier) ;) (return_statement "return CONCAT44(0xffffffff,piVar4);" return (call_expression "CONCAT44(0xffffffff,piVar4)" identifier (argument_list "(0xffffffff,piVar4)" ( number_literal , identifier ))) ;) })) }) (else_clause "else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }" else (compound_statement "{\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }" { (expression_statement "(**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);" (call_expression "(**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4)" (parenthesized_expression "(**(code **)(pcVar12 + 0x37e124))" ( (pointer_expression "**(code **)(pcVar12 + 0x37e124)" * (pointer_expression "*(code **)(pcVar12 + 0x37e124)" * (cast_expression "(code **)(pcVar12 + 0x37e124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e124)" ( (binary_expression "pcVar12 + 0x37e124" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4)" ( (binary_expression "*(int *)(pcVar12 + 0x37df6c) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37df6c)" * (cast_expression "(int *)(pcVar12 + 0x37df6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37df6c)" ( (binary_expression "pcVar12 + 0x37df6c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37df6c) + 0x53f4" (pointer_expression "*(int *)(pcVar12 + 0x37df6c)" * (cast_expression "(int *)(pcVar12 + 0x37df6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37df6c)" ( (binary_expression "pcVar12 + 0x37df6c" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "uVar8 = 0x70;" (assignment_expression "uVar8 = 0x70" identifier = number_literal) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e124);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e124)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37e124)" * (cast_expression "(code **)(pcVar12 + 0x37e124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e124)" ( (binary_expression "pcVar12 + 0x37e124" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668;" (assignment_expression "iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668" identifier = (binary_expression "*(int *)(pcVar12 + 0x37df6c) + 0x5668" (pointer_expression "*(int *)(pcVar12 + 0x37df6c)" * (cast_expression "(int *)(pcVar12 + 0x37df6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37df6c)" ( (binary_expression "pcVar12 + 0x37df6c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc;" (assignment_expression "iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc" identifier = (binary_expression "*(int *)(pcVar12 + 0x37df6c) + 0x44bc" (pointer_expression "*(int *)(pcVar12 + 0x37df6c)" * (cast_expression "(int *)(pcVar12 + 0x37df6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37df6c)" ( (binary_expression "pcVar12 + 0x37df6c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar11)();" (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);" (assignment_expression "bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier = (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) ))))) ;) (if_statement "if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }" { (expression_statement "piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);" (assignment_expression "piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" identifier = (cast_expression "(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 8" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 8" identifier * number_literal)) )))) ;) (expression_statement "piVar4[1] = in_a3;" (assignment_expression "piVar4[1] = in_a3" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar4 = iVar6;" (assignment_expression "*piVar4 = iVar6" (pointer_expression "*piVar4" * identifier) = identifier) ;) (return_statement "return (ulonglong)CONCAT14(bVar1,piVar4);" return (cast_expression "(ulonglong)CONCAT14(bVar1,piVar4)" ( (type_descriptor "ulonglong" type_identifier) ) (call_expression "CONCAT14(bVar1,piVar4)" identifier (argument_list "(bVar1,piVar4)" ( identifier , identifier )))) ;) })) (expression_statement "uVar8 = 0x81f;" (assignment_expression "uVar8 = 0x81f" identifier = number_literal) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e074);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e074)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37e074)" * (cast_expression "(code **)(pcVar11 + 0x37e074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e074)" ( (binary_expression "pcVar11 + 0x37e074" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60;" (assignment_expression "iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60" identifier = (binary_expression "*(int *)(pcVar11 + 0x37debc) + 0x5d60" (pointer_expression "*(int *)(pcVar11 + 0x37debc)" * (cast_expression "(int *)(pcVar11 + 0x37debc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37debc)" ( (binary_expression "pcVar11 + 0x37debc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar11 + 0x37debc) + 0x44a8" (pointer_expression "*(int *)(pcVar11 + 0x37debc)" * (cast_expression "(int *)(pcVar11 + 0x37debc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37debc)" ( (binary_expression "pcVar11 + 0x37debc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);" (assignment_expression "bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier = (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) ))))) ;) (if_statement "if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }" { (expression_statement "piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);" (assignment_expression "piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" identifier = (cast_expression "(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 8" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 8" identifier * number_literal)) )))) ;) (expression_statement "piVar4[1] = in_a3;" (assignment_expression "piVar4[1] = in_a3" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar4 = iVar6;" (assignment_expression "*piVar4 = iVar6" (pointer_expression "*piVar4" * identifier) = identifier) ;) (return_statement "return (ulonglong)CONCAT14(bVar1,piVar4);" return (cast_expression "(ulonglong)CONCAT14(bVar1,piVar4)" ( (type_descriptor "ulonglong" type_identifier) ) (call_expression "CONCAT14(bVar1,piVar4)" identifier (argument_list "(bVar1,piVar4)" ( identifier , identifier )))) ;) })) (expression_statement "uVar8 = 0x81f;" (assignment_expression "uVar8 = 0x81f" identifier = number_literal) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e014);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e014)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37e014)" * (cast_expression "(code **)(pcVar12 + 0x37e014)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e014)" ( (binary_expression "pcVar12 + 0x37e014" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar12 + 0x37de5c) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37de5c)" * (cast_expression "(int *)(pcVar12 + 0x37de5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37de5c)" ( (binary_expression "pcVar12 + 0x37de5c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec);" (call_expression "(*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37de5c) + 0x58ec" (pointer_expression "*(int *)(pcVar12 + 0x37de5c)" * (cast_expression "(int *)(pcVar12 + 0x37de5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37de5c)" ( (binary_expression "pcVar12 + 0x37de5c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) )))) )) (compound_statement "{\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }" { (return_statement "return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);" return (pointer_expression "*(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" * (cast_expression "(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 8" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 8" identifier * number_literal)) )))) ;) })) (expression_statement "uVar8 = 0x7f7;" (assignment_expression "uVar8 = 0x7f7" identifier = number_literal) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37dfb4);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37dfb4)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37dfb4)" * (cast_expression "(code **)(pcVar11 + 0x37dfb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37dfb4)" ( (binary_expression "pcVar11 + 0x37dfb4" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar11 + 0x37ddfc) + 0x44a8" (pointer_expression "*(int *)(pcVar11 + 0x37ddfc)" * (cast_expression "(int *)(pcVar11 + 0x37ddfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37ddfc)" ( (binary_expression "pcVar11 + 0x37ddfc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec);" (call_expression "(*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37ddfc) + 0x5aec" (pointer_expression "*(int *)(pcVar11 + 0x37ddfc)" * (cast_expression "(int *)(pcVar11 + 0x37ddfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37ddfc)" ( (binary_expression "pcVar11 + 0x37ddfc" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) )))) )) (compound_statement "{\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }" { (return_statement "return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);" return (pointer_expression "*(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" * (cast_expression "(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 8" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 8" identifier * number_literal)) )))) ;) })) (expression_statement "uVar8 = 0x7f7;" (assignment_expression "uVar8 = 0x7f7" identifier = number_literal) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37df54);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37df54)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37df54)" * (cast_expression "(code **)(pcVar12 + 0x37df54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37df54)" ( (binary_expression "pcVar12 + 0x37df54" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar12 + 0x37dd9c) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37dd9c)" * (cast_expression "(int *)(pcVar12 + 0x37dd9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37dd9c)" ( (binary_expression "pcVar12 + 0x37dd9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8);" (call_expression "(*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37dd9c) + 0x57b8" (pointer_expression "*(int *)(pcVar12 + 0x37dd9c)" * (cast_expression "(int *)(pcVar12 + 0x37dd9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37dd9c)" ( (binary_expression "pcVar12 + 0x37dd9c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)) {\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) )))) )) (compound_statement "{\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }" { (expression_statement "uVar2 = 0xffffffff;" (assignment_expression "uVar2 = 0xffffffff" identifier = number_literal) ;) (expression_statement "iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);" (assignment_expression "iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" identifier = (pointer_expression "*(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" * (cast_expression "(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 4)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 4" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n      iVar5 = -1;\n    }" { (expression_statement "iVar5 = -1;" (assignment_expression "iVar5 = -1" identifier = number_literal) ;) }) (else_clause "else {\n      uVar2 = 0;\n    }" else (compound_statement "{\n      uVar2 = 0;\n    }" { (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) }))) (return_statement "return CONCAT44(uVar2,iVar5);" return (call_expression "CONCAT44(uVar2,iVar5)" identifier (argument_list "(uVar2,iVar5)" ( identifier , identifier ))) ;) })) (expression_statement "uVar8 = 0x7f7;" (assignment_expression "uVar8 = 0x7f7" identifier = number_literal) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37def4);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37def4)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37def4)" * (cast_expression "(code **)(pcVar11 + 0x37def4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37def4)" ( (binary_expression "pcVar11 + 0x37def4" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar11 + 0x37dd3c) + 0x44a8" (pointer_expression "*(int *)(pcVar11 + 0x37dd3c)" * (cast_expression "(int *)(pcVar11 + 0x37dd3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37dd3c)" ( (binary_expression "pcVar11 + 0x37dd3c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534);" (call_expression "(*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37dd3c) + 0x5534" (pointer_expression "*(int *)(pcVar11 + 0x37dd3c)" * (cast_expression "(int *)(pcVar11 + 0x37dd3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37dd3c)" ( (binary_expression "pcVar11 + 0x37dd3c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if ((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8) {\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    /* WARNING: Could not recover jumptable at 0x000b45d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }" if (parenthesized_expression "((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8)" ( (binary_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8" (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    /* WARNING: Could not recover jumptable at 0x000b45d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }" { (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37de88);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37de88)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37de88)" * (cast_expression "(code **)(pcVar12 + 0x37de88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37de88)" ( (binary_expression "pcVar12 + 0x37de88" identifier + number_literal) ))))) ;) (expression_statement "piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);" (assignment_expression "piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8)" identifier = (cast_expression "(int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8)" ( (binary_expression "*(int *)(pcVar12 + 0x37dcd0) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37dcd0)" * (cast_expression "(int *)(pcVar12 + 0x37dcd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37dcd0)" ( (binary_expression "pcVar12 + 0x37dcd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);" (call_expression "(*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37dcd0) + 0x52c0" (pointer_expression "*(int *)(pcVar12 + 0x37dcd0)" * (cast_expression "(int *)(pcVar12 + 0x37dcd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37dcd0)" ( (binary_expression "pcVar12 + 0x37dcd0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37df34);" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37df34)" identifier = (pointer_expression "*(int *)(pcVar11 + 0x37df34)" * (cast_expression "(int *)(pcVar11 + 0x37df34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37df34)" ( (binary_expression "pcVar11 + 0x37df34" identifier + number_literal) ))))) ;) (expression_statement "piVar4 = (int *)piVar7[1];" (assignment_expression "piVar4 = (int *)piVar7[1]" identifier = (cast_expression "(int *)piVar7[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[1]" identifier [ number_literal ]))) ;) (expression_statement "*piVar7 = iVar5 + 8;" (assignment_expression "*piVar7 = iVar5 + 8" (pointer_expression "*piVar7" * identifier) = (binary_expression "iVar5 + 8" identifier + number_literal)) ;) (if_statement "if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }" if (parenthesized_expression "(piVar4 == piVar7 + 3)" ( (binary_expression "piVar4 == piVar7 + 3" identifier == (binary_expression "piVar7 + 3" identifier + number_literal)) )) (compound_statement "{\n      return CONCAT44(iVar5 + 8,piVar4);\n    }" { (return_statement "return CONCAT44(iVar5 + 8,piVar4);" return (call_expression "CONCAT44(iVar5 + 8,piVar4)" identifier (argument_list "(iVar5 + 8,piVar4)" ( (binary_expression "iVar5 + 8" identifier + number_literal) , identifier ))) ;) })) comment comment (expression_statement "uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);" (assignment_expression "uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4)" identifier = (call_expression "(**(code **)(pcVar11 + 0x37dce4))(piVar4)" (parenthesized_expression "(**(code **)(pcVar11 + 0x37dce4))" ( (pointer_expression "**(code **)(pcVar11 + 0x37dce4)" * (pointer_expression "*(code **)(pcVar11 + 0x37dce4)" * (cast_expression "(code **)(pcVar11 + 0x37dce4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37dce4)" ( (binary_expression "pcVar11 + 0x37dce4" identifier + number_literal) ))))) )) (argument_list "(piVar4)" ( identifier )))) ;) (return_statement "return uVar13;" return identifier ;) })) (expression_statement "uVar2 = 0xffffffff;" (assignment_expression "uVar2 = 0xffffffff" identifier = number_literal) ;) (expression_statement "iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);" (assignment_expression "iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" identifier = (pointer_expression "*(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" * (cast_expression "(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 4)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 4" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar5 == -1) {\n    iVar5 = -1;\n  }\n  else {\n    uVar2 = 0;\n  }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n    iVar5 = -1;\n  }" { (expression_statement "iVar5 = -1;" (assignment_expression "iVar5 = -1" identifier = number_literal) ;) }) (else_clause "else {\n    uVar2 = 0;\n  }" else (compound_statement "{\n    uVar2 = 0;\n  }" { (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) }))) (return_statement "return CONCAT44(uVar2,iVar5);" return (call_expression "CONCAT44(uVar2,iVar5)" identifier (argument_list "(uVar2,iVar5)" ( identifier , identifier ))) ;) })))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* DWARF original prototype: uint64_t do_section_entsize(Sized_relobj_dwo<32,_true> * this, uint\n   param_1) */\n\nuint64_t __thiscall\ngold::Sized_relobj_dwo<32,_true>::do_section_entsize(Sized_relobj_dwo<32,_true> *this,uint param_1)\n\n{\n  bool bVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  uint uVar8;\n  int iVar9;\n  int in_a3;\n  undefined *puVar10;\n  code *pcVar11;\n  code *pcVar12;\n  uint64_t uVar13;\n  \n  puVar10 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c);\n  pcVar11 = *(code **)(puVar10 + 0x37e368);\n  (*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218);\n  pcVar12 = *(code **)(pcVar11 + 0x37e334);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc);\n  pcVar11 = *(code **)(pcVar12 + 0x37e300);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0);\n  pcVar12 = *(code **)(pcVar11 + 0x37e2cc);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0);\n  pcVar11 = *(code **)(pcVar12 + 0x37e298);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4);\n  uVar8 = 0x125;\n  pcVar12 = *(code **)(pcVar11 + 0x37e264);\n  iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494;\n  (*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)) {\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }\n  uVar8 = 0x5c8;\n  pcVar11 = *(code **)(pcVar12 + 0x37e230);\n  iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90;\n  iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8;\n  (*pcVar11)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }\n  uVar8 = 0x70;\n  pcVar12 = *(code **)(pcVar11 + 0x37e1d4);\n  iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668;\n  iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc;\n  (*pcVar12)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }\n  uVar8 = 0x70;\n  pcVar11 = *(code **)(pcVar12 + 0x37e124);\n  iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668;\n  iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc;\n  (*pcVar11)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (uint64_t)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar12 = *(code **)(pcVar11 + 0x37e074);\n  iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60;\n  iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8;\n  (*pcVar12)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (uint64_t)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar11 = *(code **)(pcVar12 + 0x37e014);\n  iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8;\n  (*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(uint64_t *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37dfb4);\n  iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(uint64_t *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar11 = *(code **)(pcVar12 + 0x37df54);\n  iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8;\n  (*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)) {\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37def4);\n  iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534);\n  if ((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8) {\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    /* WARNING: Could not recover jumptable at 0x000b45d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }\n  uVar2 = 0xffffffff;\n  iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n  if (iVar5 == -1) {\n    iVar5 = -1;\n  }\n  else {\n    uVar2 = 0;\n  }\n  return CONCAT44(uVar2,iVar5);\n}\n\n" comment comment comment (declaration "uint64_t __thiscall\ngold::Sized_relobj_dwo<32,_true>::do_section_entsize(Sized_relobj_dwo<32,_true> *this,uint param_1)\n\n{\n  bool bVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_true>::do_section_entsize(Sized_relobj_dwo<32,_true> *this,uint param_1)\n\n{\n  bool" identifier > : : (function_declarator "do_section_entsize(Sized_relobj_dwo<32,_true> *this,uint param_1)" identifier (parameter_list "(Sized_relobj_dwo<32,_true> *this,uint param_1)" ( (parameter_declaration "Sized_relobj_dwo" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "uint param_1" type_identifier identifier) ))) { primitive_type) identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int in_a3;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "code *pcVar11;" type_identifier (pointer_declarator "*pcVar11" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "uint64_t uVar13;" primitive_type identifier ;) (expression_statement "puVar10 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar10 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c)" (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_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c)" ( (binary_expression "PTR_LAB_0043220c + 0x4494" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_0043220c + 0x522c" identifier + number_literal) ))) ;) (expression_statement "pcVar11 = *(code **)(puVar10 + 0x37e368);" (assignment_expression "pcVar11 = *(code **)(puVar10 + 0x37e368)" identifier = (pointer_expression "*(code **)(puVar10 + 0x37e368)" * (cast_expression "(code **)(puVar10 + 0x37e368)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x37e368)" ( (binary_expression "puVar10 + 0x37e368" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218);" (call_expression "(*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218)" ( (binary_expression "*(int *)(puVar10 + 0x37e1b0) + 0x4494" (pointer_expression "*(int *)(puVar10 + 0x37e1b0)" * (cast_expression "(int *)(puVar10 + 0x37e1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x37e1b0)" ( (binary_expression "puVar10 + 0x37e1b0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar10 + 0x37e1b0) + 0x5218" (pointer_expression "*(int *)(puVar10 + 0x37e1b0)" * (cast_expression "(int *)(puVar10 + 0x37e1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x37e1b0)" ( (binary_expression "puVar10 + 0x37e1b0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e334);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e334)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37e334)" * (cast_expression "(code **)(pcVar11 + 0x37e334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e334)" ( (binary_expression "pcVar11 + 0x37e334" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc);" (call_expression "(*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc)" ( (binary_expression "*(int *)(pcVar11 + 0x37e17c) + 0x4494" (pointer_expression "*(int *)(pcVar11 + 0x37e17c)" * (cast_expression "(int *)(pcVar11 + 0x37e17c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e17c)" ( (binary_expression "pcVar11 + 0x37e17c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37e17c) + 0x51fc" (pointer_expression "*(int *)(pcVar11 + 0x37e17c)" * (cast_expression "(int *)(pcVar11 + 0x37e17c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e17c)" ( (binary_expression "pcVar11 + 0x37e17c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e300);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e300)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37e300)" * (cast_expression "(code **)(pcVar12 + 0x37e300)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e300)" ( (binary_expression "pcVar12 + 0x37e300" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0);" (call_expression "(*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0)" ( (binary_expression "*(int *)(pcVar12 + 0x37e148) + 0x4494" (pointer_expression "*(int *)(pcVar12 + 0x37e148)" * (cast_expression "(int *)(pcVar12 + 0x37e148)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e148)" ( (binary_expression "pcVar12 + 0x37e148" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37e148) + 0x51e0" (pointer_expression "*(int *)(pcVar12 + 0x37e148)" * (cast_expression "(int *)(pcVar12 + 0x37e148)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e148)" ( (binary_expression "pcVar12 + 0x37e148" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e2cc);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e2cc)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37e2cc)" * (cast_expression "(code **)(pcVar11 + 0x37e2cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e2cc)" ( (binary_expression "pcVar11 + 0x37e2cc" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0);" (call_expression "(*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0)" ( (binary_expression "*(int *)(pcVar11 + 0x37e114) + 0x4494" (pointer_expression "*(int *)(pcVar11 + 0x37e114)" * (cast_expression "(int *)(pcVar11 + 0x37e114)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e114)" ( (binary_expression "pcVar11 + 0x37e114" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37e114) + 0x51d0" (pointer_expression "*(int *)(pcVar11 + 0x37e114)" * (cast_expression "(int *)(pcVar11 + 0x37e114)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e114)" ( (binary_expression "pcVar11 + 0x37e114" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e298);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e298)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37e298)" * (cast_expression "(code **)(pcVar12 + 0x37e298)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e298)" ( (binary_expression "pcVar12 + 0x37e298" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4);" (call_expression "(*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4)" ( (binary_expression "*(int *)(pcVar12 + 0x37e0e0) + 0x4494" (pointer_expression "*(int *)(pcVar12 + 0x37e0e0)" * (cast_expression "(int *)(pcVar12 + 0x37e0e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e0e0)" ( (binary_expression "pcVar12 + 0x37e0e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37e0e0) + 0x51c4" (pointer_expression "*(int *)(pcVar12 + 0x37e0e0)" * (cast_expression "(int *)(pcVar12 + 0x37e0e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e0e0)" ( (binary_expression "pcVar12 + 0x37e0e0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar8 = 0x125;" (assignment_expression "uVar8 = 0x125" identifier = number_literal) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e264);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e264)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37e264)" * (cast_expression "(code **)(pcVar11 + 0x37e264)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e264)" ( (binary_expression "pcVar11 + 0x37e264" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494;" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494" identifier = (binary_expression "*(int *)(pcVar11 + 0x37e0ac) + 0x4494" (pointer_expression "*(int *)(pcVar11 + 0x37e0ac)" * (cast_expression "(int *)(pcVar11 + 0x37e0ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e0ac)" ( (binary_expression "pcVar11 + 0x37e0ac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4);" (call_expression "(*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37e0ac) + 0x51b4" (pointer_expression "*(int *)(pcVar11 + 0x37e0ac)" * (cast_expression "(int *)(pcVar11 + 0x37e0ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e0ac)" ( (binary_expression "pcVar11 + 0x37e0ac" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)) {\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)" ( (binary_expression "*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2" (binary_expression "*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38)" (pointer_expression "*(int *)(iVar5 + 0x3c)" * (cast_expression "(int *)(iVar5 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 0x3c" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) ))))) >> number_literal) )))) )) (compound_statement "{\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }" { (expression_statement "puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);" (assignment_expression "puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x38) + uVar8 * 4)" ( (binary_expression "*(int *)(iVar5 + 0x38) + uVar8 * 4" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (return_statement "return CONCAT44(*puVar3,puVar3);" return (call_expression "CONCAT44(*puVar3,puVar3)" identifier (argument_list "(*puVar3,puVar3)" ( (pointer_expression "*puVar3" * identifier) , identifier ))) ;) })) (expression_statement "uVar8 = 0x5c8;" (assignment_expression "uVar8 = 0x5c8" identifier = number_literal) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e230);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e230)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37e230)" * (cast_expression "(code **)(pcVar12 + 0x37e230)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e230)" ( (binary_expression "pcVar12 + 0x37e230" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90;" (assignment_expression "iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90" identifier = (binary_expression "*(int *)(pcVar12 + 0x37e078) + 0x5a90" (pointer_expression "*(int *)(pcVar12 + 0x37e078)" * (cast_expression "(int *)(pcVar12 + 0x37e078)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e078)" ( (binary_expression "pcVar12 + 0x37e078" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8;" (assignment_expression "iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar12 + 0x37e078) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37e078)" * (cast_expression "(int *)(pcVar12 + 0x37e078)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e078)" ( (binary_expression "pcVar12 + 0x37e078" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar11)();" (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar5 = *(int *)(iVar6 + 0x84);" (assignment_expression "iVar5 = *(int *)(iVar6 + 0x84)" identifier = (pointer_expression "*(int *)(iVar6 + 0x84)" * (cast_expression "(int *)(iVar6 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x84)" ( (binary_expression "iVar6 + 0x84" identifier + number_literal) ))))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" identifier < (call_expression "(uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" ( (binary_expression "*(int *)(iVar6 + 0x88) - iVar5 >> 2" (binary_expression "*(int *)(iVar6 + 0x88) - iVar5" (pointer_expression "*(int *)(iVar6 + 0x88)" * (cast_expression "(int *)(iVar6 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x88)" ( (binary_expression "iVar6 + 0x88" identifier + number_literal) )))) - identifier) >> number_literal) )))) )) (compound_statement "{\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }" { (if_statement "if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }" if (parenthesized_expression "((iVar9 == -1) && (in_a3 == -1))" ( (binary_expression "(iVar9 == -1) && (in_a3 == -1)" (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) && (parenthesized_expression "(in_a3 == -1)" ( (binary_expression "in_a3 == -1" identifier == number_literal) ))) )) (compound_statement "{\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }" { (expression_statement "puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);" (assignment_expression "puVar3 = (undefined4 *)(iVar5 + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(iVar5 + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + uVar8 * 4)" ( (binary_expression "iVar5 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (expression_statement "*puVar3 = 0xffffffff;" (assignment_expression "*puVar3 = 0xffffffff" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (return_statement "return CONCAT44(0xffffffff,puVar3);" return (call_expression "CONCAT44(0xffffffff,puVar3)" identifier (argument_list "(0xffffffff,puVar3)" ( number_literal , identifier ))) ;) })) (if_statement "if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }" { (expression_statement "piVar4 = (int *)(iVar5 + uVar8 * 4);" (assignment_expression "piVar4 = (int *)(iVar5 + uVar8 * 4)" identifier = (cast_expression "(int *)(iVar5 + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + uVar8 * 4)" ( (binary_expression "iVar5 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (expression_statement "*piVar4 = in_a3;" (assignment_expression "*piVar4 = in_a3" (pointer_expression "*piVar4" * identifier) = identifier) ;) (return_statement "return CONCAT44(0xffffffff,piVar4);" return (call_expression "CONCAT44(0xffffffff,piVar4)" identifier (argument_list "(0xffffffff,piVar4)" ( number_literal , identifier ))) ;) })) }) (else_clause "else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }" else (compound_statement "{\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }" { (expression_statement "(**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);" (call_expression "(**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678)" (parenthesized_expression "(**(code **)(pcVar11 + 0x37e1d4))" ( (pointer_expression "**(code **)(pcVar11 + 0x37e1d4)" * (pointer_expression "*(code **)(pcVar11 + 0x37e1d4)" * (cast_expression "(code **)(pcVar11 + 0x37e1d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e1d4)" ( (binary_expression "pcVar11 + 0x37e1d4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678)" ( (binary_expression "*(int *)(pcVar11 + 0x37e01c) + 0x44a8" (pointer_expression "*(int *)(pcVar11 + 0x37e01c)" * (cast_expression "(int *)(pcVar11 + 0x37e01c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e01c)" ( (binary_expression "pcVar11 + 0x37e01c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37e01c) + 0x5678" (pointer_expression "*(int *)(pcVar11 + 0x37e01c)" * (cast_expression "(int *)(pcVar11 + 0x37e01c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e01c)" ( (binary_expression "pcVar11 + 0x37e01c" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "uVar8 = 0x70;" (assignment_expression "uVar8 = 0x70" identifier = number_literal) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e1d4);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e1d4)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37e1d4)" * (cast_expression "(code **)(pcVar11 + 0x37e1d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e1d4)" ( (binary_expression "pcVar11 + 0x37e1d4" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668;" (assignment_expression "iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668" identifier = (binary_expression "*(int *)(pcVar11 + 0x37e01c) + 0x5668" (pointer_expression "*(int *)(pcVar11 + 0x37e01c)" * (cast_expression "(int *)(pcVar11 + 0x37e01c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e01c)" ( (binary_expression "pcVar11 + 0x37e01c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc;" (assignment_expression "iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc" identifier = (binary_expression "*(int *)(pcVar11 + 0x37e01c) + 0x44bc" (pointer_expression "*(int *)(pcVar11 + 0x37e01c)" * (cast_expression "(int *)(pcVar11 + 0x37e01c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e01c)" ( (binary_expression "pcVar11 + 0x37e01c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar5 = *(int *)(iVar6 + 0x84);" (assignment_expression "iVar5 = *(int *)(iVar6 + 0x84)" identifier = (pointer_expression "*(int *)(iVar6 + 0x84)" * (cast_expression "(int *)(iVar6 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x84)" ( (binary_expression "iVar6 + 0x84" identifier + number_literal) ))))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" identifier < (call_expression "(uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" ( (binary_expression "*(int *)(iVar6 + 0x88) - iVar5 >> 2" (binary_expression "*(int *)(iVar6 + 0x88) - iVar5" (pointer_expression "*(int *)(iVar6 + 0x88)" * (cast_expression "(int *)(iVar6 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x88)" ( (binary_expression "iVar6 + 0x88" identifier + number_literal) )))) - identifier) >> number_literal) )))) )) (compound_statement "{\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }" { (if_statement "if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }" if (parenthesized_expression "((iVar9 == -1) && (in_a3 == -1))" ( (binary_expression "(iVar9 == -1) && (in_a3 == -1)" (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) && (parenthesized_expression "(in_a3 == -1)" ( (binary_expression "in_a3 == -1" identifier == number_literal) ))) )) (compound_statement "{\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }" { (expression_statement "puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);" (assignment_expression "puVar3 = (undefined4 *)(iVar5 + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(iVar5 + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + uVar8 * 4)" ( (binary_expression "iVar5 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (expression_statement "*puVar3 = 0xffffffff;" (assignment_expression "*puVar3 = 0xffffffff" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (return_statement "return CONCAT44(0xffffffff,puVar3);" return (call_expression "CONCAT44(0xffffffff,puVar3)" identifier (argument_list "(0xffffffff,puVar3)" ( number_literal , identifier ))) ;) })) (if_statement "if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }" { (expression_statement "piVar4 = (int *)(iVar5 + uVar8 * 4);" (assignment_expression "piVar4 = (int *)(iVar5 + uVar8 * 4)" identifier = (cast_expression "(int *)(iVar5 + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + uVar8 * 4)" ( (binary_expression "iVar5 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (expression_statement "*piVar4 = in_a3;" (assignment_expression "*piVar4 = in_a3" (pointer_expression "*piVar4" * identifier) = identifier) ;) (return_statement "return CONCAT44(0xffffffff,piVar4);" return (call_expression "CONCAT44(0xffffffff,piVar4)" identifier (argument_list "(0xffffffff,piVar4)" ( number_literal , identifier ))) ;) })) }) (else_clause "else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }" else (compound_statement "{\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }" { (expression_statement "(**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);" (call_expression "(**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4)" (parenthesized_expression "(**(code **)(pcVar12 + 0x37e124))" ( (pointer_expression "**(code **)(pcVar12 + 0x37e124)" * (pointer_expression "*(code **)(pcVar12 + 0x37e124)" * (cast_expression "(code **)(pcVar12 + 0x37e124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e124)" ( (binary_expression "pcVar12 + 0x37e124" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4)" ( (binary_expression "*(int *)(pcVar12 + 0x37df6c) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37df6c)" * (cast_expression "(int *)(pcVar12 + 0x37df6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37df6c)" ( (binary_expression "pcVar12 + 0x37df6c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37df6c) + 0x53f4" (pointer_expression "*(int *)(pcVar12 + 0x37df6c)" * (cast_expression "(int *)(pcVar12 + 0x37df6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37df6c)" ( (binary_expression "pcVar12 + 0x37df6c" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "uVar8 = 0x70;" (assignment_expression "uVar8 = 0x70" identifier = number_literal) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e124);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e124)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37e124)" * (cast_expression "(code **)(pcVar12 + 0x37e124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e124)" ( (binary_expression "pcVar12 + 0x37e124" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668;" (assignment_expression "iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668" identifier = (binary_expression "*(int *)(pcVar12 + 0x37df6c) + 0x5668" (pointer_expression "*(int *)(pcVar12 + 0x37df6c)" * (cast_expression "(int *)(pcVar12 + 0x37df6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37df6c)" ( (binary_expression "pcVar12 + 0x37df6c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc;" (assignment_expression "iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc" identifier = (binary_expression "*(int *)(pcVar12 + 0x37df6c) + 0x44bc" (pointer_expression "*(int *)(pcVar12 + 0x37df6c)" * (cast_expression "(int *)(pcVar12 + 0x37df6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37df6c)" ( (binary_expression "pcVar12 + 0x37df6c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar11)();" (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);" (assignment_expression "bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier = (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) ))))) ;) (if_statement "if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (uint64_t)CONCAT14(bVar1,piVar4);\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (uint64_t)CONCAT14(bVar1,piVar4);\n  }" { (expression_statement "piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);" (assignment_expression "piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" identifier = (cast_expression "(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 8" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 8" identifier * number_literal)) )))) ;) (expression_statement "piVar4[1] = in_a3;" (assignment_expression "piVar4[1] = in_a3" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar4 = iVar6;" (assignment_expression "*piVar4 = iVar6" (pointer_expression "*piVar4" * identifier) = identifier) ;) (return_statement "return (uint64_t)CONCAT14(bVar1,piVar4);" return (cast_expression "(uint64_t)CONCAT14(bVar1,piVar4)" ( (type_descriptor "uint64_t" primitive_type) ) (call_expression "CONCAT14(bVar1,piVar4)" identifier (argument_list "(bVar1,piVar4)" ( identifier , identifier )))) ;) })) (expression_statement "uVar8 = 0x81f;" (assignment_expression "uVar8 = 0x81f" identifier = number_literal) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e074);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e074)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37e074)" * (cast_expression "(code **)(pcVar11 + 0x37e074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e074)" ( (binary_expression "pcVar11 + 0x37e074" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60;" (assignment_expression "iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60" identifier = (binary_expression "*(int *)(pcVar11 + 0x37debc) + 0x5d60" (pointer_expression "*(int *)(pcVar11 + 0x37debc)" * (cast_expression "(int *)(pcVar11 + 0x37debc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37debc)" ( (binary_expression "pcVar11 + 0x37debc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar11 + 0x37debc) + 0x44a8" (pointer_expression "*(int *)(pcVar11 + 0x37debc)" * (cast_expression "(int *)(pcVar11 + 0x37debc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37debc)" ( (binary_expression "pcVar11 + 0x37debc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);" (assignment_expression "bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier = (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) ))))) ;) (if_statement "if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (uint64_t)CONCAT14(bVar1,piVar4);\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (uint64_t)CONCAT14(bVar1,piVar4);\n  }" { (expression_statement "piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);" (assignment_expression "piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" identifier = (cast_expression "(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 8" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 8" identifier * number_literal)) )))) ;) (expression_statement "piVar4[1] = in_a3;" (assignment_expression "piVar4[1] = in_a3" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar4 = iVar6;" (assignment_expression "*piVar4 = iVar6" (pointer_expression "*piVar4" * identifier) = identifier) ;) (return_statement "return (uint64_t)CONCAT14(bVar1,piVar4);" return (cast_expression "(uint64_t)CONCAT14(bVar1,piVar4)" ( (type_descriptor "uint64_t" primitive_type) ) (call_expression "CONCAT14(bVar1,piVar4)" identifier (argument_list "(bVar1,piVar4)" ( identifier , identifier )))) ;) })) (expression_statement "uVar8 = 0x81f;" (assignment_expression "uVar8 = 0x81f" identifier = number_literal) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e014);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e014)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37e014)" * (cast_expression "(code **)(pcVar12 + 0x37e014)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e014)" ( (binary_expression "pcVar12 + 0x37e014" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar12 + 0x37de5c) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37de5c)" * (cast_expression "(int *)(pcVar12 + 0x37de5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37de5c)" ( (binary_expression "pcVar12 + 0x37de5c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec);" (call_expression "(*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37de5c) + 0x58ec" (pointer_expression "*(int *)(pcVar12 + 0x37de5c)" * (cast_expression "(int *)(pcVar12 + 0x37de5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37de5c)" ( (binary_expression "pcVar12 + 0x37de5c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(uint64_t *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) )))) )) (compound_statement "{\n    return *(uint64_t *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }" { (return_statement "return *(uint64_t *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);" return (pointer_expression "*(uint64_t *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" * (cast_expression "(uint64_t *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 8" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 8" identifier * number_literal)) )))) ;) })) (expression_statement "uVar8 = 0x7f7;" (assignment_expression "uVar8 = 0x7f7" identifier = number_literal) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37dfb4);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37dfb4)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37dfb4)" * (cast_expression "(code **)(pcVar11 + 0x37dfb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37dfb4)" ( (binary_expression "pcVar11 + 0x37dfb4" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar11 + 0x37ddfc) + 0x44a8" (pointer_expression "*(int *)(pcVar11 + 0x37ddfc)" * (cast_expression "(int *)(pcVar11 + 0x37ddfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37ddfc)" ( (binary_expression "pcVar11 + 0x37ddfc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec);" (call_expression "(*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37ddfc) + 0x5aec" (pointer_expression "*(int *)(pcVar11 + 0x37ddfc)" * (cast_expression "(int *)(pcVar11 + 0x37ddfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37ddfc)" ( (binary_expression "pcVar11 + 0x37ddfc" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(uint64_t *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) )))) )) (compound_statement "{\n    return *(uint64_t *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }" { (return_statement "return *(uint64_t *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);" return (pointer_expression "*(uint64_t *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" * (cast_expression "(uint64_t *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 8" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 8" identifier * number_literal)) )))) ;) })) (expression_statement "uVar8 = 0x7f7;" (assignment_expression "uVar8 = 0x7f7" identifier = number_literal) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37df54);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37df54)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37df54)" * (cast_expression "(code **)(pcVar12 + 0x37df54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37df54)" ( (binary_expression "pcVar12 + 0x37df54" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar12 + 0x37dd9c) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37dd9c)" * (cast_expression "(int *)(pcVar12 + 0x37dd9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37dd9c)" ( (binary_expression "pcVar12 + 0x37dd9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8);" (call_expression "(*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37dd9c) + 0x57b8" (pointer_expression "*(int *)(pcVar12 + 0x37dd9c)" * (cast_expression "(int *)(pcVar12 + 0x37dd9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37dd9c)" ( (binary_expression "pcVar12 + 0x37dd9c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)) {\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) )))) )) (compound_statement "{\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }" { (expression_statement "uVar2 = 0xffffffff;" (assignment_expression "uVar2 = 0xffffffff" identifier = number_literal) ;) (expression_statement "iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);" (assignment_expression "iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" identifier = (pointer_expression "*(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" * (cast_expression "(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 4)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 4" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n      iVar5 = -1;\n    }" { (expression_statement "iVar5 = -1;" (assignment_expression "iVar5 = -1" identifier = number_literal) ;) }) (else_clause "else {\n      uVar2 = 0;\n    }" else (compound_statement "{\n      uVar2 = 0;\n    }" { (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) }))) (return_statement "return CONCAT44(uVar2,iVar5);" return (call_expression "CONCAT44(uVar2,iVar5)" identifier (argument_list "(uVar2,iVar5)" ( identifier , identifier ))) ;) })) (expression_statement "uVar8 = 0x7f7;" (assignment_expression "uVar8 = 0x7f7" identifier = number_literal) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37def4);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37def4)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37def4)" * (cast_expression "(code **)(pcVar11 + 0x37def4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37def4)" ( (binary_expression "pcVar11 + 0x37def4" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar11 + 0x37dd3c) + 0x44a8" (pointer_expression "*(int *)(pcVar11 + 0x37dd3c)" * (cast_expression "(int *)(pcVar11 + 0x37dd3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37dd3c)" ( (binary_expression "pcVar11 + 0x37dd3c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534);" (call_expression "(*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37dd3c) + 0x5534" (pointer_expression "*(int *)(pcVar11 + 0x37dd3c)" * (cast_expression "(int *)(pcVar11 + 0x37dd3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37dd3c)" ( (binary_expression "pcVar11 + 0x37dd3c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if ((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8) {\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    /* WARNING: Could not recover jumptable at 0x000b45d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }" if (parenthesized_expression "((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8)" ( (binary_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8" (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    /* WARNING: Could not recover jumptable at 0x000b45d0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }" { (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37de88);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37de88)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37de88)" * (cast_expression "(code **)(pcVar12 + 0x37de88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37de88)" ( (binary_expression "pcVar12 + 0x37de88" identifier + number_literal) ))))) ;) (expression_statement "piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);" (assignment_expression "piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8)" identifier = (cast_expression "(int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8)" ( (binary_expression "*(int *)(pcVar12 + 0x37dcd0) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37dcd0)" * (cast_expression "(int *)(pcVar12 + 0x37dcd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37dcd0)" ( (binary_expression "pcVar12 + 0x37dcd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);" (call_expression "(*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37dcd0) + 0x52c0" (pointer_expression "*(int *)(pcVar12 + 0x37dcd0)" * (cast_expression "(int *)(pcVar12 + 0x37dcd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37dcd0)" ( (binary_expression "pcVar12 + 0x37dcd0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37df34);" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37df34)" identifier = (pointer_expression "*(int *)(pcVar11 + 0x37df34)" * (cast_expression "(int *)(pcVar11 + 0x37df34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37df34)" ( (binary_expression "pcVar11 + 0x37df34" identifier + number_literal) ))))) ;) (expression_statement "piVar4 = (int *)piVar7[1];" (assignment_expression "piVar4 = (int *)piVar7[1]" identifier = (cast_expression "(int *)piVar7[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[1]" identifier [ number_literal ]))) ;) (expression_statement "*piVar7 = iVar5 + 8;" (assignment_expression "*piVar7 = iVar5 + 8" (pointer_expression "*piVar7" * identifier) = (binary_expression "iVar5 + 8" identifier + number_literal)) ;) (if_statement "if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }" if (parenthesized_expression "(piVar4 == piVar7 + 3)" ( (binary_expression "piVar4 == piVar7 + 3" identifier == (binary_expression "piVar7 + 3" identifier + number_literal)) )) (compound_statement "{\n      return CONCAT44(iVar5 + 8,piVar4);\n    }" { (return_statement "return CONCAT44(iVar5 + 8,piVar4);" return (call_expression "CONCAT44(iVar5 + 8,piVar4)" identifier (argument_list "(iVar5 + 8,piVar4)" ( (binary_expression "iVar5 + 8" identifier + number_literal) , identifier ))) ;) })) comment comment (expression_statement "uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);" (assignment_expression "uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4)" identifier = (call_expression "(**(code **)(pcVar11 + 0x37dce4))(piVar4)" (parenthesized_expression "(**(code **)(pcVar11 + 0x37dce4))" ( (pointer_expression "**(code **)(pcVar11 + 0x37dce4)" * (pointer_expression "*(code **)(pcVar11 + 0x37dce4)" * (cast_expression "(code **)(pcVar11 + 0x37dce4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37dce4)" ( (binary_expression "pcVar11 + 0x37dce4" identifier + number_literal) ))))) )) (argument_list "(piVar4)" ( identifier )))) ;) (return_statement "return uVar13;" return identifier ;) })) (expression_statement "uVar2 = 0xffffffff;" (assignment_expression "uVar2 = 0xffffffff" identifier = number_literal) ;) (expression_statement "iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);" (assignment_expression "iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" identifier = (pointer_expression "*(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" * (cast_expression "(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 4)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 4" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar5 == -1) {\n    iVar5 = -1;\n  }\n  else {\n    uVar2 = 0;\n  }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n    iVar5 = -1;\n  }" { (expression_statement "iVar5 = -1;" (assignment_expression "iVar5 = -1" identifier = number_literal) ;) }) (else_clause "else {\n    uVar2 = 0;\n  }" else (compound_statement "{\n    uVar2 = 0;\n  }" { (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) }))) (return_statement "return CONCAT44(uVar2,iVar5);" return (call_expression "CONCAT44(uVar2,iVar5)" identifier (argument_list "(uVar2,iVar5)" ( identifier , identifier ))) ;) (ERROR "}" }))
(translation_unit "ulonglong FUN_000b4028(void)\n\n{\n  bool bVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  uint uVar8;\n  int iVar9;\n  int in_a3;\n  undefined *puVar10;\n  code *pcVar11;\n  code *pcVar12;\n  ulonglong uVar13;\n  \n  puVar10 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c);\n  pcVar11 = *(code **)(puVar10 + 0x37e368);\n  (*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218);\n  pcVar12 = *(code **)(pcVar11 + 0x37e334);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc);\n  pcVar11 = *(code **)(pcVar12 + 0x37e300);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0);\n  pcVar12 = *(code **)(pcVar11 + 0x37e2cc);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0);\n  pcVar11 = *(code **)(pcVar12 + 0x37e298);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4);\n  uVar8 = 0x125;\n  pcVar12 = *(code **)(pcVar11 + 0x37e264);\n  iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494;\n  (*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)) {\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }\n  uVar8 = 0x5c8;\n  pcVar11 = *(code **)(pcVar12 + 0x37e230);\n  iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90;\n  iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8;\n  (*pcVar11)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }\n  uVar8 = 0x70;\n  pcVar12 = *(code **)(pcVar11 + 0x37e1d4);\n  iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668;\n  iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc;\n  (*pcVar12)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }\n  uVar8 = 0x70;\n  pcVar11 = *(code **)(pcVar12 + 0x37e124);\n  iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668;\n  iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc;\n  (*pcVar11)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar12 = *(code **)(pcVar11 + 0x37e074);\n  iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60;\n  iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8;\n  (*pcVar12)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar11 = *(code **)(pcVar12 + 0x37e014);\n  iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8;\n  (*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37dfb4);\n  iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar11 = *(code **)(pcVar12 + 0x37df54);\n  iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8;\n  (*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)) {\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37def4);\n  iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534);\n  if ((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8) {\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    \n                    \n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }\n  uVar2 = 0xffffffff;\n  iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n  if (iVar5 == -1) {\n    iVar5 = -1;\n  }\n  else {\n    uVar2 = 0;\n  }\n  return CONCAT44(uVar2,iVar5);\n}\n\n" (function_definition "ulonglong FUN_000b4028(void)\n\n{\n  bool bVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  uint uVar8;\n  int iVar9;\n  int in_a3;\n  undefined *puVar10;\n  code *pcVar11;\n  code *pcVar12;\n  ulonglong uVar13;\n  \n  puVar10 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c);\n  pcVar11 = *(code **)(puVar10 + 0x37e368);\n  (*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218);\n  pcVar12 = *(code **)(pcVar11 + 0x37e334);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc);\n  pcVar11 = *(code **)(pcVar12 + 0x37e300);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0);\n  pcVar12 = *(code **)(pcVar11 + 0x37e2cc);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0);\n  pcVar11 = *(code **)(pcVar12 + 0x37e298);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4);\n  uVar8 = 0x125;\n  pcVar12 = *(code **)(pcVar11 + 0x37e264);\n  iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494;\n  (*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)) {\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }\n  uVar8 = 0x5c8;\n  pcVar11 = *(code **)(pcVar12 + 0x37e230);\n  iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90;\n  iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8;\n  (*pcVar11)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }\n  uVar8 = 0x70;\n  pcVar12 = *(code **)(pcVar11 + 0x37e1d4);\n  iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668;\n  iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc;\n  (*pcVar12)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }\n  uVar8 = 0x70;\n  pcVar11 = *(code **)(pcVar12 + 0x37e124);\n  iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668;\n  iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc;\n  (*pcVar11)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar12 = *(code **)(pcVar11 + 0x37e074);\n  iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60;\n  iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8;\n  (*pcVar12)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar11 = *(code **)(pcVar12 + 0x37e014);\n  iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8;\n  (*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37dfb4);\n  iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar11 = *(code **)(pcVar12 + 0x37df54);\n  iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8;\n  (*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)) {\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37def4);\n  iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534);\n  if ((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8) {\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    \n                    \n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }\n  uVar2 = 0xffffffff;\n  iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n  if (iVar5 == -1) {\n    iVar5 = -1;\n  }\n  else {\n    uVar2 = 0;\n  }\n  return CONCAT44(uVar2,iVar5);\n}" type_identifier (function_declarator "FUN_000b4028(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  bool bVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  uint uVar8;\n  int iVar9;\n  int in_a3;\n  undefined *puVar10;\n  code *pcVar11;\n  code *pcVar12;\n  ulonglong uVar13;\n  \n  puVar10 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c);\n  pcVar11 = *(code **)(puVar10 + 0x37e368);\n  (*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218);\n  pcVar12 = *(code **)(pcVar11 + 0x37e334);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc);\n  pcVar11 = *(code **)(pcVar12 + 0x37e300);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0);\n  pcVar12 = *(code **)(pcVar11 + 0x37e2cc);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0);\n  pcVar11 = *(code **)(pcVar12 + 0x37e298);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4);\n  uVar8 = 0x125;\n  pcVar12 = *(code **)(pcVar11 + 0x37e264);\n  iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494;\n  (*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)) {\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }\n  uVar8 = 0x5c8;\n  pcVar11 = *(code **)(pcVar12 + 0x37e230);\n  iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90;\n  iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8;\n  (*pcVar11)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }\n  uVar8 = 0x70;\n  pcVar12 = *(code **)(pcVar11 + 0x37e1d4);\n  iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668;\n  iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc;\n  (*pcVar12)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }\n  uVar8 = 0x70;\n  pcVar11 = *(code **)(pcVar12 + 0x37e124);\n  iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668;\n  iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc;\n  (*pcVar11)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar12 = *(code **)(pcVar11 + 0x37e074);\n  iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60;\n  iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8;\n  (*pcVar12)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar11 = *(code **)(pcVar12 + 0x37e014);\n  iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8;\n  (*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37dfb4);\n  iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar11 = *(code **)(pcVar12 + 0x37df54);\n  iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8;\n  (*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)) {\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37def4);\n  iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534);\n  if ((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8) {\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    \n                    \n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }\n  uVar2 = 0xffffffff;\n  iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n  if (iVar5 == -1) {\n    iVar5 = -1;\n  }\n  else {\n    uVar2 = 0;\n  }\n  return CONCAT44(uVar2,iVar5);\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int in_a3;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "code *pcVar11;" type_identifier (pointer_declarator "*pcVar11" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "ulonglong uVar13;" type_identifier identifier ;) (expression_statement "puVar10 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar10 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c)" (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_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c)" ( (binary_expression "PTR_LAB_0043220c + 0x4494" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_0043220c + 0x522c" identifier + number_literal) ))) ;) (expression_statement "pcVar11 = *(code **)(puVar10 + 0x37e368);" (assignment_expression "pcVar11 = *(code **)(puVar10 + 0x37e368)" identifier = (pointer_expression "*(code **)(puVar10 + 0x37e368)" * (cast_expression "(code **)(puVar10 + 0x37e368)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x37e368)" ( (binary_expression "puVar10 + 0x37e368" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218);" (call_expression "(*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218)" ( (binary_expression "*(int *)(puVar10 + 0x37e1b0) + 0x4494" (pointer_expression "*(int *)(puVar10 + 0x37e1b0)" * (cast_expression "(int *)(puVar10 + 0x37e1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x37e1b0)" ( (binary_expression "puVar10 + 0x37e1b0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar10 + 0x37e1b0) + 0x5218" (pointer_expression "*(int *)(puVar10 + 0x37e1b0)" * (cast_expression "(int *)(puVar10 + 0x37e1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x37e1b0)" ( (binary_expression "puVar10 + 0x37e1b0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e334);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e334)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37e334)" * (cast_expression "(code **)(pcVar11 + 0x37e334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e334)" ( (binary_expression "pcVar11 + 0x37e334" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc);" (call_expression "(*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc)" ( (binary_expression "*(int *)(pcVar11 + 0x37e17c) + 0x4494" (pointer_expression "*(int *)(pcVar11 + 0x37e17c)" * (cast_expression "(int *)(pcVar11 + 0x37e17c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e17c)" ( (binary_expression "pcVar11 + 0x37e17c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37e17c) + 0x51fc" (pointer_expression "*(int *)(pcVar11 + 0x37e17c)" * (cast_expression "(int *)(pcVar11 + 0x37e17c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e17c)" ( (binary_expression "pcVar11 + 0x37e17c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e300);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e300)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37e300)" * (cast_expression "(code **)(pcVar12 + 0x37e300)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e300)" ( (binary_expression "pcVar12 + 0x37e300" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0);" (call_expression "(*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0)" ( (binary_expression "*(int *)(pcVar12 + 0x37e148) + 0x4494" (pointer_expression "*(int *)(pcVar12 + 0x37e148)" * (cast_expression "(int *)(pcVar12 + 0x37e148)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e148)" ( (binary_expression "pcVar12 + 0x37e148" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37e148) + 0x51e0" (pointer_expression "*(int *)(pcVar12 + 0x37e148)" * (cast_expression "(int *)(pcVar12 + 0x37e148)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e148)" ( (binary_expression "pcVar12 + 0x37e148" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e2cc);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e2cc)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37e2cc)" * (cast_expression "(code **)(pcVar11 + 0x37e2cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e2cc)" ( (binary_expression "pcVar11 + 0x37e2cc" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0);" (call_expression "(*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0)" ( (binary_expression "*(int *)(pcVar11 + 0x37e114) + 0x4494" (pointer_expression "*(int *)(pcVar11 + 0x37e114)" * (cast_expression "(int *)(pcVar11 + 0x37e114)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e114)" ( (binary_expression "pcVar11 + 0x37e114" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37e114) + 0x51d0" (pointer_expression "*(int *)(pcVar11 + 0x37e114)" * (cast_expression "(int *)(pcVar11 + 0x37e114)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e114)" ( (binary_expression "pcVar11 + 0x37e114" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e298);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e298)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37e298)" * (cast_expression "(code **)(pcVar12 + 0x37e298)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e298)" ( (binary_expression "pcVar12 + 0x37e298" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4);" (call_expression "(*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4)" ( (binary_expression "*(int *)(pcVar12 + 0x37e0e0) + 0x4494" (pointer_expression "*(int *)(pcVar12 + 0x37e0e0)" * (cast_expression "(int *)(pcVar12 + 0x37e0e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e0e0)" ( (binary_expression "pcVar12 + 0x37e0e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37e0e0) + 0x51c4" (pointer_expression "*(int *)(pcVar12 + 0x37e0e0)" * (cast_expression "(int *)(pcVar12 + 0x37e0e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e0e0)" ( (binary_expression "pcVar12 + 0x37e0e0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar8 = 0x125;" (assignment_expression "uVar8 = 0x125" identifier = number_literal) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e264);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e264)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37e264)" * (cast_expression "(code **)(pcVar11 + 0x37e264)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e264)" ( (binary_expression "pcVar11 + 0x37e264" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494;" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494" identifier = (binary_expression "*(int *)(pcVar11 + 0x37e0ac) + 0x4494" (pointer_expression "*(int *)(pcVar11 + 0x37e0ac)" * (cast_expression "(int *)(pcVar11 + 0x37e0ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e0ac)" ( (binary_expression "pcVar11 + 0x37e0ac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4);" (call_expression "(*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37e0ac) + 0x51b4" (pointer_expression "*(int *)(pcVar11 + 0x37e0ac)" * (cast_expression "(int *)(pcVar11 + 0x37e0ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e0ac)" ( (binary_expression "pcVar11 + 0x37e0ac" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)) {\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)" ( (binary_expression "*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2" (binary_expression "*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38)" (pointer_expression "*(int *)(iVar5 + 0x3c)" * (cast_expression "(int *)(iVar5 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 0x3c" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) ))))) >> number_literal) )))) )) (compound_statement "{\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }" { (expression_statement "puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);" (assignment_expression "puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x38) + uVar8 * 4)" ( (binary_expression "*(int *)(iVar5 + 0x38) + uVar8 * 4" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (return_statement "return CONCAT44(*puVar3,puVar3);" return (call_expression "CONCAT44(*puVar3,puVar3)" identifier (argument_list "(*puVar3,puVar3)" ( (pointer_expression "*puVar3" * identifier) , identifier ))) ;) })) (expression_statement "uVar8 = 0x5c8;" (assignment_expression "uVar8 = 0x5c8" identifier = number_literal) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e230);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e230)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37e230)" * (cast_expression "(code **)(pcVar12 + 0x37e230)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e230)" ( (binary_expression "pcVar12 + 0x37e230" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90;" (assignment_expression "iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90" identifier = (binary_expression "*(int *)(pcVar12 + 0x37e078) + 0x5a90" (pointer_expression "*(int *)(pcVar12 + 0x37e078)" * (cast_expression "(int *)(pcVar12 + 0x37e078)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e078)" ( (binary_expression "pcVar12 + 0x37e078" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8;" (assignment_expression "iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar12 + 0x37e078) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37e078)" * (cast_expression "(int *)(pcVar12 + 0x37e078)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37e078)" ( (binary_expression "pcVar12 + 0x37e078" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar11)();" (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar5 = *(int *)(iVar6 + 0x84);" (assignment_expression "iVar5 = *(int *)(iVar6 + 0x84)" identifier = (pointer_expression "*(int *)(iVar6 + 0x84)" * (cast_expression "(int *)(iVar6 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x84)" ( (binary_expression "iVar6 + 0x84" identifier + number_literal) ))))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" identifier < (call_expression "(uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" ( (binary_expression "*(int *)(iVar6 + 0x88) - iVar5 >> 2" (binary_expression "*(int *)(iVar6 + 0x88) - iVar5" (pointer_expression "*(int *)(iVar6 + 0x88)" * (cast_expression "(int *)(iVar6 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x88)" ( (binary_expression "iVar6 + 0x88" identifier + number_literal) )))) - identifier) >> number_literal) )))) )) (compound_statement "{\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }" { (if_statement "if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }" if (parenthesized_expression "((iVar9 == -1) && (in_a3 == -1))" ( (binary_expression "(iVar9 == -1) && (in_a3 == -1)" (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) && (parenthesized_expression "(in_a3 == -1)" ( (binary_expression "in_a3 == -1" identifier == number_literal) ))) )) (compound_statement "{\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }" { (expression_statement "puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);" (assignment_expression "puVar3 = (undefined4 *)(iVar5 + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(iVar5 + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + uVar8 * 4)" ( (binary_expression "iVar5 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (expression_statement "*puVar3 = 0xffffffff;" (assignment_expression "*puVar3 = 0xffffffff" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (return_statement "return CONCAT44(0xffffffff,puVar3);" return (call_expression "CONCAT44(0xffffffff,puVar3)" identifier (argument_list "(0xffffffff,puVar3)" ( number_literal , identifier ))) ;) })) (if_statement "if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }" { (expression_statement "piVar4 = (int *)(iVar5 + uVar8 * 4);" (assignment_expression "piVar4 = (int *)(iVar5 + uVar8 * 4)" identifier = (cast_expression "(int *)(iVar5 + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + uVar8 * 4)" ( (binary_expression "iVar5 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (expression_statement "*piVar4 = in_a3;" (assignment_expression "*piVar4 = in_a3" (pointer_expression "*piVar4" * identifier) = identifier) ;) (return_statement "return CONCAT44(0xffffffff,piVar4);" return (call_expression "CONCAT44(0xffffffff,piVar4)" identifier (argument_list "(0xffffffff,piVar4)" ( number_literal , identifier ))) ;) })) }) (else_clause "else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }" else (compound_statement "{\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }" { (expression_statement "(**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);" (call_expression "(**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678)" (parenthesized_expression "(**(code **)(pcVar11 + 0x37e1d4))" ( (pointer_expression "**(code **)(pcVar11 + 0x37e1d4)" * (pointer_expression "*(code **)(pcVar11 + 0x37e1d4)" * (cast_expression "(code **)(pcVar11 + 0x37e1d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e1d4)" ( (binary_expression "pcVar11 + 0x37e1d4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678)" ( (binary_expression "*(int *)(pcVar11 + 0x37e01c) + 0x44a8" (pointer_expression "*(int *)(pcVar11 + 0x37e01c)" * (cast_expression "(int *)(pcVar11 + 0x37e01c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e01c)" ( (binary_expression "pcVar11 + 0x37e01c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37e01c) + 0x5678" (pointer_expression "*(int *)(pcVar11 + 0x37e01c)" * (cast_expression "(int *)(pcVar11 + 0x37e01c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e01c)" ( (binary_expression "pcVar11 + 0x37e01c" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "uVar8 = 0x70;" (assignment_expression "uVar8 = 0x70" identifier = number_literal) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e1d4);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e1d4)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37e1d4)" * (cast_expression "(code **)(pcVar11 + 0x37e1d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e1d4)" ( (binary_expression "pcVar11 + 0x37e1d4" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668;" (assignment_expression "iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668" identifier = (binary_expression "*(int *)(pcVar11 + 0x37e01c) + 0x5668" (pointer_expression "*(int *)(pcVar11 + 0x37e01c)" * (cast_expression "(int *)(pcVar11 + 0x37e01c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e01c)" ( (binary_expression "pcVar11 + 0x37e01c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc;" (assignment_expression "iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc" identifier = (binary_expression "*(int *)(pcVar11 + 0x37e01c) + 0x44bc" (pointer_expression "*(int *)(pcVar11 + 0x37e01c)" * (cast_expression "(int *)(pcVar11 + 0x37e01c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37e01c)" ( (binary_expression "pcVar11 + 0x37e01c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar5 = *(int *)(iVar6 + 0x84);" (assignment_expression "iVar5 = *(int *)(iVar6 + 0x84)" identifier = (pointer_expression "*(int *)(iVar6 + 0x84)" * (cast_expression "(int *)(iVar6 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x84)" ( (binary_expression "iVar6 + 0x84" identifier + number_literal) ))))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" identifier < (call_expression "(uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" ( (binary_expression "*(int *)(iVar6 + 0x88) - iVar5 >> 2" (binary_expression "*(int *)(iVar6 + 0x88) - iVar5" (pointer_expression "*(int *)(iVar6 + 0x88)" * (cast_expression "(int *)(iVar6 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x88)" ( (binary_expression "iVar6 + 0x88" identifier + number_literal) )))) - identifier) >> number_literal) )))) )) (compound_statement "{\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }" { (if_statement "if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }" if (parenthesized_expression "((iVar9 == -1) && (in_a3 == -1))" ( (binary_expression "(iVar9 == -1) && (in_a3 == -1)" (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) && (parenthesized_expression "(in_a3 == -1)" ( (binary_expression "in_a3 == -1" identifier == number_literal) ))) )) (compound_statement "{\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }" { (expression_statement "puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);" (assignment_expression "puVar3 = (undefined4 *)(iVar5 + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(iVar5 + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + uVar8 * 4)" ( (binary_expression "iVar5 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (expression_statement "*puVar3 = 0xffffffff;" (assignment_expression "*puVar3 = 0xffffffff" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (return_statement "return CONCAT44(0xffffffff,puVar3);" return (call_expression "CONCAT44(0xffffffff,puVar3)" identifier (argument_list "(0xffffffff,puVar3)" ( number_literal , identifier ))) ;) })) (if_statement "if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }" { (expression_statement "piVar4 = (int *)(iVar5 + uVar8 * 4);" (assignment_expression "piVar4 = (int *)(iVar5 + uVar8 * 4)" identifier = (cast_expression "(int *)(iVar5 + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + uVar8 * 4)" ( (binary_expression "iVar5 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (expression_statement "*piVar4 = in_a3;" (assignment_expression "*piVar4 = in_a3" (pointer_expression "*piVar4" * identifier) = identifier) ;) (return_statement "return CONCAT44(0xffffffff,piVar4);" return (call_expression "CONCAT44(0xffffffff,piVar4)" identifier (argument_list "(0xffffffff,piVar4)" ( number_literal , identifier ))) ;) })) }) (else_clause "else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }" else (compound_statement "{\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }" { (expression_statement "(**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);" (call_expression "(**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4)" (parenthesized_expression "(**(code **)(pcVar12 + 0x37e124))" ( (pointer_expression "**(code **)(pcVar12 + 0x37e124)" * (pointer_expression "*(code **)(pcVar12 + 0x37e124)" * (cast_expression "(code **)(pcVar12 + 0x37e124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e124)" ( (binary_expression "pcVar12 + 0x37e124" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4)" ( (binary_expression "*(int *)(pcVar12 + 0x37df6c) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37df6c)" * (cast_expression "(int *)(pcVar12 + 0x37df6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37df6c)" ( (binary_expression "pcVar12 + 0x37df6c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37df6c) + 0x53f4" (pointer_expression "*(int *)(pcVar12 + 0x37df6c)" * (cast_expression "(int *)(pcVar12 + 0x37df6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37df6c)" ( (binary_expression "pcVar12 + 0x37df6c" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "uVar8 = 0x70;" (assignment_expression "uVar8 = 0x70" identifier = number_literal) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e124);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e124)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37e124)" * (cast_expression "(code **)(pcVar12 + 0x37e124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e124)" ( (binary_expression "pcVar12 + 0x37e124" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668;" (assignment_expression "iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668" identifier = (binary_expression "*(int *)(pcVar12 + 0x37df6c) + 0x5668" (pointer_expression "*(int *)(pcVar12 + 0x37df6c)" * (cast_expression "(int *)(pcVar12 + 0x37df6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37df6c)" ( (binary_expression "pcVar12 + 0x37df6c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc;" (assignment_expression "iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc" identifier = (binary_expression "*(int *)(pcVar12 + 0x37df6c) + 0x44bc" (pointer_expression "*(int *)(pcVar12 + 0x37df6c)" * (cast_expression "(int *)(pcVar12 + 0x37df6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37df6c)" ( (binary_expression "pcVar12 + 0x37df6c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar11)();" (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);" (assignment_expression "bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier = (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) ))))) ;) (if_statement "if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }" { (expression_statement "piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);" (assignment_expression "piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" identifier = (cast_expression "(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 8" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 8" identifier * number_literal)) )))) ;) (expression_statement "piVar4[1] = in_a3;" (assignment_expression "piVar4[1] = in_a3" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar4 = iVar6;" (assignment_expression "*piVar4 = iVar6" (pointer_expression "*piVar4" * identifier) = identifier) ;) (return_statement "return (ulonglong)CONCAT14(bVar1,piVar4);" return (cast_expression "(ulonglong)CONCAT14(bVar1,piVar4)" ( (type_descriptor "ulonglong" type_identifier) ) (call_expression "CONCAT14(bVar1,piVar4)" identifier (argument_list "(bVar1,piVar4)" ( identifier , identifier )))) ;) })) (expression_statement "uVar8 = 0x81f;" (assignment_expression "uVar8 = 0x81f" identifier = number_literal) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e074);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e074)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37e074)" * (cast_expression "(code **)(pcVar11 + 0x37e074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37e074)" ( (binary_expression "pcVar11 + 0x37e074" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60;" (assignment_expression "iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60" identifier = (binary_expression "*(int *)(pcVar11 + 0x37debc) + 0x5d60" (pointer_expression "*(int *)(pcVar11 + 0x37debc)" * (cast_expression "(int *)(pcVar11 + 0x37debc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37debc)" ( (binary_expression "pcVar11 + 0x37debc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar11 + 0x37debc) + 0x44a8" (pointer_expression "*(int *)(pcVar11 + 0x37debc)" * (cast_expression "(int *)(pcVar11 + 0x37debc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37debc)" ( (binary_expression "pcVar11 + 0x37debc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);" (assignment_expression "bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier = (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) ))))) ;) (if_statement "if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }" { (expression_statement "piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);" (assignment_expression "piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" identifier = (cast_expression "(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 8" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 8" identifier * number_literal)) )))) ;) (expression_statement "piVar4[1] = in_a3;" (assignment_expression "piVar4[1] = in_a3" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar4 = iVar6;" (assignment_expression "*piVar4 = iVar6" (pointer_expression "*piVar4" * identifier) = identifier) ;) (return_statement "return (ulonglong)CONCAT14(bVar1,piVar4);" return (cast_expression "(ulonglong)CONCAT14(bVar1,piVar4)" ( (type_descriptor "ulonglong" type_identifier) ) (call_expression "CONCAT14(bVar1,piVar4)" identifier (argument_list "(bVar1,piVar4)" ( identifier , identifier )))) ;) })) (expression_statement "uVar8 = 0x81f;" (assignment_expression "uVar8 = 0x81f" identifier = number_literal) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e014);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e014)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37e014)" * (cast_expression "(code **)(pcVar12 + 0x37e014)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37e014)" ( (binary_expression "pcVar12 + 0x37e014" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar12 + 0x37de5c) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37de5c)" * (cast_expression "(int *)(pcVar12 + 0x37de5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37de5c)" ( (binary_expression "pcVar12 + 0x37de5c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec);" (call_expression "(*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37de5c) + 0x58ec" (pointer_expression "*(int *)(pcVar12 + 0x37de5c)" * (cast_expression "(int *)(pcVar12 + 0x37de5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37de5c)" ( (binary_expression "pcVar12 + 0x37de5c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) )))) )) (compound_statement "{\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }" { (return_statement "return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);" return (pointer_expression "*(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" * (cast_expression "(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 8" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 8" identifier * number_literal)) )))) ;) })) (expression_statement "uVar8 = 0x7f7;" (assignment_expression "uVar8 = 0x7f7" identifier = number_literal) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37dfb4);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37dfb4)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37dfb4)" * (cast_expression "(code **)(pcVar11 + 0x37dfb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37dfb4)" ( (binary_expression "pcVar11 + 0x37dfb4" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar11 + 0x37ddfc) + 0x44a8" (pointer_expression "*(int *)(pcVar11 + 0x37ddfc)" * (cast_expression "(int *)(pcVar11 + 0x37ddfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37ddfc)" ( (binary_expression "pcVar11 + 0x37ddfc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec);" (call_expression "(*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37ddfc) + 0x5aec" (pointer_expression "*(int *)(pcVar11 + 0x37ddfc)" * (cast_expression "(int *)(pcVar11 + 0x37ddfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37ddfc)" ( (binary_expression "pcVar11 + 0x37ddfc" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) )))) )) (compound_statement "{\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }" { (return_statement "return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);" return (pointer_expression "*(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" * (cast_expression "(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 8)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 8" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 8" identifier * number_literal)) )))) ;) })) (expression_statement "uVar8 = 0x7f7;" (assignment_expression "uVar8 = 0x7f7" identifier = number_literal) ;) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37df54);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37df54)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37df54)" * (cast_expression "(code **)(pcVar12 + 0x37df54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37df54)" ( (binary_expression "pcVar12 + 0x37df54" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar12 + 0x37dd9c) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37dd9c)" * (cast_expression "(int *)(pcVar12 + 0x37dd9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37dd9c)" ( (binary_expression "pcVar12 + 0x37dd9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8);" (call_expression "(*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37dd9c) + 0x57b8" (pointer_expression "*(int *)(pcVar12 + 0x37dd9c)" * (cast_expression "(int *)(pcVar12 + 0x37dd9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37dd9c)" ( (binary_expression "pcVar12 + 0x37dd9c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)) {\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }" if (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2))" ( (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" identifier < (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) )))) )) (compound_statement "{\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }" { (expression_statement "uVar2 = 0xffffffff;" (assignment_expression "uVar2 = 0xffffffff" identifier = number_literal) ;) (expression_statement "iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);" (assignment_expression "iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" identifier = (pointer_expression "*(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" * (cast_expression "(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 4)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 4" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n      iVar5 = -1;\n    }" { (expression_statement "iVar5 = -1;" (assignment_expression "iVar5 = -1" identifier = number_literal) ;) }) (else_clause "else {\n      uVar2 = 0;\n    }" else (compound_statement "{\n      uVar2 = 0;\n    }" { (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) }))) (return_statement "return CONCAT44(uVar2,iVar5);" return (call_expression "CONCAT44(uVar2,iVar5)" identifier (argument_list "(uVar2,iVar5)" ( identifier , identifier ))) ;) })) (expression_statement "uVar8 = 0x7f7;" (assignment_expression "uVar8 = 0x7f7" identifier = number_literal) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37def4);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37def4)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x37def4)" * (cast_expression "(code **)(pcVar11 + 0x37def4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37def4)" ( (binary_expression "pcVar11 + 0x37def4" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8" identifier = (binary_expression "*(int *)(pcVar11 + 0x37dd3c) + 0x44a8" (pointer_expression "*(int *)(pcVar11 + 0x37dd3c)" * (cast_expression "(int *)(pcVar11 + 0x37dd3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37dd3c)" ( (binary_expression "pcVar11 + 0x37dd3c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534);" (call_expression "(*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar11 + 0x37dd3c) + 0x5534" (pointer_expression "*(int *)(pcVar11 + 0x37dd3c)" * (cast_expression "(int *)(pcVar11 + 0x37dd3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37dd3c)" ( (binary_expression "pcVar11 + 0x37dd3c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if ((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8) {\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    \n                    \n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }" if (parenthesized_expression "((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8)" ( (binary_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8" (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" ( (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" * (cast_expression "(int *)(iVar5 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x88)" ( (binary_expression "iVar5 + 0x88" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) ))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    \n                    \n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }" { (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37de88);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37de88)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x37de88)" * (cast_expression "(code **)(pcVar12 + 0x37de88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x37de88)" ( (binary_expression "pcVar12 + 0x37de88" identifier + number_literal) ))))) ;) (expression_statement "piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);" (assignment_expression "piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8)" identifier = (cast_expression "(int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8)" ( (binary_expression "*(int *)(pcVar12 + 0x37dcd0) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37dcd0)" * (cast_expression "(int *)(pcVar12 + 0x37dcd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37dcd0)" ( (binary_expression "pcVar12 + 0x37dcd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);" (call_expression "(*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar12 + 0x37dcd0) + 0x52c0" (pointer_expression "*(int *)(pcVar12 + 0x37dcd0)" * (cast_expression "(int *)(pcVar12 + 0x37dcd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x37dcd0)" ( (binary_expression "pcVar12 + 0x37dcd0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37df34);" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37df34)" identifier = (pointer_expression "*(int *)(pcVar11 + 0x37df34)" * (cast_expression "(int *)(pcVar11 + 0x37df34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x37df34)" ( (binary_expression "pcVar11 + 0x37df34" identifier + number_literal) ))))) ;) (expression_statement "piVar4 = (int *)piVar7[1];" (assignment_expression "piVar4 = (int *)piVar7[1]" identifier = (cast_expression "(int *)piVar7[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[1]" identifier [ number_literal ]))) ;) (expression_statement "*piVar7 = iVar5 + 8;" (assignment_expression "*piVar7 = iVar5 + 8" (pointer_expression "*piVar7" * identifier) = (binary_expression "iVar5 + 8" identifier + number_literal)) ;) (if_statement "if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }" if (parenthesized_expression "(piVar4 == piVar7 + 3)" ( (binary_expression "piVar4 == piVar7 + 3" identifier == (binary_expression "piVar7 + 3" identifier + number_literal)) )) (compound_statement "{\n      return CONCAT44(iVar5 + 8,piVar4);\n    }" { (return_statement "return CONCAT44(iVar5 + 8,piVar4);" return (call_expression "CONCAT44(iVar5 + 8,piVar4)" identifier (argument_list "(iVar5 + 8,piVar4)" ( (binary_expression "iVar5 + 8" identifier + number_literal) , identifier ))) ;) })) (expression_statement "uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);" (assignment_expression "uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4)" identifier = (call_expression "(**(code **)(pcVar11 + 0x37dce4))(piVar4)" (parenthesized_expression "(**(code **)(pcVar11 + 0x37dce4))" ( (pointer_expression "**(code **)(pcVar11 + 0x37dce4)" * (pointer_expression "*(code **)(pcVar11 + 0x37dce4)" * (cast_expression "(code **)(pcVar11 + 0x37dce4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x37dce4)" ( (binary_expression "pcVar11 + 0x37dce4" identifier + number_literal) ))))) )) (argument_list "(piVar4)" ( identifier )))) ;) (return_statement "return uVar13;" return identifier ;) })) (expression_statement "uVar2 = 0xffffffff;" (assignment_expression "uVar2 = 0xffffffff" identifier = number_literal) ;) (expression_statement "iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);" (assignment_expression "iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" identifier = (pointer_expression "*(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" * (cast_expression "(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 4)" ( (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 4" (pointer_expression "*(int *)(iVar5 + 0x84)" * (cast_expression "(int *)(iVar5 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x84)" ( (binary_expression "iVar5 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar8 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar5 == -1) {\n    iVar5 = -1;\n  }\n  else {\n    uVar2 = 0;\n  }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n    iVar5 = -1;\n  }" { (expression_statement "iVar5 = -1;" (assignment_expression "iVar5 = -1" identifier = number_literal) ;) }) (else_clause "else {\n    uVar2 = 0;\n  }" else (compound_statement "{\n    uVar2 = 0;\n  }" { (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) }))) (return_statement "return CONCAT44(uVar2,iVar5);" return (call_expression "CONCAT44(uVar2,iVar5)" identifier (argument_list "(uVar2,iVar5)" ( identifier , identifier ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (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 ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (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 , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (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 , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (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 , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (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 , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (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 , (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT) )))) )) (compound_statement { (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) )))) + (binary_expression IDENT * LIT)) )))) ;) (return_statement return (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT) >> LIT) )))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (return_statement return (call_expression IDENT (argument_list ( 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) })) }) (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 ( (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 = (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT) >> LIT) )))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (return_statement return (call_expression IDENT (argument_list ( 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) })) }) (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 ( (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 = (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 = (binary_expression IDENT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT) ))))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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) )))) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT) ))))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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) )))) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT) )))) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT) )))) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (return_statement return (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT) ))) <= 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 *)) ) (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 , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (compound_statement { (return_statement return (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (return_statement return (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })))
(function_definition "ulonglong FUN_000b4028(void)\n\n{\n  bool bVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  uint uVar8;\n  int iVar9;\n  int in_a3;\n  undefined *puVar10;\n  code *pcVar11;\n  code *pcVar12;\n  ulonglong uVar13;\n  \n  puVar10 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c);\n  pcVar11 = *(code **)(puVar10 + 0x37e368);\n  (*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218);\n  pcVar12 = *(code **)(pcVar11 + 0x37e334);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc);\n  pcVar11 = *(code **)(pcVar12 + 0x37e300);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0);\n  pcVar12 = *(code **)(pcVar11 + 0x37e2cc);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0);\n  pcVar11 = *(code **)(pcVar12 + 0x37e298);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4);\n  uVar8 = 0x125;\n  pcVar12 = *(code **)(pcVar11 + 0x37e264);\n  iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494;\n  (*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)) {\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }\n  uVar8 = 0x5c8;\n  pcVar11 = *(code **)(pcVar12 + 0x37e230);\n  iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90;\n  iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8;\n  (*pcVar11)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }\n  uVar8 = 0x70;\n  pcVar12 = *(code **)(pcVar11 + 0x37e1d4);\n  iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668;\n  iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc;\n  (*pcVar12)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }\n  uVar8 = 0x70;\n  pcVar11 = *(code **)(pcVar12 + 0x37e124);\n  iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668;\n  iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc;\n  (*pcVar11)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar12 = *(code **)(pcVar11 + 0x37e074);\n  iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60;\n  iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8;\n  (*pcVar12)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar11 = *(code **)(pcVar12 + 0x37e014);\n  iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8;\n  (*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37dfb4);\n  iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar11 = *(code **)(pcVar12 + 0x37df54);\n  iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8;\n  (*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)) {\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37def4);\n  iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534);\n  if ((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8) {\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    \n                    \n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }\n  uVar2 = 0xffffffff;\n  iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n  if (iVar5 == -1) {\n    iVar5 = -1;\n  }\n  else {\n    uVar2 = 0;\n  }\n  return CONCAT44(uVar2,iVar5);\n}" (type_identifier "ulonglong") (function_declarator "FUN_000b4028(void)" (identifier "FUN_000b4028") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  bool bVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  uint uVar8;\n  int iVar9;\n  int in_a3;\n  undefined *puVar10;\n  code *pcVar11;\n  code *pcVar12;\n  ulonglong uVar13;\n  \n  puVar10 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c);\n  pcVar11 = *(code **)(puVar10 + 0x37e368);\n  (*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218);\n  pcVar12 = *(code **)(pcVar11 + 0x37e334);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc);\n  pcVar11 = *(code **)(pcVar12 + 0x37e300);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0);\n  pcVar12 = *(code **)(pcVar11 + 0x37e2cc);\n  (*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0);\n  pcVar11 = *(code **)(pcVar12 + 0x37e298);\n  (*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4);\n  uVar8 = 0x125;\n  pcVar12 = *(code **)(pcVar11 + 0x37e264);\n  iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494;\n  (*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)) {\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }\n  uVar8 = 0x5c8;\n  pcVar11 = *(code **)(pcVar12 + 0x37e230);\n  iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90;\n  iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8;\n  (*pcVar11)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }\n  uVar8 = 0x70;\n  pcVar12 = *(code **)(pcVar11 + 0x37e1d4);\n  iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668;\n  iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc;\n  (*pcVar12)();\n  iVar5 = *(int *)(iVar6 + 0x84);\n  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }\n  uVar8 = 0x70;\n  pcVar11 = *(code **)(pcVar12 + 0x37e124);\n  iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668;\n  iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc;\n  (*pcVar11)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar12 = *(code **)(pcVar11 + 0x37e074);\n  iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60;\n  iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8;\n  (*pcVar12)();\n  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);\n  if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }\n  uVar8 = 0x81f;\n  pcVar11 = *(code **)(pcVar12 + 0x37e014);\n  iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8;\n  (*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37dfb4);\n  iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }\n  uVar8 = 0x7f7;\n  pcVar11 = *(code **)(pcVar12 + 0x37df54);\n  iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8;\n  (*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8);\n  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)) {\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }\n  uVar8 = 0x7f7;\n  pcVar12 = *(code **)(pcVar11 + 0x37def4);\n  iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8;\n  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534);\n  if ((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8) {\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    \n                    \n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }\n  uVar2 = 0xffffffff;\n  iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n  if (iVar5 == -1) {\n    iVar5 = -1;\n  }\n  else {\n    uVar2 = 0;\n  }\n  return CONCAT44(uVar2,iVar5);\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int in_a3;" (primitive_type "int") (identifier "in_a3") (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "code *pcVar11;" (type_identifier "code") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "code *pcVar12;" (type_identifier "code") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "ulonglong uVar13;" (type_identifier "ulonglong") (identifier "uVar13") (; ";")) (expression_statement "puVar10 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar10 = PTR_do_gold_unreachable_004323c4" (identifier "puVar10") (= "=") (identifier "PTR_do_gold_unreachable_004323c4")) (; ";")) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c)" (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_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c)" (( "(") (binary_expression "PTR_LAB_0043220c + 0x4494" (identifier "PTR_LAB_0043220c") (+ "+") (number_literal "0x4494")) (, ",") (number_literal "0x14a") (, ",") (binary_expression "PTR_LAB_0043220c + 0x522c" (identifier "PTR_LAB_0043220c") (+ "+") (number_literal "0x522c")) () ")"))) (; ";")) (expression_statement "pcVar11 = *(code **)(puVar10 + 0x37e368);" (assignment_expression "pcVar11 = *(code **)(puVar10 + 0x37e368)" (identifier "pcVar11") (= "=") (pointer_expression "*(code **)(puVar10 + 0x37e368)" (* "*") (cast_expression "(code **)(puVar10 + 0x37e368)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x37e368)" (( "(") (binary_expression "puVar10 + 0x37e368" (identifier "puVar10") (+ "+") (number_literal "0x37e368")) () ")"))))) (; ";")) (expression_statement "(*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218);" (call_expression "(*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218)" (parenthesized_expression "(*pcVar11)" (( "(") (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) () ")")) (argument_list "(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218)" (( "(") (binary_expression "*(int *)(puVar10 + 0x37e1b0) + 0x4494" (pointer_expression "*(int *)(puVar10 + 0x37e1b0)" (* "*") (cast_expression "(int *)(puVar10 + 0x37e1b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x37e1b0)" (( "(") (binary_expression "puVar10 + 0x37e1b0" (identifier "puVar10") (+ "+") (number_literal "0x37e1b0")) () ")")))) (+ "+") (number_literal "0x4494")) (, ",") (number_literal "0x145") (, ",") (binary_expression "*(int *)(puVar10 + 0x37e1b0) + 0x5218" (pointer_expression "*(int *)(puVar10 + 0x37e1b0)" (* "*") (cast_expression "(int *)(puVar10 + 0x37e1b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x37e1b0)" (( "(") (binary_expression "puVar10 + 0x37e1b0" (identifier "puVar10") (+ "+") (number_literal "0x37e1b0")) () ")")))) (+ "+") (number_literal "0x5218")) () ")"))) (; ";")) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e334);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e334)" (identifier "pcVar12") (= "=") (pointer_expression "*(code **)(pcVar11 + 0x37e334)" (* "*") (cast_expression "(code **)(pcVar11 + 0x37e334)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x37e334)" (( "(") (binary_expression "pcVar11 + 0x37e334" (identifier "pcVar11") (+ "+") (number_literal "0x37e334")) () ")"))))) (; ";")) (expression_statement "(*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc);" (call_expression "(*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc)" (parenthesized_expression "(*pcVar12)" (( "(") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) () ")")) (argument_list "(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc)" (( "(") (binary_expression "*(int *)(pcVar11 + 0x37e17c) + 0x4494" (pointer_expression "*(int *)(pcVar11 + 0x37e17c)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37e17c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37e17c)" (( "(") (binary_expression "pcVar11 + 0x37e17c" (identifier "pcVar11") (+ "+") (number_literal "0x37e17c")) () ")")))) (+ "+") (number_literal "0x4494")) (, ",") (number_literal "0x140") (, ",") (binary_expression "*(int *)(pcVar11 + 0x37e17c) + 0x51fc" (pointer_expression "*(int *)(pcVar11 + 0x37e17c)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37e17c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37e17c)" (( "(") (binary_expression "pcVar11 + 0x37e17c" (identifier "pcVar11") (+ "+") (number_literal "0x37e17c")) () ")")))) (+ "+") (number_literal "0x51fc")) () ")"))) (; ";")) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e300);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e300)" (identifier "pcVar11") (= "=") (pointer_expression "*(code **)(pcVar12 + 0x37e300)" (* "*") (cast_expression "(code **)(pcVar12 + 0x37e300)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x37e300)" (( "(") (binary_expression "pcVar12 + 0x37e300" (identifier "pcVar12") (+ "+") (number_literal "0x37e300")) () ")"))))) (; ";")) (expression_statement "(*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0);" (call_expression "(*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0)" (parenthesized_expression "(*pcVar11)" (( "(") (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) () ")")) (argument_list "(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0)" (( "(") (binary_expression "*(int *)(pcVar12 + 0x37e148) + 0x4494" (pointer_expression "*(int *)(pcVar12 + 0x37e148)" (* "*") (cast_expression "(int *)(pcVar12 + 0x37e148)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x37e148)" (( "(") (binary_expression "pcVar12 + 0x37e148" (identifier "pcVar12") (+ "+") (number_literal "0x37e148")) () ")")))) (+ "+") (number_literal "0x4494")) (, ",") (number_literal "0x13a") (, ",") (binary_expression "*(int *)(pcVar12 + 0x37e148) + 0x51e0" (pointer_expression "*(int *)(pcVar12 + 0x37e148)" (* "*") (cast_expression "(int *)(pcVar12 + 0x37e148)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x37e148)" (( "(") (binary_expression "pcVar12 + 0x37e148" (identifier "pcVar12") (+ "+") (number_literal "0x37e148")) () ")")))) (+ "+") (number_literal "0x51e0")) () ")"))) (; ";")) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e2cc);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e2cc)" (identifier "pcVar12") (= "=") (pointer_expression "*(code **)(pcVar11 + 0x37e2cc)" (* "*") (cast_expression "(code **)(pcVar11 + 0x37e2cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x37e2cc)" (( "(") (binary_expression "pcVar11 + 0x37e2cc" (identifier "pcVar11") (+ "+") (number_literal "0x37e2cc")) () ")"))))) (; ";")) (expression_statement "(*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0);" (call_expression "(*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0)" (parenthesized_expression "(*pcVar12)" (( "(") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) () ")")) (argument_list "(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0)" (( "(") (binary_expression "*(int *)(pcVar11 + 0x37e114) + 0x4494" (pointer_expression "*(int *)(pcVar11 + 0x37e114)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37e114)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37e114)" (( "(") (binary_expression "pcVar11 + 0x37e114" (identifier "pcVar11") (+ "+") (number_literal "0x37e114")) () ")")))) (+ "+") (number_literal "0x4494")) (, ",") (number_literal "0x135") (, ",") (binary_expression "*(int *)(pcVar11 + 0x37e114) + 0x51d0" (pointer_expression "*(int *)(pcVar11 + 0x37e114)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37e114)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37e114)" (( "(") (binary_expression "pcVar11 + 0x37e114" (identifier "pcVar11") (+ "+") (number_literal "0x37e114")) () ")")))) (+ "+") (number_literal "0x51d0")) () ")"))) (; ";")) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e298);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e298)" (identifier "pcVar11") (= "=") (pointer_expression "*(code **)(pcVar12 + 0x37e298)" (* "*") (cast_expression "(code **)(pcVar12 + 0x37e298)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x37e298)" (( "(") (binary_expression "pcVar12 + 0x37e298" (identifier "pcVar12") (+ "+") (number_literal "0x37e298")) () ")"))))) (; ";")) (expression_statement "(*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4);" (call_expression "(*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4)" (parenthesized_expression "(*pcVar11)" (( "(") (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) () ")")) (argument_list "(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4)" (( "(") (binary_expression "*(int *)(pcVar12 + 0x37e0e0) + 0x4494" (pointer_expression "*(int *)(pcVar12 + 0x37e0e0)" (* "*") (cast_expression "(int *)(pcVar12 + 0x37e0e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x37e0e0)" (( "(") (binary_expression "pcVar12 + 0x37e0e0" (identifier "pcVar12") (+ "+") (number_literal "0x37e0e0")) () ")")))) (+ "+") (number_literal "0x4494")) (, ",") (number_literal "0x12a") (, ",") (binary_expression "*(int *)(pcVar12 + 0x37e0e0) + 0x51c4" (pointer_expression "*(int *)(pcVar12 + 0x37e0e0)" (* "*") (cast_expression "(int *)(pcVar12 + 0x37e0e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x37e0e0)" (( "(") (binary_expression "pcVar12 + 0x37e0e0" (identifier "pcVar12") (+ "+") (number_literal "0x37e0e0")) () ")")))) (+ "+") (number_literal "0x51c4")) () ")"))) (; ";")) (expression_statement "uVar8 = 0x125;" (assignment_expression "uVar8 = 0x125" (identifier "uVar8") (= "=") (number_literal "0x125")) (; ";")) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e264);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e264)" (identifier "pcVar12") (= "=") (pointer_expression "*(code **)(pcVar11 + 0x37e264)" (* "*") (cast_expression "(code **)(pcVar11 + 0x37e264)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x37e264)" (( "(") (binary_expression "pcVar11 + 0x37e264" (identifier "pcVar11") (+ "+") (number_literal "0x37e264")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494;" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494" (identifier "iVar5") (= "=") (binary_expression "*(int *)(pcVar11 + 0x37e0ac) + 0x4494" (pointer_expression "*(int *)(pcVar11 + 0x37e0ac)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37e0ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37e0ac)" (( "(") (binary_expression "pcVar11 + 0x37e0ac" (identifier "pcVar11") (+ "+") (number_literal "0x37e0ac")) () ")")))) (+ "+") (number_literal "0x4494"))) (; ";")) (expression_statement "(*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4);" (call_expression "(*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4)" (parenthesized_expression "(*pcVar12)" (( "(") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) () ")")) (argument_list "(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4)" (( "(") (identifier "iVar5") (, ",") (number_literal "0x125") (, ",") (binary_expression "*(int *)(pcVar11 + 0x37e0ac) + 0x51b4" (pointer_expression "*(int *)(pcVar11 + 0x37e0ac)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37e0ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37e0ac)" (( "(") (binary_expression "pcVar11 + 0x37e0ac" (identifier "pcVar11") (+ "+") (number_literal "0x37e0ac")) () ")")))) (+ "+") (number_literal "0x51b4")) () ")"))) (; ";")) (if_statement "if (uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)) {\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }" (if "if") (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2))" (( "(") (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)" (identifier "uVar8") (< "<") (call_expression "(uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)" (( "(") (binary_expression "*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2" (binary_expression "*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38)" (pointer_expression "*(int *)(iVar5 + 0x3c)" (* "*") (cast_expression "(int *)(iVar5 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x3c)" (( "(") (binary_expression "iVar5 + 0x3c" (identifier "iVar5") (+ "+") (number_literal "0x3c")) () ")")))) (- "-") (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")"))))) (>> ">>") (number_literal "2")) () ")")))) () ")")) (compound_statement "{\n    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);\n    return CONCAT44(*puVar3,puVar3);\n  }" ({ "{") (expression_statement "puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);" (assignment_expression "puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + 0x38) + uVar8 * 4)" (( "(") (binary_expression "*(int *)(iVar5 + 0x38) + uVar8 * 4" (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (binary_expression "uVar8 * 4" (identifier "uVar8") (* "*") (number_literal "4"))) () ")")))) (; ";")) (return_statement "return CONCAT44(*puVar3,puVar3);" (return "return") (call_expression "CONCAT44(*puVar3,puVar3)" (identifier "CONCAT44") (argument_list "(*puVar3,puVar3)" (( "(") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (, ",") (identifier "puVar3") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar8 = 0x5c8;" (assignment_expression "uVar8 = 0x5c8" (identifier "uVar8") (= "=") (number_literal "0x5c8")) (; ";")) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e230);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e230)" (identifier "pcVar11") (= "=") (pointer_expression "*(code **)(pcVar12 + 0x37e230)" (* "*") (cast_expression "(code **)(pcVar12 + 0x37e230)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x37e230)" (( "(") (binary_expression "pcVar12 + 0x37e230" (identifier "pcVar12") (+ "+") (number_literal "0x37e230")) () ")"))))) (; ";")) (expression_statement "iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90;" (assignment_expression "iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90" (identifier "iVar9") (= "=") (binary_expression "*(int *)(pcVar12 + 0x37e078) + 0x5a90" (pointer_expression "*(int *)(pcVar12 + 0x37e078)" (* "*") (cast_expression "(int *)(pcVar12 + 0x37e078)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x37e078)" (( "(") (binary_expression "pcVar12 + 0x37e078" (identifier "pcVar12") (+ "+") (number_literal "0x37e078")) () ")")))) (+ "+") (number_literal "0x5a90"))) (; ";")) (expression_statement "iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8;" (assignment_expression "iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8" (identifier "iVar6") (= "=") (binary_expression "*(int *)(pcVar12 + 0x37e078) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37e078)" (* "*") (cast_expression "(int *)(pcVar12 + 0x37e078)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x37e078)" (( "(") (binary_expression "pcVar12 + 0x37e078" (identifier "pcVar12") (+ "+") (number_literal "0x37e078")) () ")")))) (+ "+") (number_literal "0x44a8"))) (; ";")) (expression_statement "(*pcVar11)();" (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" (( "(") (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar5 = *(int *)(iVar6 + 0x84);" (assignment_expression "iVar5 = *(int *)(iVar6 + 0x84)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar6 + 0x84)" (* "*") (cast_expression "(int *)(iVar6 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x84)" (( "(") (binary_expression "iVar6 + 0x84" (identifier "iVar6") (+ "+") (number_literal "0x84")) () ")"))))) (; ";")) (if_statement "if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }" (if "if") (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2))" (( "(") (binary_expression "uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" (identifier "uVar8") (< "<") (call_expression "(uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" (( "(") (binary_expression "*(int *)(iVar6 + 0x88) - iVar5 >> 2" (binary_expression "*(int *)(iVar6 + 0x88) - iVar5" (pointer_expression "*(int *)(iVar6 + 0x88)" (* "*") (cast_expression "(int *)(iVar6 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x88)" (( "(") (binary_expression "iVar6 + 0x88" (identifier "iVar6") (+ "+") (number_literal "0x88")) () ")")))) (- "-") (identifier "iVar5")) (>> ">>") (number_literal "2")) () ")")))) () ")")) (compound_statement "{\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }" ({ "{") (if_statement "if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }" (if "if") (parenthesized_expression "((iVar9 == -1) && (in_a3 == -1))" (( "(") (binary_expression "(iVar9 == -1) && (in_a3 == -1)" (parenthesized_expression "(iVar9 == -1)" (( "(") (binary_expression "iVar9 == -1" (identifier "iVar9") (== "==") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(in_a3 == -1)" (( "(") (binary_expression "in_a3 == -1" (identifier "in_a3") (== "==") (number_literal "-1")) () ")"))) () ")")) (compound_statement "{\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }" ({ "{") (expression_statement "puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);" (assignment_expression "puVar3 = (undefined4 *)(iVar5 + uVar8 * 4)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(iVar5 + uVar8 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + uVar8 * 4)" (( "(") (binary_expression "iVar5 + uVar8 * 4" (identifier "iVar5") (+ "+") (binary_expression "uVar8 * 4" (identifier "uVar8") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "*puVar3 = 0xffffffff;" (assignment_expression "*puVar3 = 0xffffffff" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (number_literal "0xffffffff")) (; ";")) (return_statement "return CONCAT44(0xffffffff,puVar3);" (return "return") (call_expression "CONCAT44(0xffffffff,puVar3)" (identifier "CONCAT44") (argument_list "(0xffffffff,puVar3)" (( "(") (number_literal "0xffffffff") (, ",") (identifier "puVar3") () ")"))) (; ";")) (} "}"))) (if_statement "if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }" ({ "{") (expression_statement "piVar4 = (int *)(iVar5 + uVar8 * 4);" (assignment_expression "piVar4 = (int *)(iVar5 + uVar8 * 4)" (identifier "piVar4") (= "=") (cast_expression "(int *)(iVar5 + uVar8 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + uVar8 * 4)" (( "(") (binary_expression "iVar5 + uVar8 * 4" (identifier "iVar5") (+ "+") (binary_expression "uVar8 * 4" (identifier "uVar8") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "*piVar4 = in_a3;" (assignment_expression "*piVar4 = in_a3" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (identifier "in_a3")) (; ";")) (return_statement "return CONCAT44(0xffffffff,piVar4);" (return "return") (call_expression "CONCAT44(0xffffffff,piVar4)" (identifier "CONCAT44") (argument_list "(0xffffffff,piVar4)" (( "(") (number_literal "0xffffffff") (, ",") (identifier "piVar4") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }" (else "else") (compound_statement "{\n    (**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);" (call_expression "(**(code **)(pcVar11 + 0x37e1d4))\n              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678)" (parenthesized_expression "(**(code **)(pcVar11 + 0x37e1d4))" (( "(") (pointer_expression "**(code **)(pcVar11 + 0x37e1d4)" (* "*") (pointer_expression "*(code **)(pcVar11 + 0x37e1d4)" (* "*") (cast_expression "(code **)(pcVar11 + 0x37e1d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x37e1d4)" (( "(") (binary_expression "pcVar11 + 0x37e1d4" (identifier "pcVar11") (+ "+") (number_literal "0x37e1d4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678)" (( "(") (binary_expression "*(int *)(pcVar11 + 0x37e01c) + 0x44a8" (pointer_expression "*(int *)(pcVar11 + 0x37e01c)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37e01c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37e01c)" (( "(") (binary_expression "pcVar11 + 0x37e01c" (identifier "pcVar11") (+ "+") (number_literal "0x37e01c")) () ")")))) (+ "+") (number_literal "0x44a8")) (, ",") (number_literal "0x81f") (, ",") (binary_expression "*(int *)(pcVar11 + 0x37e01c) + 0x5678" (pointer_expression "*(int *)(pcVar11 + 0x37e01c)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37e01c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37e01c)" (( "(") (binary_expression "pcVar11 + 0x37e01c" (identifier "pcVar11") (+ "+") (number_literal "0x37e01c")) () ")")))) (+ "+") (number_literal "0x5678")) () ")"))) (; ";")) (} "}")))) (expression_statement "uVar8 = 0x70;" (assignment_expression "uVar8 = 0x70" (identifier "uVar8") (= "=") (number_literal "0x70")) (; ";")) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e1d4);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e1d4)" (identifier "pcVar12") (= "=") (pointer_expression "*(code **)(pcVar11 + 0x37e1d4)" (* "*") (cast_expression "(code **)(pcVar11 + 0x37e1d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x37e1d4)" (( "(") (binary_expression "pcVar11 + 0x37e1d4" (identifier "pcVar11") (+ "+") (number_literal "0x37e1d4")) () ")"))))) (; ";")) (expression_statement "iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668;" (assignment_expression "iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668" (identifier "iVar9") (= "=") (binary_expression "*(int *)(pcVar11 + 0x37e01c) + 0x5668" (pointer_expression "*(int *)(pcVar11 + 0x37e01c)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37e01c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37e01c)" (( "(") (binary_expression "pcVar11 + 0x37e01c" (identifier "pcVar11") (+ "+") (number_literal "0x37e01c")) () ")")))) (+ "+") (number_literal "0x5668"))) (; ";")) (expression_statement "iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc;" (assignment_expression "iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc" (identifier "iVar6") (= "=") (binary_expression "*(int *)(pcVar11 + 0x37e01c) + 0x44bc" (pointer_expression "*(int *)(pcVar11 + 0x37e01c)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37e01c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37e01c)" (( "(") (binary_expression "pcVar11 + 0x37e01c" (identifier "pcVar11") (+ "+") (number_literal "0x37e01c")) () ")")))) (+ "+") (number_literal "0x44bc"))) (; ";")) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" (( "(") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar5 = *(int *)(iVar6 + 0x84);" (assignment_expression "iVar5 = *(int *)(iVar6 + 0x84)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar6 + 0x84)" (* "*") (cast_expression "(int *)(iVar6 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x84)" (( "(") (binary_expression "iVar6 + 0x84" (identifier "iVar6") (+ "+") (number_literal "0x84")) () ")"))))) (; ";")) (if_statement "if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }\n  else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }" (if "if") (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2))" (( "(") (binary_expression "uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" (identifier "uVar8") (< "<") (call_expression "(uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar6 + 0x88) - iVar5 >> 2)" (( "(") (binary_expression "*(int *)(iVar6 + 0x88) - iVar5 >> 2" (binary_expression "*(int *)(iVar6 + 0x88) - iVar5" (pointer_expression "*(int *)(iVar6 + 0x88)" (* "*") (cast_expression "(int *)(iVar6 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x88)" (( "(") (binary_expression "iVar6 + 0x88" (identifier "iVar6") (+ "+") (number_literal "0x88")) () ")")))) (- "-") (identifier "iVar5")) (>> ">>") (number_literal "2")) () ")")))) () ")")) (compound_statement "{\n    if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }\n    if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }\n  }" ({ "{") (if_statement "if ((iVar9 == -1) && (in_a3 == -1)) {\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }" (if "if") (parenthesized_expression "((iVar9 == -1) && (in_a3 == -1))" (( "(") (binary_expression "(iVar9 == -1) && (in_a3 == -1)" (parenthesized_expression "(iVar9 == -1)" (( "(") (binary_expression "iVar9 == -1" (identifier "iVar9") (== "==") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(in_a3 == -1)" (( "(") (binary_expression "in_a3 == -1" (identifier "in_a3") (== "==") (number_literal "-1")) () ")"))) () ")")) (compound_statement "{\n      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);\n      *puVar3 = 0xffffffff;\n      return CONCAT44(0xffffffff,puVar3);\n    }" ({ "{") (expression_statement "puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);" (assignment_expression "puVar3 = (undefined4 *)(iVar5 + uVar8 * 4)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(iVar5 + uVar8 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + uVar8 * 4)" (( "(") (binary_expression "iVar5 + uVar8 * 4" (identifier "iVar5") (+ "+") (binary_expression "uVar8 * 4" (identifier "uVar8") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "*puVar3 = 0xffffffff;" (assignment_expression "*puVar3 = 0xffffffff" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (number_literal "0xffffffff")) (; ";")) (return_statement "return CONCAT44(0xffffffff,puVar3);" (return "return") (call_expression "CONCAT44(0xffffffff,puVar3)" (identifier "CONCAT44") (argument_list "(0xffffffff,puVar3)" (( "(") (number_literal "0xffffffff") (, ",") (identifier "puVar3") () ")"))) (; ";")) (} "}"))) (if_statement "if (iVar9 == 0) {\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      piVar4 = (int *)(iVar5 + uVar8 * 4);\n      *piVar4 = in_a3;\n      return CONCAT44(0xffffffff,piVar4);\n    }" ({ "{") (expression_statement "piVar4 = (int *)(iVar5 + uVar8 * 4);" (assignment_expression "piVar4 = (int *)(iVar5 + uVar8 * 4)" (identifier "piVar4") (= "=") (cast_expression "(int *)(iVar5 + uVar8 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + uVar8 * 4)" (( "(") (binary_expression "iVar5 + uVar8 * 4" (identifier "iVar5") (+ "+") (binary_expression "uVar8 * 4" (identifier "uVar8") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "*piVar4 = in_a3;" (assignment_expression "*piVar4 = in_a3" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (identifier "in_a3")) (; ";")) (return_statement "return CONCAT44(0xffffffff,piVar4);" (return "return") (call_expression "CONCAT44(0xffffffff,piVar4)" (identifier "CONCAT44") (argument_list "(0xffffffff,piVar4)" (( "(") (number_literal "0xffffffff") (, ",") (identifier "piVar4") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }" (else "else") (compound_statement "{\n    (**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);" (call_expression "(**(code **)(pcVar12 + 0x37e124))\n              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4)" (parenthesized_expression "(**(code **)(pcVar12 + 0x37e124))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x37e124)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x37e124)" (* "*") (cast_expression "(code **)(pcVar12 + 0x37e124)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x37e124)" (( "(") (binary_expression "pcVar12 + 0x37e124" (identifier "pcVar12") (+ "+") (number_literal "0x37e124")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4)" (( "(") (binary_expression "*(int *)(pcVar12 + 0x37df6c) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37df6c)" (* "*") (cast_expression "(int *)(pcVar12 + 0x37df6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x37df6c)" (( "(") (binary_expression "pcVar12 + 0x37df6c" (identifier "pcVar12") (+ "+") (number_literal "0x37df6c")) () ")")))) (+ "+") (number_literal "0x44a8")) (, ",") (number_literal "0x81f") (, ",") (binary_expression "*(int *)(pcVar12 + 0x37df6c) + 0x53f4" (pointer_expression "*(int *)(pcVar12 + 0x37df6c)" (* "*") (cast_expression "(int *)(pcVar12 + 0x37df6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x37df6c)" (( "(") (binary_expression "pcVar12 + 0x37df6c" (identifier "pcVar12") (+ "+") (number_literal "0x37df6c")) () ")")))) (+ "+") (number_literal "0x53f4")) () ")"))) (; ";")) (} "}")))) (expression_statement "uVar8 = 0x70;" (assignment_expression "uVar8 = 0x70" (identifier "uVar8") (= "=") (number_literal "0x70")) (; ";")) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e124);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e124)" (identifier "pcVar11") (= "=") (pointer_expression "*(code **)(pcVar12 + 0x37e124)" (* "*") (cast_expression "(code **)(pcVar12 + 0x37e124)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x37e124)" (( "(") (binary_expression "pcVar12 + 0x37e124" (identifier "pcVar12") (+ "+") (number_literal "0x37e124")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668;" (assignment_expression "iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668" (identifier "iVar6") (= "=") (binary_expression "*(int *)(pcVar12 + 0x37df6c) + 0x5668" (pointer_expression "*(int *)(pcVar12 + 0x37df6c)" (* "*") (cast_expression "(int *)(pcVar12 + 0x37df6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x37df6c)" (( "(") (binary_expression "pcVar12 + 0x37df6c" (identifier "pcVar12") (+ "+") (number_literal "0x37df6c")) () ")")))) (+ "+") (number_literal "0x5668"))) (; ";")) (expression_statement "iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc;" (assignment_expression "iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc" (identifier "iVar5") (= "=") (binary_expression "*(int *)(pcVar12 + 0x37df6c) + 0x44bc" (pointer_expression "*(int *)(pcVar12 + 0x37df6c)" (* "*") (cast_expression "(int *)(pcVar12 + 0x37df6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x37df6c)" (( "(") (binary_expression "pcVar12 + 0x37df6c" (identifier "pcVar12") (+ "+") (number_literal "0x37df6c")) () ")")))) (+ "+") (number_literal "0x44bc"))) (; ";")) (expression_statement "(*pcVar11)();" (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" (( "(") (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);" (assignment_expression "bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (identifier "bVar1") (= "=") (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (identifier "uVar8") (< "<") (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (( "(") (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" (* "*") (cast_expression "(int *)(iVar5 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x88)" (( "(") (binary_expression "iVar5 + 0x88" (identifier "iVar5") (+ "+") (number_literal "0x88")) () ")")))) (- "-") (pointer_expression "*(int *)(iVar5 + 0x84)" (* "*") (cast_expression "(int *)(iVar5 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x84)" (( "(") (binary_expression "iVar5 + 0x84" (identifier "iVar5") (+ "+") (number_literal "0x84")) () ")"))))) (>> ">>") (number_literal "3")) () ")"))))) (; ";")) (if_statement "if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }" ({ "{") (expression_statement "piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);" (assignment_expression "piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" (identifier "piVar4") (= "=") (cast_expression "(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 8)" (( "(") (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 8" (pointer_expression "*(int *)(iVar5 + 0x84)" (* "*") (cast_expression "(int *)(iVar5 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x84)" (( "(") (binary_expression "iVar5 + 0x84" (identifier "iVar5") (+ "+") (number_literal "0x84")) () ")")))) (+ "+") (binary_expression "uVar8 * 8" (identifier "uVar8") (* "*") (number_literal "8"))) () ")")))) (; ";")) (expression_statement "piVar4[1] = in_a3;" (assignment_expression "piVar4[1] = in_a3" (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "in_a3")) (; ";")) (expression_statement "*piVar4 = iVar6;" (assignment_expression "*piVar4 = iVar6" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (identifier "iVar6")) (; ";")) (return_statement "return (ulonglong)CONCAT14(bVar1,piVar4);" (return "return") (cast_expression "(ulonglong)CONCAT14(bVar1,piVar4)" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (call_expression "CONCAT14(bVar1,piVar4)" (identifier "CONCAT14") (argument_list "(bVar1,piVar4)" (( "(") (identifier "bVar1") (, ",") (identifier "piVar4") () ")")))) (; ";")) (} "}"))) (expression_statement "uVar8 = 0x81f;" (assignment_expression "uVar8 = 0x81f" (identifier "uVar8") (= "=") (number_literal "0x81f")) (; ";")) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37e074);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37e074)" (identifier "pcVar12") (= "=") (pointer_expression "*(code **)(pcVar11 + 0x37e074)" (* "*") (cast_expression "(code **)(pcVar11 + 0x37e074)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x37e074)" (( "(") (binary_expression "pcVar11 + 0x37e074" (identifier "pcVar11") (+ "+") (number_literal "0x37e074")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60;" (assignment_expression "iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60" (identifier "iVar6") (= "=") (binary_expression "*(int *)(pcVar11 + 0x37debc) + 0x5d60" (pointer_expression "*(int *)(pcVar11 + 0x37debc)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37debc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37debc)" (( "(") (binary_expression "pcVar11 + 0x37debc" (identifier "pcVar11") (+ "+") (number_literal "0x37debc")) () ")")))) (+ "+") (number_literal "0x5d60"))) (; ";")) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8" (identifier "iVar5") (= "=") (binary_expression "*(int *)(pcVar11 + 0x37debc) + 0x44a8" (pointer_expression "*(int *)(pcVar11 + 0x37debc)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37debc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37debc)" (( "(") (binary_expression "pcVar11 + 0x37debc" (identifier "pcVar11") (+ "+") (number_literal "0x37debc")) () ")")))) (+ "+") (number_literal "0x44a8"))) (; ";")) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" (( "(") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);" (assignment_expression "bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (identifier "bVar1") (= "=") (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (identifier "uVar8") (< "<") (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (( "(") (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" (* "*") (cast_expression "(int *)(iVar5 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x88)" (( "(") (binary_expression "iVar5 + 0x88" (identifier "iVar5") (+ "+") (number_literal "0x88")) () ")")))) (- "-") (pointer_expression "*(int *)(iVar5 + 0x84)" (* "*") (cast_expression "(int *)(iVar5 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x84)" (( "(") (binary_expression "iVar5 + 0x84" (identifier "iVar5") (+ "+") (number_literal "0x84")) () ")"))))) (>> ">>") (number_literal "3")) () ")"))))) (; ";")) (if_statement "if (bVar1) {\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n    piVar4[1] = in_a3;\n    *piVar4 = iVar6;\n    return (ulonglong)CONCAT14(bVar1,piVar4);\n  }" ({ "{") (expression_statement "piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);" (assignment_expression "piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" (identifier "piVar4") (= "=") (cast_expression "(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 8)" (( "(") (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 8" (pointer_expression "*(int *)(iVar5 + 0x84)" (* "*") (cast_expression "(int *)(iVar5 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x84)" (( "(") (binary_expression "iVar5 + 0x84" (identifier "iVar5") (+ "+") (number_literal "0x84")) () ")")))) (+ "+") (binary_expression "uVar8 * 8" (identifier "uVar8") (* "*") (number_literal "8"))) () ")")))) (; ";")) (expression_statement "piVar4[1] = in_a3;" (assignment_expression "piVar4[1] = in_a3" (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "in_a3")) (; ";")) (expression_statement "*piVar4 = iVar6;" (assignment_expression "*piVar4 = iVar6" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (identifier "iVar6")) (; ";")) (return_statement "return (ulonglong)CONCAT14(bVar1,piVar4);" (return "return") (cast_expression "(ulonglong)CONCAT14(bVar1,piVar4)" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (call_expression "CONCAT14(bVar1,piVar4)" (identifier "CONCAT14") (argument_list "(bVar1,piVar4)" (( "(") (identifier "bVar1") (, ",") (identifier "piVar4") () ")")))) (; ";")) (} "}"))) (expression_statement "uVar8 = 0x81f;" (assignment_expression "uVar8 = 0x81f" (identifier "uVar8") (= "=") (number_literal "0x81f")) (; ";")) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37e014);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37e014)" (identifier "pcVar11") (= "=") (pointer_expression "*(code **)(pcVar12 + 0x37e014)" (* "*") (cast_expression "(code **)(pcVar12 + 0x37e014)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x37e014)" (( "(") (binary_expression "pcVar12 + 0x37e014" (identifier "pcVar12") (+ "+") (number_literal "0x37e014")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8" (identifier "iVar5") (= "=") (binary_expression "*(int *)(pcVar12 + 0x37de5c) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37de5c)" (* "*") (cast_expression "(int *)(pcVar12 + 0x37de5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x37de5c)" (( "(") (binary_expression "pcVar12 + 0x37de5c" (identifier "pcVar12") (+ "+") (number_literal "0x37de5c")) () ")")))) (+ "+") (number_literal "0x44a8"))) (; ";")) (expression_statement "(*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec);" (call_expression "(*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec)" (parenthesized_expression "(*pcVar11)" (( "(") (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) () ")")) (argument_list "(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec)" (( "(") (identifier "iVar5") (, ",") (number_literal "0x81f") (, ",") (binary_expression "*(int *)(pcVar12 + 0x37de5c) + 0x58ec" (pointer_expression "*(int *)(pcVar12 + 0x37de5c)" (* "*") (cast_expression "(int *)(pcVar12 + 0x37de5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x37de5c)" (( "(") (binary_expression "pcVar12 + 0x37de5c" (identifier "pcVar12") (+ "+") (number_literal "0x37de5c")) () ")")))) (+ "+") (number_literal "0x58ec")) () ")"))) (; ";")) (if_statement "if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }" (if "if") (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3))" (( "(") (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (identifier "uVar8") (< "<") (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (( "(") (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" (* "*") (cast_expression "(int *)(iVar5 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x88)" (( "(") (binary_expression "iVar5 + 0x88" (identifier "iVar5") (+ "+") (number_literal "0x88")) () ")")))) (- "-") (pointer_expression "*(int *)(iVar5 + 0x84)" (* "*") (cast_expression "(int *)(iVar5 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x84)" (( "(") (binary_expression "iVar5 + 0x84" (identifier "iVar5") (+ "+") (number_literal "0x84")) () ")"))))) (>> ">>") (number_literal "3")) () ")")))) () ")")) (compound_statement "{\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }" ({ "{") (return_statement "return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);" (return "return") (pointer_expression "*(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" (* "*") (cast_expression "(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" (( "(") (type_descriptor "ulonglong *" (type_identifier "ulonglong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 8)" (( "(") (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 8" (pointer_expression "*(int *)(iVar5 + 0x84)" (* "*") (cast_expression "(int *)(iVar5 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x84)" (( "(") (binary_expression "iVar5 + 0x84" (identifier "iVar5") (+ "+") (number_literal "0x84")) () ")")))) (+ "+") (binary_expression "uVar8 * 8" (identifier "uVar8") (* "*") (number_literal "8"))) () ")")))) (; ";")) (} "}"))) (expression_statement "uVar8 = 0x7f7;" (assignment_expression "uVar8 = 0x7f7" (identifier "uVar8") (= "=") (number_literal "0x7f7")) (; ";")) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37dfb4);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37dfb4)" (identifier "pcVar12") (= "=") (pointer_expression "*(code **)(pcVar11 + 0x37dfb4)" (* "*") (cast_expression "(code **)(pcVar11 + 0x37dfb4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x37dfb4)" (( "(") (binary_expression "pcVar11 + 0x37dfb4" (identifier "pcVar11") (+ "+") (number_literal "0x37dfb4")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8" (identifier "iVar5") (= "=") (binary_expression "*(int *)(pcVar11 + 0x37ddfc) + 0x44a8" (pointer_expression "*(int *)(pcVar11 + 0x37ddfc)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37ddfc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37ddfc)" (( "(") (binary_expression "pcVar11 + 0x37ddfc" (identifier "pcVar11") (+ "+") (number_literal "0x37ddfc")) () ")")))) (+ "+") (number_literal "0x44a8"))) (; ";")) (expression_statement "(*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec);" (call_expression "(*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec)" (parenthesized_expression "(*pcVar12)" (( "(") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) () ")")) (argument_list "(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec)" (( "(") (identifier "iVar5") (, ",") (number_literal "0x7f7") (, ",") (binary_expression "*(int *)(pcVar11 + 0x37ddfc) + 0x5aec" (pointer_expression "*(int *)(pcVar11 + 0x37ddfc)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37ddfc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37ddfc)" (( "(") (binary_expression "pcVar11 + 0x37ddfc" (identifier "pcVar11") (+ "+") (number_literal "0x37ddfc")) () ")")))) (+ "+") (number_literal "0x5aec")) () ")"))) (; ";")) (if_statement "if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }" (if "if") (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3))" (( "(") (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (identifier "uVar8") (< "<") (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)" (( "(") (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" (* "*") (cast_expression "(int *)(iVar5 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x88)" (( "(") (binary_expression "iVar5 + 0x88" (identifier "iVar5") (+ "+") (number_literal "0x88")) () ")")))) (- "-") (pointer_expression "*(int *)(iVar5 + 0x84)" (* "*") (cast_expression "(int *)(iVar5 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x84)" (( "(") (binary_expression "iVar5 + 0x84" (identifier "iVar5") (+ "+") (number_literal "0x84")) () ")"))))) (>> ">>") (number_literal "3")) () ")")))) () ")")) (compound_statement "{\n    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);\n  }" ({ "{") (return_statement "return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);" (return "return") (pointer_expression "*(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" (* "*") (cast_expression "(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8)" (( "(") (type_descriptor "ulonglong *" (type_identifier "ulonglong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 8)" (( "(") (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 8" (pointer_expression "*(int *)(iVar5 + 0x84)" (* "*") (cast_expression "(int *)(iVar5 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x84)" (( "(") (binary_expression "iVar5 + 0x84" (identifier "iVar5") (+ "+") (number_literal "0x84")) () ")")))) (+ "+") (binary_expression "uVar8 * 8" (identifier "uVar8") (* "*") (number_literal "8"))) () ")")))) (; ";")) (} "}"))) (expression_statement "uVar8 = 0x7f7;" (assignment_expression "uVar8 = 0x7f7" (identifier "uVar8") (= "=") (number_literal "0x7f7")) (; ";")) (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37df54);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37df54)" (identifier "pcVar11") (= "=") (pointer_expression "*(code **)(pcVar12 + 0x37df54)" (* "*") (cast_expression "(code **)(pcVar12 + 0x37df54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x37df54)" (( "(") (binary_expression "pcVar12 + 0x37df54" (identifier "pcVar12") (+ "+") (number_literal "0x37df54")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8" (identifier "iVar5") (= "=") (binary_expression "*(int *)(pcVar12 + 0x37dd9c) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37dd9c)" (* "*") (cast_expression "(int *)(pcVar12 + 0x37dd9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x37dd9c)" (( "(") (binary_expression "pcVar12 + 0x37dd9c" (identifier "pcVar12") (+ "+") (number_literal "0x37dd9c")) () ")")))) (+ "+") (number_literal "0x44a8"))) (; ";")) (expression_statement "(*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8);" (call_expression "(*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8)" (parenthesized_expression "(*pcVar11)" (( "(") (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) () ")")) (argument_list "(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8)" (( "(") (identifier "iVar5") (, ",") (number_literal "0x7f7") (, ",") (binary_expression "*(int *)(pcVar12 + 0x37dd9c) + 0x57b8" (pointer_expression "*(int *)(pcVar12 + 0x37dd9c)" (* "*") (cast_expression "(int *)(pcVar12 + 0x37dd9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x37dd9c)" (( "(") (binary_expression "pcVar12 + 0x37dd9c" (identifier "pcVar12") (+ "+") (number_literal "0x37dd9c")) () ")")))) (+ "+") (number_literal "0x57b8")) () ")"))) (; ";")) (if_statement "if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)) {\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }" (if "if") (parenthesized_expression "(uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2))" (( "(") (binary_expression "uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" (identifier "uVar8") (< "<") (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" (( "(") (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" (* "*") (cast_expression "(int *)(iVar5 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x88)" (( "(") (binary_expression "iVar5 + 0x88" (identifier "iVar5") (+ "+") (number_literal "0x88")) () ")")))) (- "-") (pointer_expression "*(int *)(iVar5 + 0x84)" (* "*") (cast_expression "(int *)(iVar5 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x84)" (( "(") (binary_expression "iVar5 + 0x84" (identifier "iVar5") (+ "+") (number_literal "0x84")) () ")"))))) (>> ">>") (number_literal "2")) () ")")))) () ")")) (compound_statement "{\n    uVar2 = 0xffffffff;\n    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);\n    if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }\n    return CONCAT44(uVar2,iVar5);\n  }" ({ "{") (expression_statement "uVar2 = 0xffffffff;" (assignment_expression "uVar2 = 0xffffffff" (identifier "uVar2") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);" (assignment_expression "iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 4)" (( "(") (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 4" (pointer_expression "*(int *)(iVar5 + 0x84)" (* "*") (cast_expression "(int *)(iVar5 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x84)" (( "(") (binary_expression "iVar5 + 0x84" (identifier "iVar5") (+ "+") (number_literal "0x84")) () ")")))) (+ "+") (binary_expression "uVar8 * 4" (identifier "uVar8") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar5 == -1) {\n      iVar5 = -1;\n    }\n    else {\n      uVar2 = 0;\n    }" (if "if") (parenthesized_expression "(iVar5 == -1)" (( "(") (binary_expression "iVar5 == -1" (identifier "iVar5") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n      iVar5 = -1;\n    }" ({ "{") (expression_statement "iVar5 = -1;" (assignment_expression "iVar5 = -1" (identifier "iVar5") (= "=") (number_literal "-1")) (; ";")) (} "}")) (else_clause "else {\n      uVar2 = 0;\n    }" (else "else") (compound_statement "{\n      uVar2 = 0;\n    }" ({ "{") (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (} "}")))) (return_statement "return CONCAT44(uVar2,iVar5);" (return "return") (call_expression "CONCAT44(uVar2,iVar5)" (identifier "CONCAT44") (argument_list "(uVar2,iVar5)" (( "(") (identifier "uVar2") (, ",") (identifier "iVar5") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar8 = 0x7f7;" (assignment_expression "uVar8 = 0x7f7" (identifier "uVar8") (= "=") (number_literal "0x7f7")) (; ";")) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x37def4);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x37def4)" (identifier "pcVar12") (= "=") (pointer_expression "*(code **)(pcVar11 + 0x37def4)" (* "*") (cast_expression "(code **)(pcVar11 + 0x37def4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x37def4)" (( "(") (binary_expression "pcVar11 + 0x37def4" (identifier "pcVar11") (+ "+") (number_literal "0x37def4")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8;" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8" (identifier "iVar5") (= "=") (binary_expression "*(int *)(pcVar11 + 0x37dd3c) + 0x44a8" (pointer_expression "*(int *)(pcVar11 + 0x37dd3c)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37dd3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37dd3c)" (( "(") (binary_expression "pcVar11 + 0x37dd3c" (identifier "pcVar11") (+ "+") (number_literal "0x37dd3c")) () ")")))) (+ "+") (number_literal "0x44a8"))) (; ";")) (expression_statement "(*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534);" (call_expression "(*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534)" (parenthesized_expression "(*pcVar12)" (( "(") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) () ")")) (argument_list "(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534)" (( "(") (identifier "iVar5") (, ",") (number_literal "0x7f7") (, ",") (binary_expression "*(int *)(pcVar11 + 0x37dd3c) + 0x5534" (pointer_expression "*(int *)(pcVar11 + 0x37dd3c)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37dd3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37dd3c)" (( "(") (binary_expression "pcVar11 + 0x37dd3c" (identifier "pcVar11") (+ "+") (number_literal "0x37dd3c")) () ")")))) (+ "+") (number_literal "0x5534")) () ")"))) (; ";")) (if_statement "if ((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8) {\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    \n                    \n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }" (if "if") (parenthesized_expression "((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8)" (( "(") (binary_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8" (call_expression "(uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)" (( "(") (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2" (binary_expression "*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84)" (pointer_expression "*(int *)(iVar5 + 0x88)" (* "*") (cast_expression "(int *)(iVar5 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x88)" (( "(") (binary_expression "iVar5 + 0x88" (identifier "iVar5") (+ "+") (number_literal "0x88")) () ")")))) (- "-") (pointer_expression "*(int *)(iVar5 + 0x84)" (* "*") (cast_expression "(int *)(iVar5 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x84)" (( "(") (binary_expression "iVar5 + 0x84" (identifier "iVar5") (+ "+") (number_literal "0x84")) () ")"))))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "uVar8")) () ")")) (compound_statement "{\n    pcVar11 = *(code **)(pcVar12 + 0x37de88);\n    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);\n    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);\n    iVar5 = *(int *)(pcVar11 + 0x37df34);\n    piVar4 = (int *)piVar7[1];\n    *piVar7 = iVar5 + 8;\n    if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }\n                    \n                    \n    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);\n    return uVar13;\n  }" ({ "{") (expression_statement "pcVar11 = *(code **)(pcVar12 + 0x37de88);" (assignment_expression "pcVar11 = *(code **)(pcVar12 + 0x37de88)" (identifier "pcVar11") (= "=") (pointer_expression "*(code **)(pcVar12 + 0x37de88)" (* "*") (cast_expression "(code **)(pcVar12 + 0x37de88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x37de88)" (( "(") (binary_expression "pcVar12 + 0x37de88" (identifier "pcVar12") (+ "+") (number_literal "0x37de88")) () ")"))))) (; ";")) (expression_statement "piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);" (assignment_expression "piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8)" (identifier "piVar7") (= "=") (cast_expression "(int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8)" (( "(") (binary_expression "*(int *)(pcVar12 + 0x37dcd0) + 0x44a8" (pointer_expression "*(int *)(pcVar12 + 0x37dcd0)" (* "*") (cast_expression "(int *)(pcVar12 + 0x37dcd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x37dcd0)" (( "(") (binary_expression "pcVar12 + 0x37dcd0" (identifier "pcVar12") (+ "+") (number_literal "0x37dcd0")) () ")")))) (+ "+") (number_literal "0x44a8")) () ")")))) (; ";")) (expression_statement "(*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);" (call_expression "(*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0)" (parenthesized_expression "(*pcVar11)" (( "(") (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) () ")")) (argument_list "(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0)" (( "(") (identifier "piVar7") (, ",") (number_literal "0x7f7") (, ",") (binary_expression "*(int *)(pcVar12 + 0x37dcd0) + 0x52c0" (pointer_expression "*(int *)(pcVar12 + 0x37dcd0)" (* "*") (cast_expression "(int *)(pcVar12 + 0x37dcd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x37dcd0)" (( "(") (binary_expression "pcVar12 + 0x37dcd0" (identifier "pcVar12") (+ "+") (number_literal "0x37dcd0")) () ")")))) (+ "+") (number_literal "0x52c0")) () ")"))) (; ";")) (expression_statement "iVar5 = *(int *)(pcVar11 + 0x37df34);" (assignment_expression "iVar5 = *(int *)(pcVar11 + 0x37df34)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcVar11 + 0x37df34)" (* "*") (cast_expression "(int *)(pcVar11 + 0x37df34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x37df34)" (( "(") (binary_expression "pcVar11 + 0x37df34" (identifier "pcVar11") (+ "+") (number_literal "0x37df34")) () ")"))))) (; ";")) (expression_statement "piVar4 = (int *)piVar7[1];" (assignment_expression "piVar4 = (int *)piVar7[1]" (identifier "piVar4") (= "=") (cast_expression "(int *)piVar7[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar7[1]" (identifier "piVar7") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "*piVar7 = iVar5 + 8;" (assignment_expression "*piVar7 = iVar5 + 8" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (= "=") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8"))) (; ";")) (if_statement "if (piVar4 == piVar7 + 3) {\n      return CONCAT44(iVar5 + 8,piVar4);\n    }" (if "if") (parenthesized_expression "(piVar4 == piVar7 + 3)" (( "(") (binary_expression "piVar4 == piVar7 + 3" (identifier "piVar4") (== "==") (binary_expression "piVar7 + 3" (identifier "piVar7") (+ "+") (number_literal "3"))) () ")")) (compound_statement "{\n      return CONCAT44(iVar5 + 8,piVar4);\n    }" ({ "{") (return_statement "return CONCAT44(iVar5 + 8,piVar4);" (return "return") (call_expression "CONCAT44(iVar5 + 8,piVar4)" (identifier "CONCAT44") (argument_list "(iVar5 + 8,piVar4)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) (, ",") (identifier "piVar4") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);" (assignment_expression "uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4)" (identifier "uVar13") (= "=") (call_expression "(**(code **)(pcVar11 + 0x37dce4))(piVar4)" (parenthesized_expression "(**(code **)(pcVar11 + 0x37dce4))" (( "(") (pointer_expression "**(code **)(pcVar11 + 0x37dce4)" (* "*") (pointer_expression "*(code **)(pcVar11 + 0x37dce4)" (* "*") (cast_expression "(code **)(pcVar11 + 0x37dce4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x37dce4)" (( "(") (binary_expression "pcVar11 + 0x37dce4" (identifier "pcVar11") (+ "+") (number_literal "0x37dce4")) () ")"))))) () ")")) (argument_list "(piVar4)" (( "(") (identifier "piVar4") () ")")))) (; ";")) (return_statement "return uVar13;" (return "return") (identifier "uVar13") (; ";")) (} "}"))) (expression_statement "uVar2 = 0xffffffff;" (assignment_expression "uVar2 = 0xffffffff" (identifier "uVar2") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);" (assignment_expression "iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + 0x84) + uVar8 * 4)" (( "(") (binary_expression "*(int *)(iVar5 + 0x84) + uVar8 * 4" (pointer_expression "*(int *)(iVar5 + 0x84)" (* "*") (cast_expression "(int *)(iVar5 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x84)" (( "(") (binary_expression "iVar5 + 0x84" (identifier "iVar5") (+ "+") (number_literal "0x84")) () ")")))) (+ "+") (binary_expression "uVar8 * 4" (identifier "uVar8") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar5 == -1) {\n    iVar5 = -1;\n  }\n  else {\n    uVar2 = 0;\n  }" (if "if") (parenthesized_expression "(iVar5 == -1)" (( "(") (binary_expression "iVar5 == -1" (identifier "iVar5") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n    iVar5 = -1;\n  }" ({ "{") (expression_statement "iVar5 = -1;" (assignment_expression "iVar5 = -1" (identifier "iVar5") (= "=") (number_literal "-1")) (; ";")) (} "}")) (else_clause "else {\n    uVar2 = 0;\n  }" (else "else") (compound_statement "{\n    uVar2 = 0;\n  }" ({ "{") (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (} "}")))) (return_statement "return CONCAT44(uVar2,iVar5);" (return "return") (call_expression "CONCAT44(uVar2,iVar5)" (identifier "CONCAT44") (argument_list "(uVar2,iVar5)" (( "(") (identifier "uVar2") (, ",") (identifier "iVar5") () ")"))) (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (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 (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (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) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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)) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (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: (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (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: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (return_statement (call_expression function: (identifier) arguments: (argument_list (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: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (return_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (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 (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (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: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (return_statement (call_expression function: (identifier) arguments: (argument_list (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: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (return_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (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 (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: (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: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (return_statement (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (return_statement (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)))))) consequence: (compound_statement (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)))))) consequence: (compound_statement (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (return_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)))) right: (identifier))) 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: (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) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (return_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (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))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (return_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))))

ulonglong MASKED(void)

{
  bool bVar1;
  undefined4 uVar2;
  undefined4 *puVar3;
  int *piVar4;
  int iVar5;
  int iVar6;
  int *piVar7;
  uint uVar8;
  int iVar9;
  int in_a3;
  undefined *puVar10;
  code *pcVar11;
  code *pcVar12;
  ulonglong uVar13;
  
  puVar10 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)
            (PTR_LAB_0043220c + 0x4494,0x14a,PTR_LAB_0043220c + 0x522c);
  pcVar11 = *(code **)(puVar10 + 0x37e368);
  (*pcVar11)(*(int *)(puVar10 + 0x37e1b0) + 0x4494,0x145,*(int *)(puVar10 + 0x37e1b0) + 0x5218);
  pcVar12 = *(code **)(pcVar11 + 0x37e334);
  (*pcVar12)(*(int *)(pcVar11 + 0x37e17c) + 0x4494,0x140,*(int *)(pcVar11 + 0x37e17c) + 0x51fc);
  pcVar11 = *(code **)(pcVar12 + 0x37e300);
  (*pcVar11)(*(int *)(pcVar12 + 0x37e148) + 0x4494,0x13a,*(int *)(pcVar12 + 0x37e148) + 0x51e0);
  pcVar12 = *(code **)(pcVar11 + 0x37e2cc);
  (*pcVar12)(*(int *)(pcVar11 + 0x37e114) + 0x4494,0x135,*(int *)(pcVar11 + 0x37e114) + 0x51d0);
  pcVar11 = *(code **)(pcVar12 + 0x37e298);
  (*pcVar11)(*(int *)(pcVar12 + 0x37e0e0) + 0x4494,0x12a,*(int *)(pcVar12 + 0x37e0e0) + 0x51c4);
  uVar8 = 0x125;
  pcVar12 = *(code **)(pcVar11 + 0x37e264);
  iVar5 = *(int *)(pcVar11 + 0x37e0ac) + 0x4494;
  (*pcVar12)(iVar5,0x125,*(int *)(pcVar11 + 0x37e0ac) + 0x51b4);
  if (uVar8 < (uint)(*(int *)(iVar5 + 0x3c) - *(int *)(iVar5 + 0x38) >> 2)) {
    puVar3 = (undefined4 *)(*(int *)(iVar5 + 0x38) + uVar8 * 4);
    return CONCAT44(*puVar3,puVar3);
  }
  uVar8 = 0x5c8;
  pcVar11 = *(code **)(pcVar12 + 0x37e230);
  iVar9 = *(int *)(pcVar12 + 0x37e078) + 0x5a90;
  iVar6 = *(int *)(pcVar12 + 0x37e078) + 0x44a8;
  (*pcVar11)();
  iVar5 = *(int *)(iVar6 + 0x84);
  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {
    if ((iVar9 == -1) && (in_a3 == -1)) {
      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);
      *puVar3 = 0xffffffff;
      return CONCAT44(0xffffffff,puVar3);
    }
    if (iVar9 == 0) {
      piVar4 = (int *)(iVar5 + uVar8 * 4);
      *piVar4 = in_a3;
      return CONCAT44(0xffffffff,piVar4);
    }
  }
  else {
    (**(code **)(pcVar11 + 0x37e1d4))
              (*(int *)(pcVar11 + 0x37e01c) + 0x44a8,0x81f,*(int *)(pcVar11 + 0x37e01c) + 0x5678);
  }
  uVar8 = 0x70;
  pcVar12 = *(code **)(pcVar11 + 0x37e1d4);
  iVar9 = *(int *)(pcVar11 + 0x37e01c) + 0x5668;
  iVar6 = *(int *)(pcVar11 + 0x37e01c) + 0x44bc;
  (*pcVar12)();
  iVar5 = *(int *)(iVar6 + 0x84);
  if (uVar8 < (uint)(*(int *)(iVar6 + 0x88) - iVar5 >> 2)) {
    if ((iVar9 == -1) && (in_a3 == -1)) {
      puVar3 = (undefined4 *)(iVar5 + uVar8 * 4);
      *puVar3 = 0xffffffff;
      return CONCAT44(0xffffffff,puVar3);
    }
    if (iVar9 == 0) {
      piVar4 = (int *)(iVar5 + uVar8 * 4);
      *piVar4 = in_a3;
      return CONCAT44(0xffffffff,piVar4);
    }
  }
  else {
    (**(code **)(pcVar12 + 0x37e124))
              (*(int *)(pcVar12 + 0x37df6c) + 0x44a8,0x81f,*(int *)(pcVar12 + 0x37df6c) + 0x53f4);
  }
  uVar8 = 0x70;
  pcVar11 = *(code **)(pcVar12 + 0x37e124);
  iVar6 = *(int *)(pcVar12 + 0x37df6c) + 0x5668;
  iVar5 = *(int *)(pcVar12 + 0x37df6c) + 0x44bc;
  (*pcVar11)();
  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);
  if (bVar1) {
    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);
    piVar4[1] = in_a3;
    *piVar4 = iVar6;
    return (ulonglong)CONCAT14(bVar1,piVar4);
  }
  uVar8 = 0x81f;
  pcVar12 = *(code **)(pcVar11 + 0x37e074);
  iVar6 = *(int *)(pcVar11 + 0x37debc) + 0x5d60;
  iVar5 = *(int *)(pcVar11 + 0x37debc) + 0x44a8;
  (*pcVar12)();
  bVar1 = uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3);
  if (bVar1) {
    piVar4 = (int *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);
    piVar4[1] = in_a3;
    *piVar4 = iVar6;
    return (ulonglong)CONCAT14(bVar1,piVar4);
  }
  uVar8 = 0x81f;
  pcVar11 = *(code **)(pcVar12 + 0x37e014);
  iVar5 = *(int *)(pcVar12 + 0x37de5c) + 0x44a8;
  (*pcVar11)(iVar5,0x81f,*(int *)(pcVar12 + 0x37de5c) + 0x58ec);
  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {
    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);
  }
  uVar8 = 0x7f7;
  pcVar12 = *(code **)(pcVar11 + 0x37dfb4);
  iVar5 = *(int *)(pcVar11 + 0x37ddfc) + 0x44a8;
  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37ddfc) + 0x5aec);
  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 3)) {
    return *(ulonglong *)(*(int *)(iVar5 + 0x84) + uVar8 * 8);
  }
  uVar8 = 0x7f7;
  pcVar11 = *(code **)(pcVar12 + 0x37df54);
  iVar5 = *(int *)(pcVar12 + 0x37dd9c) + 0x44a8;
  (*pcVar11)(iVar5,0x7f7,*(int *)(pcVar12 + 0x37dd9c) + 0x57b8);
  if (uVar8 < (uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2)) {
    uVar2 = 0xffffffff;
    iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);
    if (iVar5 == -1) {
      iVar5 = -1;
    }
    else {
      uVar2 = 0;
    }
    return CONCAT44(uVar2,iVar5);
  }
  uVar8 = 0x7f7;
  pcVar12 = *(code **)(pcVar11 + 0x37def4);
  iVar5 = *(int *)(pcVar11 + 0x37dd3c) + 0x44a8;
  (*pcVar12)(iVar5,0x7f7,*(int *)(pcVar11 + 0x37dd3c) + 0x5534);
  if ((uint)(*(int *)(iVar5 + 0x88) - *(int *)(iVar5 + 0x84) >> 2) <= uVar8) {
    pcVar11 = *(code **)(pcVar12 + 0x37de88);
    piVar7 = (int *)(*(int *)(pcVar12 + 0x37dcd0) + 0x44a8);
    (*pcVar11)(piVar7,0x7f7,*(int *)(pcVar12 + 0x37dcd0) + 0x52c0);
    iVar5 = *(int *)(pcVar11 + 0x37df34);
    piVar4 = (int *)piVar7[1];
    *piVar7 = iVar5 + 8;
    if (piVar4 == piVar7 + 3) {
      return CONCAT44(iVar5 + 8,piVar4);
    }
                    /* WARNING: Could not recover jumptable at 0x000b45d0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    uVar13 = (**(code **)(pcVar11 + 0x37dce4))(piVar4);
    return uVar13;
  }
  uVar2 = 0xffffffff;
  iVar5 = *(int *)(*(int *)(iVar5 + 0x84) + uVar8 * 4);
  if (iVar5 == -1) {
    iVar5 = -1;
  }
  else {
    uVar2 = 0;
  }
  return CONCAT44(uVar2,iVar5);
}

