
/* DWARF original prototype: void do_for_all_local_got_entries(Sized_pluginobj<32,_false> * this,
   Visitor * param_1) */

void __thiscall
gold::Sized_pluginobj<32,_false>::do_for_all_local_got_entries
          (Sized_pluginobj<32,_false> *this,Visitor *param_1)

{
  undefined4 *puVar1;
  int *piVar2;
  int iVar3;
  undefined4 uVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  undefined *puVar8;
  code *pcVar9;
  code *pcVar10;
  undefined1 auStack_220 [4];
  undefined4 uStack_21c;
  int aiStack_218 [2];
  int iStack_210;
  int *piStack_208;
  
  puVar8 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)
            (PTR_s__0043226c + -0x7b3c,0x5fd,PTR_s__0043226c + -0x7768);
  pcVar9 = *(code **)(puVar8 + 0x2487e8);
  (*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774);
  pcVar10 = *(code **)(pcVar9 + 0x2487b4);
  (*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784);
  pcVar9 = *(code **)(pcVar10 + 0x248780);
  (*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c);
  pcVar10 = *(code **)(pcVar9 + 0x24874c);
  (*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4);
  pcVar9 = *(code **)(pcVar10 + 0x248718);
  (*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4);
  pcVar10 = *(code **)(pcVar9 + 0x2486e4);
  (*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4);
  pcVar9 = *(code **)(pcVar10 + 0x2486b0);
  (*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8);
  pcVar10 = *(code **)(pcVar9 + 0x24867c);
  (*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc);
  pcVar9 = *(code **)(pcVar10 + 0x248648);
  (*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810);
  pcVar10 = *(code **)(pcVar9 + 0x248614);
  (*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824);
  pcVar9 = *(code **)(pcVar10 + 0x2485e0);
  (*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844);
  pcVar10 = *(code **)(pcVar9 + 0x2485ac);
  (*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850);
  pcVar9 = *(code **)(pcVar10 + 0x248578);
  piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c);
  (*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860);
  iVar3 = piVar2[9];
  *piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8;
  if (iVar3 == 0) {
LAB_001e9ef0:
    *piVar2 = *(int *)(pcVar9 + 0x249368) + 8;
    if ((int *)piVar2[2] == piVar2 + 4) {
      return;
    }
                    /* WARNING: Could not recover jumptable at 0x001e9f14. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(pcVar9 + 0x24840c))();
    return;
  }
  uVar4 = 100;
  if (*(int *)(iVar3 + 4) == 0) {
    if (*(int *)(iVar3 + 8) == 0) {
      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {
        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);
        goto LAB_001e9ef0;
      }
      (**(code **)(pcVar9 + 0x248544))
                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);
    }
    uVar4 = 0x65;
  }
  pcVar10 = *(code **)(pcVar9 + 0x248544);
  iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894;
  iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0;
  (*pcVar10)(iVar3,uVar4,iVar5);
  iVar6 = *(int *)(iVar3 + 0x38);
  aiStack_218[0] = 0;
  uStack_21c = 0;
  if (0 < iVar6) {
    iVar7 = 0;
    piStack_208 = piVar2;
    do {
      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);
      if (1 < puVar1[2] - 2) {
        iStack_210 = (**(code **)(pcVar10 + 0x24a450))
                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,
                                &uStack_21c);
        if (iStack_210 == 1) {
          if (aiStack_218[0] == 0) {
            return;
          }
          (**(code **)(pcVar10 + 0x24c8a0))();
          return;
        }
        iVar6 = *(int *)(iVar3 + 0x38);
      }
      iVar7 = iVar7 + 1;
    } while (iVar7 < iVar6);
    if (aiStack_218[0] != 0) {
      (**(code **)(pcVar10 + 0x24c8a0))();
      return;
    }
  }
  return;
}



int FUN_001e9ba8(void)

{
  undefined4 *puVar1;
  int *piVar2;
  int iVar3;
  undefined4 uVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  undefined *puVar8;
  code *pcVar9;
  code *pcVar10;
  undefined1 auStack_220 [4];
  undefined4 uStack_21c;
  int aiStack_218 [2];
  int iStack_210;
  int *piStack_208;
  
  puVar8 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)
            (PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768);
  pcVar9 = *(code **)(puVar8 + 0x2487e8);
  (*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774);
  pcVar10 = *(code **)(pcVar9 + 0x2487b4);
  (*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784);
  pcVar9 = *(code **)(pcVar10 + 0x248780);
  (*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c);
  pcVar10 = *(code **)(pcVar9 + 0x24874c);
  (*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4);
  pcVar9 = *(code **)(pcVar10 + 0x248718);
  (*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4);
  pcVar10 = *(code **)(pcVar9 + 0x2486e4);
  (*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4);
  pcVar9 = *(code **)(pcVar10 + 0x2486b0);
  (*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8);
  pcVar10 = *(code **)(pcVar9 + 0x24867c);
  (*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc);
  pcVar9 = *(code **)(pcVar10 + 0x248648);
  (*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810);
  pcVar10 = *(code **)(pcVar9 + 0x248614);
  (*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824);
  pcVar9 = *(code **)(pcVar10 + 0x2485e0);
  (*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844);
  pcVar10 = *(code **)(pcVar9 + 0x2485ac);
  (*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850);
  pcVar9 = *(code **)(pcVar10 + 0x248578);
  piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c);
  (*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860);
  iVar3 = piVar2[9];
  *piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8;
  if (iVar3 == 0) {
LAB_001e9ef0:
    iVar3 = *(int *)(pcVar9 + 0x249368);
    *piVar2 = iVar3 + 8;
    if ((int *)piVar2[2] == piVar2 + 4) {
      return iVar3 + 8;
    }
                    /* WARNING: Could not recover jumptable at 0x001e9f14. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    iVar3 = (**(code **)(pcVar9 + 0x24840c))();
    return iVar3;
  }
  uVar4 = 100;
  if (*(int *)(iVar3 + 4) == 0) {
    if (*(int *)(iVar3 + 8) == 0) {
      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {
        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);
        goto LAB_001e9ef0;
      }
      (**(code **)(pcVar9 + 0x248544))
                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);
    }
    uVar4 = 0x65;
  }
  pcVar10 = *(code **)(pcVar9 + 0x248544);
  iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894;
  iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0;
  (*pcVar10)(iVar3,uVar4,iVar5);
  iVar6 = *(int *)(iVar3 + 0x38);
  aiStack_218[0] = 0;
  uStack_21c = 0;
  if (0 < iVar6) {
    iVar7 = 0;
    piStack_208 = piVar2;
    do {
      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);
      if (1 < puVar1[2] - 2) {
        iStack_210 = (**(code **)(pcVar10 + 0x24a450))
                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,
                                &uStack_21c);
        if (iStack_210 == 1) {
          if (aiStack_218[0] == 0) {
            return 1;
          }
          (**(code **)(pcVar10 + 0x24c8a0))();
          return iStack_210;
        }
        iVar6 = *(int *)(iVar3 + 0x38);
      }
      iVar7 = iVar7 + 1;
    } while (iVar7 < iVar6);
    if (aiStack_218[0] != 0) {
      (**(code **)(pcVar10 + 0x24c8a0))();
      return 2;
    }
  }
  return 2;
}


lui gp,0x25
addiu gp,gp,0x628
addu gp,gp,t9
lw a2,-0x7f64(gp)
addiu sp,sp,-0x20
lw a0,-0x7f64(gp)
li a1,0x5fd
lw t9,-0x7e0c(gp)
addiu a2,a2,-0x7768
sw gp,0x10(sp)
sw ra,0x1c(sp)
jalr t9
_addiu a0,a0,-0x7b3c
(translation_unit "int FUN_001e9ba8(void)\n\n{\n  undefined4 *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  undefined1 auStack_220 [4];\n  undefined4 uStack_21c;\n  int aiStack_218 [2];\n  int iStack_210;\n  int *piStack_208;\n  \n  puVar8 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768);\n  pcVar9 = *(code **)(puVar8 + 0x2487e8);\n  (*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774);\n  pcVar10 = *(code **)(pcVar9 + 0x2487b4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784);\n  pcVar9 = *(code **)(pcVar10 + 0x248780);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c);\n  pcVar10 = *(code **)(pcVar9 + 0x24874c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4);\n  pcVar9 = *(code **)(pcVar10 + 0x248718);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4);\n  pcVar10 = *(code **)(pcVar9 + 0x2486e4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4);\n  pcVar9 = *(code **)(pcVar10 + 0x2486b0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8);\n  pcVar10 = *(code **)(pcVar9 + 0x24867c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc);\n  pcVar9 = *(code **)(pcVar10 + 0x248648);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810);\n  pcVar10 = *(code **)(pcVar9 + 0x248614);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824);\n  pcVar9 = *(code **)(pcVar10 + 0x2485e0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844);\n  pcVar10 = *(code **)(pcVar9 + 0x2485ac);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850);\n  pcVar9 = *(code **)(pcVar10 + 0x248578);\n  piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c);\n  (*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860);\n  iVar3 = piVar2[9];\n  *piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8;\n  if (iVar3 == 0) {\nLAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);\n    *piVar2 = iVar3 + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }\n                    /* WARNING: Could not recover jumptable at 0x001e9f14. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar3 = (**(code **)(pcVar9 + 0x24840c))();\n    return iVar3;\n  }\n  uVar4 = 100;\n  if (*(int *)(iVar3 + 4) == 0) {\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }\n  pcVar10 = *(code **)(pcVar9 + 0x248544);\n  iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894;\n  iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0;\n  (*pcVar10)(iVar3,uVar4,iVar5);\n  iVar6 = *(int *)(iVar3 + 0x38);\n  aiStack_218[0] = 0;\n  uStack_21c = 0;\n  if (0 < iVar6) {\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }\n  }\n  return 2;\n}\n\n" (function_definition "int FUN_001e9ba8(void)\n\n{\n  undefined4 *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  undefined1 auStack_220 [4];\n  undefined4 uStack_21c;\n  int aiStack_218 [2];\n  int iStack_210;\n  int *piStack_208;\n  \n  puVar8 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768);\n  pcVar9 = *(code **)(puVar8 + 0x2487e8);\n  (*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774);\n  pcVar10 = *(code **)(pcVar9 + 0x2487b4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784);\n  pcVar9 = *(code **)(pcVar10 + 0x248780);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c);\n  pcVar10 = *(code **)(pcVar9 + 0x24874c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4);\n  pcVar9 = *(code **)(pcVar10 + 0x248718);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4);\n  pcVar10 = *(code **)(pcVar9 + 0x2486e4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4);\n  pcVar9 = *(code **)(pcVar10 + 0x2486b0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8);\n  pcVar10 = *(code **)(pcVar9 + 0x24867c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc);\n  pcVar9 = *(code **)(pcVar10 + 0x248648);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810);\n  pcVar10 = *(code **)(pcVar9 + 0x248614);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824);\n  pcVar9 = *(code **)(pcVar10 + 0x2485e0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844);\n  pcVar10 = *(code **)(pcVar9 + 0x2485ac);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850);\n  pcVar9 = *(code **)(pcVar10 + 0x248578);\n  piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c);\n  (*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860);\n  iVar3 = piVar2[9];\n  *piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8;\n  if (iVar3 == 0) {\nLAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);\n    *piVar2 = iVar3 + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }\n                    /* WARNING: Could not recover jumptable at 0x001e9f14. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar3 = (**(code **)(pcVar9 + 0x24840c))();\n    return iVar3;\n  }\n  uVar4 = 100;\n  if (*(int *)(iVar3 + 4) == 0) {\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }\n  pcVar10 = *(code **)(pcVar9 + 0x248544);\n  iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894;\n  iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0;\n  (*pcVar10)(iVar3,uVar4,iVar5);\n  iVar6 = *(int *)(iVar3 + 0x38);\n  aiStack_218[0] = 0;\n  uStack_21c = 0;\n  if (0 < iVar6) {\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }\n  }\n  return 2;\n}" primitive_type (function_declarator "FUN_001e9ba8(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  undefined1 auStack_220 [4];\n  undefined4 uStack_21c;\n  int aiStack_218 [2];\n  int iStack_210;\n  int *piStack_208;\n  \n  puVar8 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768);\n  pcVar9 = *(code **)(puVar8 + 0x2487e8);\n  (*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774);\n  pcVar10 = *(code **)(pcVar9 + 0x2487b4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784);\n  pcVar9 = *(code **)(pcVar10 + 0x248780);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c);\n  pcVar10 = *(code **)(pcVar9 + 0x24874c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4);\n  pcVar9 = *(code **)(pcVar10 + 0x248718);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4);\n  pcVar10 = *(code **)(pcVar9 + 0x2486e4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4);\n  pcVar9 = *(code **)(pcVar10 + 0x2486b0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8);\n  pcVar10 = *(code **)(pcVar9 + 0x24867c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc);\n  pcVar9 = *(code **)(pcVar10 + 0x248648);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810);\n  pcVar10 = *(code **)(pcVar9 + 0x248614);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824);\n  pcVar9 = *(code **)(pcVar10 + 0x2485e0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844);\n  pcVar10 = *(code **)(pcVar9 + 0x2485ac);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850);\n  pcVar9 = *(code **)(pcVar10 + 0x248578);\n  piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c);\n  (*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860);\n  iVar3 = piVar2[9];\n  *piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8;\n  if (iVar3 == 0) {\nLAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);\n    *piVar2 = iVar3 + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }\n                    /* WARNING: Could not recover jumptable at 0x001e9f14. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar3 = (**(code **)(pcVar9 + 0x24840c))();\n    return iVar3;\n  }\n  uVar4 = 100;\n  if (*(int *)(iVar3 + 4) == 0) {\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }\n  pcVar10 = *(code **)(pcVar9 + 0x248544);\n  iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894;\n  iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0;\n  (*pcVar10)(iVar3,uVar4,iVar5);\n  iVar6 = *(int *)(iVar3 + 0x38);\n  aiStack_218[0] = 0;\n  uStack_21c = 0;\n  if (0 < iVar6) {\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }\n  }\n  return 2;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined1 auStack_220 [4];" type_identifier (array_declarator "auStack_220 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_21c;" type_identifier identifier ;) (declaration "int aiStack_218 [2];" primitive_type (array_declarator "aiStack_218 [2]" identifier [ number_literal ]) ;) (declaration "int iStack_210;" primitive_type identifier ;) (declaration "int *piStack_208;" primitive_type (pointer_declarator "*piStack_208" * identifier) ;) (expression_statement "puVar8 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar8 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768)" ( (binary_expression "PTR_DAT_0043226c + -0x7b3c" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + -0x7768" identifier + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(puVar8 + 0x2487e8);" (assignment_expression "pcVar9 = *(code **)(puVar8 + 0x2487e8)" identifier = (pointer_expression "*(code **)(puVar8 + 0x2487e8)" * (cast_expression "(code **)(puVar8 + 0x2487e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2487e8)" ( (binary_expression "puVar8 + 0x2487e8" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774);" (call_expression "(*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774)" ( (binary_expression "*(int *)(puVar8 + 0x248690) + -0x7b3c" (pointer_expression "*(int *)(puVar8 + 0x248690)" * (cast_expression "(int *)(puVar8 + 0x248690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x248690)" ( (binary_expression "puVar8 + 0x248690" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar8 + 0x248690) + -0x7774" (pointer_expression "*(int *)(puVar8 + 0x248690)" * (cast_expression "(int *)(puVar8 + 0x248690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x248690)" ( (binary_expression "puVar8 + 0x248690" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x2487b4);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x2487b4)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x2487b4)" * (cast_expression "(code **)(pcVar9 + 0x2487b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2487b4)" ( (binary_expression "pcVar9 + 0x2487b4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784)" ( (binary_expression "*(int *)(pcVar9 + 0x24865c) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x24865c)" * (cast_expression "(int *)(pcVar9 + 0x24865c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24865c)" ( (binary_expression "pcVar9 + 0x24865c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x24865c) + -0x7784" (pointer_expression "*(int *)(pcVar9 + 0x24865c)" * (cast_expression "(int *)(pcVar9 + 0x24865c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24865c)" ( (binary_expression "pcVar9 + 0x24865c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x248780);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x248780)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x248780)" * (cast_expression "(code **)(pcVar10 + 0x248780)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x248780)" ( (binary_expression "pcVar10 + 0x248780" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c)" ( (binary_expression "*(int *)(pcVar10 + 0x248628) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x248628)" * (cast_expression "(int *)(pcVar10 + 0x248628)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248628)" ( (binary_expression "pcVar10 + 0x248628" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x248628) + -0x779c" (pointer_expression "*(int *)(pcVar10 + 0x248628)" * (cast_expression "(int *)(pcVar10 + 0x248628)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248628)" ( (binary_expression "pcVar10 + 0x248628" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x24874c);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x24874c)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x24874c)" * (cast_expression "(code **)(pcVar9 + 0x24874c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x24874c)" ( (binary_expression "pcVar9 + 0x24874c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4)" ( (binary_expression "*(int *)(pcVar9 + 0x2485f4) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x2485f4)" * (cast_expression "(int *)(pcVar9 + 0x2485f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2485f4)" ( (binary_expression "pcVar9 + 0x2485f4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x2485f4) + -0x77b4" (pointer_expression "*(int *)(pcVar9 + 0x2485f4)" * (cast_expression "(int *)(pcVar9 + 0x2485f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2485f4)" ( (binary_expression "pcVar9 + 0x2485f4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x248718);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x248718)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x248718)" * (cast_expression "(code **)(pcVar10 + 0x248718)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x248718)" ( (binary_expression "pcVar10 + 0x248718" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4)" ( (binary_expression "*(int *)(pcVar10 + 0x2485c0) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x2485c0)" * (cast_expression "(int *)(pcVar10 + 0x2485c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x2485c0)" ( (binary_expression "pcVar10 + 0x2485c0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x2485c0) + -0x77c4" (pointer_expression "*(int *)(pcVar10 + 0x2485c0)" * (cast_expression "(int *)(pcVar10 + 0x2485c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x2485c0)" ( (binary_expression "pcVar10 + 0x2485c0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x2486e4);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x2486e4)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x2486e4)" * (cast_expression "(code **)(pcVar9 + 0x2486e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2486e4)" ( (binary_expression "pcVar9 + 0x2486e4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4)" ( (binary_expression "*(int *)(pcVar9 + 0x24858c) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x24858c)" * (cast_expression "(int *)(pcVar9 + 0x24858c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24858c)" ( (binary_expression "pcVar9 + 0x24858c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x24858c) + -0x77d4" (pointer_expression "*(int *)(pcVar9 + 0x24858c)" * (cast_expression "(int *)(pcVar9 + 0x24858c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24858c)" ( (binary_expression "pcVar9 + 0x24858c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x2486b0);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x2486b0)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x2486b0)" * (cast_expression "(code **)(pcVar10 + 0x2486b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x2486b0)" ( (binary_expression "pcVar10 + 0x2486b0" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8)" ( (binary_expression "*(int *)(pcVar10 + 0x248558) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x248558)" * (cast_expression "(int *)(pcVar10 + 0x248558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248558)" ( (binary_expression "pcVar10 + 0x248558" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x248558) + -0x77e8" (pointer_expression "*(int *)(pcVar10 + 0x248558)" * (cast_expression "(int *)(pcVar10 + 0x248558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248558)" ( (binary_expression "pcVar10 + 0x248558" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x24867c);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x24867c)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x24867c)" * (cast_expression "(code **)(pcVar9 + 0x24867c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x24867c)" ( (binary_expression "pcVar9 + 0x24867c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc)" ( (binary_expression "*(int *)(pcVar9 + 0x248524) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x248524)" * (cast_expression "(int *)(pcVar9 + 0x248524)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x248524)" ( (binary_expression "pcVar9 + 0x248524" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x248524) + -0x77fc" (pointer_expression "*(int *)(pcVar9 + 0x248524)" * (cast_expression "(int *)(pcVar9 + 0x248524)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x248524)" ( (binary_expression "pcVar9 + 0x248524" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x248648);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x248648)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x248648)" * (cast_expression "(code **)(pcVar10 + 0x248648)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x248648)" ( (binary_expression "pcVar10 + 0x248648" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810)" ( (binary_expression "*(int *)(pcVar10 + 0x2484f0) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x2484f0)" * (cast_expression "(int *)(pcVar10 + 0x2484f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x2484f0)" ( (binary_expression "pcVar10 + 0x2484f0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x2484f0) + -0x7810" (pointer_expression "*(int *)(pcVar10 + 0x2484f0)" * (cast_expression "(int *)(pcVar10 + 0x2484f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x2484f0)" ( (binary_expression "pcVar10 + 0x2484f0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x248614);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x248614)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x248614)" * (cast_expression "(code **)(pcVar9 + 0x248614)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x248614)" ( (binary_expression "pcVar9 + 0x248614" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824)" ( (binary_expression "*(int *)(pcVar9 + 0x2484bc) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x2484bc)" * (cast_expression "(int *)(pcVar9 + 0x2484bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2484bc)" ( (binary_expression "pcVar9 + 0x2484bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x2484bc) + -0x7824" (pointer_expression "*(int *)(pcVar9 + 0x2484bc)" * (cast_expression "(int *)(pcVar9 + 0x2484bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2484bc)" ( (binary_expression "pcVar9 + 0x2484bc" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x2485e0);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x2485e0)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x2485e0)" * (cast_expression "(code **)(pcVar10 + 0x2485e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x2485e0)" ( (binary_expression "pcVar10 + 0x2485e0" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844)" ( (binary_expression "*(int *)(pcVar10 + 0x248488) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x248488)" * (cast_expression "(int *)(pcVar10 + 0x248488)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248488)" ( (binary_expression "pcVar10 + 0x248488" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x248488) + -0x7844" (pointer_expression "*(int *)(pcVar10 + 0x248488)" * (cast_expression "(int *)(pcVar10 + 0x248488)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248488)" ( (binary_expression "pcVar10 + 0x248488" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x2485ac);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x2485ac)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x2485ac)" * (cast_expression "(code **)(pcVar9 + 0x2485ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2485ac)" ( (binary_expression "pcVar9 + 0x2485ac" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850)" ( (binary_expression "*(int *)(pcVar9 + 0x248454) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x248454)" * (cast_expression "(int *)(pcVar9 + 0x248454)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x248454)" ( (binary_expression "pcVar9 + 0x248454" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x248454) + -0x7850" (pointer_expression "*(int *)(pcVar9 + 0x248454)" * (cast_expression "(int *)(pcVar9 + 0x248454)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x248454)" ( (binary_expression "pcVar9 + 0x248454" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x248578);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x248578)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x248578)" * (cast_expression "(code **)(pcVar10 + 0x248578)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x248578)" ( (binary_expression "pcVar10 + 0x248578" identifier + number_literal) ))))) ;) (expression_statement "piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c);" (assignment_expression "piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c)" identifier = (cast_expression "(int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x248420) + -0x7b3c)" ( (binary_expression "*(int *)(pcVar10 + 0x248420) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x248420)" * (cast_expression "(int *)(pcVar10 + 0x248420)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248420)" ( (binary_expression "pcVar10 + 0x248420" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860);" (call_expression "(*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar10 + 0x248420) + -0x7860" (pointer_expression "*(int *)(pcVar10 + 0x248420)" * (cast_expression "(int *)(pcVar10 + 0x248420)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248420)" ( (binary_expression "pcVar10 + 0x248420" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar3 = piVar2[9];" (assignment_expression "iVar3 = piVar2[9]" identifier = (subscript_expression "piVar2[9]" identifier [ number_literal ])) ;) (expression_statement "*piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8;" (assignment_expression "*piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8" (pointer_expression "*piVar2" * identifier) = (binary_expression "*(int *)(pcVar9 + 0x24aea4) + 8" (pointer_expression "*(int *)(pcVar9 + 0x24aea4)" * (cast_expression "(int *)(pcVar9 + 0x24aea4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24aea4)" ( (binary_expression "pcVar9 + 0x24aea4" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (iVar3 == 0) {\nLAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);\n    *piVar2 = iVar3 + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }\n                    /* WARNING: Could not recover jumptable at 0x001e9f14. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar3 = (**(code **)(pcVar9 + 0x24840c))();\n    return iVar3;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);\n    *piVar2 = iVar3 + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }\n                    /* WARNING: Could not recover jumptable at 0x001e9f14. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar3 = (**(code **)(pcVar9 + 0x24840c))();\n    return iVar3;\n  }" { (labeled_statement "LAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);" statement_identifier : (expression_statement "iVar3 = *(int *)(pcVar9 + 0x249368);" (assignment_expression "iVar3 = *(int *)(pcVar9 + 0x249368)" identifier = (pointer_expression "*(int *)(pcVar9 + 0x249368)" * (cast_expression "(int *)(pcVar9 + 0x249368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x249368)" ( (binary_expression "pcVar9 + 0x249368" identifier + number_literal) ))))) ;)) (expression_statement "*piVar2 = iVar3 + 8;" (assignment_expression "*piVar2 = iVar3 + 8" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar3 + 8" identifier + number_literal)) ;) (if_statement "if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }" if (parenthesized_expression "((int *)piVar2[2] == piVar2 + 4)" ( (binary_expression "(int *)piVar2[2] == piVar2 + 4" (cast_expression "(int *)piVar2[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[2]" identifier [ number_literal ])) == (binary_expression "piVar2 + 4" identifier + number_literal)) )) (compound_statement "{\n      return iVar3 + 8;\n    }" { (return_statement "return iVar3 + 8;" return (binary_expression "iVar3 + 8" identifier + number_literal) ;) })) comment comment (expression_statement "iVar3 = (**(code **)(pcVar9 + 0x24840c))();" (assignment_expression "iVar3 = (**(code **)(pcVar9 + 0x24840c))()" identifier = (call_expression "(**(code **)(pcVar9 + 0x24840c))()" (parenthesized_expression "(**(code **)(pcVar9 + 0x24840c))" ( (pointer_expression "**(code **)(pcVar9 + 0x24840c)" * (pointer_expression "*(code **)(pcVar9 + 0x24840c)" * (cast_expression "(code **)(pcVar9 + 0x24840c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x24840c)" ( (binary_expression "pcVar9 + 0x24840c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar3;" return identifier ;) })) (expression_statement "uVar4 = 100;" (assignment_expression "uVar4 = 100" identifier = number_literal) ;) (if_statement "if (*(int *)(iVar3 + 4) == 0) {\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }" if (parenthesized_expression "(*(int *)(iVar3 + 4) == 0)" ( (binary_expression "*(int *)(iVar3 + 4) == 0" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }" { (if_statement "if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }" if (parenthesized_expression "(*(int *)(iVar3 + 8) == 0)" ( (binary_expression "*(int *)(iVar3 + 8) == 0" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }" { (if_statement "if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }" if (parenthesized_expression "((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0))" ( (binary_expression "(*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)" (parenthesized_expression "(*(int *)(iVar3 + 0xc) == 0)" ( (binary_expression "*(int *)(iVar3 + 0xc) == 0" (pointer_expression "*(int *)(iVar3 + 0xc)" * (cast_expression "(int *)(iVar3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar3 + 0x10) == 0)" ( (binary_expression "*(int *)(iVar3 + 0x10) == 0" (pointer_expression "*(int *)(iVar3 + 0x10)" * (cast_expression "(int *)(iVar3 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }" { (expression_statement "(**(code **)(pcVar9 + 0x248540))(iVar3,0x14);" (call_expression "(**(code **)(pcVar9 + 0x248540))(iVar3,0x14)" (parenthesized_expression "(**(code **)(pcVar9 + 0x248540))" ( (pointer_expression "**(code **)(pcVar9 + 0x248540)" * (pointer_expression "*(code **)(pcVar9 + 0x248540)" * (cast_expression "(code **)(pcVar9 + 0x248540)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x248540)" ( (binary_expression "pcVar9 + 0x248540" identifier + number_literal) ))))) )) (argument_list "(iVar3,0x14)" ( identifier , number_literal ))) ;) (goto_statement "goto LAB_001e9ef0;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);" (call_expression "(**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0)" (parenthesized_expression "(**(code **)(pcVar9 + 0x248544))" ( (pointer_expression "**(code **)(pcVar9 + 0x248544)" * (pointer_expression "*(code **)(pcVar9 + 0x248544)" * (cast_expression "(code **)(pcVar9 + 0x248544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x248544)" ( (binary_expression "pcVar9 + 0x248544" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0)" ( (binary_expression "*(int *)(pcVar9 + 0x24838c) + 0x48a0" (pointer_expression "*(int *)(pcVar9 + 0x24838c)" * (cast_expression "(int *)(pcVar9 + 0x24838c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24838c)" ( (binary_expression "pcVar9 + 0x24838c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x2483ec) + -0x78a0" (pointer_expression "*(int *)(pcVar9 + 0x2483ec)" * (cast_expression "(int *)(pcVar9 + 0x2483ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2483ec)" ( (binary_expression "pcVar9 + 0x2483ec" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "uVar4 = 0x65;" (assignment_expression "uVar4 = 0x65" identifier = number_literal) ;) })) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x248544);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x248544)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x248544)" * (cast_expression "(code **)(pcVar9 + 0x248544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x248544)" ( (binary_expression "pcVar9 + 0x248544" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894;" (assignment_expression "iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894" identifier = (binary_expression "*(int *)(pcVar9 + 0x2483ec) + -0x7894" (pointer_expression "*(int *)(pcVar9 + 0x2483ec)" * (cast_expression "(int *)(pcVar9 + 0x2483ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2483ec)" ( (binary_expression "pcVar9 + 0x2483ec" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0;" (assignment_expression "iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0" identifier = (binary_expression "*(int *)(pcVar9 + 0x24838c) + 0x48a0" (pointer_expression "*(int *)(pcVar9 + 0x24838c)" * (cast_expression "(int *)(pcVar9 + 0x24838c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24838c)" ( (binary_expression "pcVar9 + 0x24838c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar10)(iVar3,uVar4,iVar5);" (call_expression "(*pcVar10)(iVar3,uVar4,iVar5)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(iVar3,uVar4,iVar5)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar6 = *(int *)(iVar3 + 0x38);" (assignment_expression "iVar6 = *(int *)(iVar3 + 0x38)" identifier = (pointer_expression "*(int *)(iVar3 + 0x38)" * (cast_expression "(int *)(iVar3 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "aiStack_218[0] = 0;" (assignment_expression "aiStack_218[0] = 0" (subscript_expression "aiStack_218[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uStack_21c = 0;" (assignment_expression "uStack_21c = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar6) {\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }\n  }" if (parenthesized_expression "(0 < iVar6)" ( (binary_expression "0 < iVar6" number_literal < identifier) )) (compound_statement "{\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }\n  }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "piStack_208 = piVar2;" (assignment_expression "piStack_208 = piVar2" identifier = identifier) ;) (do_statement "do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);" do (compound_statement "{\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    }" { (expression_statement "puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);" (assignment_expression "puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20)" identifier = (cast_expression "(undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20)" ( (binary_expression "*(int *)(iVar3 + 0x3c) + iVar7 * 0x20" (pointer_expression "*(int *)(iVar3 + 0x3c)" * (cast_expression "(int *)(iVar3 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x3c)" ( (binary_expression "iVar3 + 0x3c" identifier + number_literal) )))) + (binary_expression "iVar7 * 0x20" identifier * number_literal)) )))) ;) (if_statement "if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }" if (parenthesized_expression "(1 < puVar1[2] - 2)" ( (binary_expression "1 < puVar1[2] - 2" number_literal < (binary_expression "puVar1[2] - 2" (subscript_expression "puVar1[2]" identifier [ number_literal ]) - number_literal)) )) (compound_statement "{\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }" { (expression_statement "iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);" (assignment_expression "iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x24a450))" ( (pointer_expression "**(code **)(pcVar10 + 0x24a450)" * (pointer_expression "*(code **)(pcVar10 + 0x24a450)" * (cast_expression "(code **)(pcVar10 + 0x24a450)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x24a450)" ( (binary_expression "pcVar10 + 0x24a450" identifier + number_literal) ))))) )) (argument_list "(uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c)" ( identifier , identifier , (pointer_expression "*puVar1" * identifier) , identifier , (binary_expression "pcVar9 + 0x250350" identifier + number_literal) , identifier , (pointer_expression "&uStack_21c" & identifier) )))) ;) (if_statement "if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }" if (parenthesized_expression "(iStack_210 == 1)" ( (binary_expression "iStack_210 == 1" identifier == number_literal) )) (compound_statement "{\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }" { (if_statement "if (aiStack_218[0] == 0) {\n            return 1;\n          }" if (parenthesized_expression "(aiStack_218[0] == 0)" ( (binary_expression "aiStack_218[0] == 0" (subscript_expression "aiStack_218[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            return 1;\n          }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "(**(code **)(pcVar10 + 0x24c8a0))();" (call_expression "(**(code **)(pcVar10 + 0x24c8a0))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x24c8a0))" ( (pointer_expression "**(code **)(pcVar10 + 0x24c8a0)" * (pointer_expression "*(code **)(pcVar10 + 0x24c8a0)" * (cast_expression "(code **)(pcVar10 + 0x24c8a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x24c8a0)" ( (binary_expression "pcVar10 + 0x24c8a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return iStack_210;" return identifier ;) })) (expression_statement "iVar6 = *(int *)(iVar3 + 0x38);" (assignment_expression "iVar6 = *(int *)(iVar3 + 0x38)" identifier = (pointer_expression "*(int *)(iVar3 + 0x38)" * (cast_expression "(int *)(iVar3 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) ))))) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 < iVar6)" ( (binary_expression "iVar7 < iVar6" identifier < identifier) )) ;) (if_statement "if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }" if (parenthesized_expression "(aiStack_218[0] != 0)" ( (binary_expression "aiStack_218[0] != 0" (subscript_expression "aiStack_218[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }" { (expression_statement "(**(code **)(pcVar10 + 0x24c8a0))();" (call_expression "(**(code **)(pcVar10 + 0x24c8a0))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x24c8a0))" ( (pointer_expression "**(code **)(pcVar10 + 0x24c8a0)" * (pointer_expression "*(code **)(pcVar10 + 0x24c8a0)" * (cast_expression "(code **)(pcVar10 + 0x24c8a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x24c8a0)" ( (binary_expression "pcVar10 + 0x24c8a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return 2;" return number_literal ;) })) })) (return_statement "return 2;" return number_literal ;) })))
(translation_unit "/* DWARF original prototype: void do_for_all_local_got_entries(Sized_pluginobj<32,_false> * this,\n   Visitor * param_1) */\n\nvoid __thiscall\ngold::Sized_pluginobj<32,_false>::do_for_all_local_got_entries\n          (Sized_pluginobj<32,_false> *this,Visitor *param_1)\n\n{\n  undefined4 *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  undefined1 auStack_220 [4];\n  undefined4 uStack_21c;\n  int aiStack_218 [2];\n  int iStack_210;\n  int *piStack_208;\n  \n  puVar8 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s__0043226c + -0x7b3c,0x5fd,PTR_s__0043226c + -0x7768);\n  pcVar9 = *(code **)(puVar8 + 0x2487e8);\n  (*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774);\n  pcVar10 = *(code **)(pcVar9 + 0x2487b4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784);\n  pcVar9 = *(code **)(pcVar10 + 0x248780);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c);\n  pcVar10 = *(code **)(pcVar9 + 0x24874c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4);\n  pcVar9 = *(code **)(pcVar10 + 0x248718);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4);\n  pcVar10 = *(code **)(pcVar9 + 0x2486e4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4);\n  pcVar9 = *(code **)(pcVar10 + 0x2486b0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8);\n  pcVar10 = *(code **)(pcVar9 + 0x24867c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc);\n  pcVar9 = *(code **)(pcVar10 + 0x248648);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810);\n  pcVar10 = *(code **)(pcVar9 + 0x248614);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824);\n  pcVar9 = *(code **)(pcVar10 + 0x2485e0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844);\n  pcVar10 = *(code **)(pcVar9 + 0x2485ac);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850);\n  pcVar9 = *(code **)(pcVar10 + 0x248578);\n  piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c);\n  (*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860);\n  iVar3 = piVar2[9];\n  *piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8;\n  if (iVar3 == 0) {\nLAB_001e9ef0:\n    *piVar2 = *(int *)(pcVar9 + 0x249368) + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return;\n    }\n                    /* WARNING: Could not recover jumptable at 0x001e9f14. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar9 + 0x24840c))();\n    return;\n  }\n  uVar4 = 100;\n  if (*(int *)(iVar3 + 4) == 0) {\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }\n  pcVar10 = *(code **)(pcVar9 + 0x248544);\n  iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894;\n  iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0;\n  (*pcVar10)(iVar3,uVar4,iVar5);\n  iVar6 = *(int *)(iVar3 + 0x38);\n  aiStack_218[0] = 0;\n  uStack_21c = 0;\n  if (0 < iVar6) {\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return;\n    }\n  }\n  return;\n}\n\n" comment (declaration "void __thiscall\ngold::Sized_pluginobj<32,_false>::do_for_all_local_got_entries\n          (Sized_pluginobj<32,_false> *this,Visitor *param_1)\n\n{\n  undefined4 *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>::do_for_all_local_got_entries\n          (Sized_pluginobj<32,_false> *this,Visitor *param_1)\n\n{\n  undefined4" identifier > : : (function_declarator "do_for_all_local_got_entries\n          (Sized_pluginobj<32,_false> *this,Visitor *param_1)" identifier (parameter_list "(Sized_pluginobj<32,_false> *this,Visitor *param_1)" ( (parameter_declaration "Sized_pluginobj" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Visitor *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined1 auStack_220 [4];" type_identifier (array_declarator "auStack_220 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_21c;" type_identifier identifier ;) (declaration "int aiStack_218 [2];" primitive_type (array_declarator "aiStack_218 [2]" identifier [ number_literal ]) ;) (declaration "int iStack_210;" primitive_type identifier ;) (declaration "int *piStack_208;" primitive_type (pointer_declarator "*piStack_208" * identifier) ;) (expression_statement "puVar8 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar8 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s__0043226c + -0x7b3c,0x5fd,PTR_s__0043226c + -0x7768);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s__0043226c + -0x7b3c,0x5fd,PTR_s__0043226c + -0x7768)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__0043226c + -0x7b3c,0x5fd,PTR_s__0043226c + -0x7768)" ( (binary_expression "PTR_s__0043226c + -0x7b3c" identifier + number_literal) , number_literal , (binary_expression "PTR_s__0043226c + -0x7768" identifier + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(puVar8 + 0x2487e8);" (assignment_expression "pcVar9 = *(code **)(puVar8 + 0x2487e8)" identifier = (pointer_expression "*(code **)(puVar8 + 0x2487e8)" * (cast_expression "(code **)(puVar8 + 0x2487e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2487e8)" ( (binary_expression "puVar8 + 0x2487e8" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774);" (call_expression "(*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774)" ( (binary_expression "*(int *)(puVar8 + 0x248690) + -0x7b3c" (pointer_expression "*(int *)(puVar8 + 0x248690)" * (cast_expression "(int *)(puVar8 + 0x248690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x248690)" ( (binary_expression "puVar8 + 0x248690" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar8 + 0x248690) + -0x7774" (pointer_expression "*(int *)(puVar8 + 0x248690)" * (cast_expression "(int *)(puVar8 + 0x248690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x248690)" ( (binary_expression "puVar8 + 0x248690" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x2487b4);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x2487b4)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x2487b4)" * (cast_expression "(code **)(pcVar9 + 0x2487b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2487b4)" ( (binary_expression "pcVar9 + 0x2487b4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784)" ( (binary_expression "*(int *)(pcVar9 + 0x24865c) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x24865c)" * (cast_expression "(int *)(pcVar9 + 0x24865c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24865c)" ( (binary_expression "pcVar9 + 0x24865c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x24865c) + -0x7784" (pointer_expression "*(int *)(pcVar9 + 0x24865c)" * (cast_expression "(int *)(pcVar9 + 0x24865c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24865c)" ( (binary_expression "pcVar9 + 0x24865c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x248780);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x248780)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x248780)" * (cast_expression "(code **)(pcVar10 + 0x248780)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x248780)" ( (binary_expression "pcVar10 + 0x248780" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c)" ( (binary_expression "*(int *)(pcVar10 + 0x248628) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x248628)" * (cast_expression "(int *)(pcVar10 + 0x248628)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248628)" ( (binary_expression "pcVar10 + 0x248628" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x248628) + -0x779c" (pointer_expression "*(int *)(pcVar10 + 0x248628)" * (cast_expression "(int *)(pcVar10 + 0x248628)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248628)" ( (binary_expression "pcVar10 + 0x248628" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x24874c);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x24874c)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x24874c)" * (cast_expression "(code **)(pcVar9 + 0x24874c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x24874c)" ( (binary_expression "pcVar9 + 0x24874c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4)" ( (binary_expression "*(int *)(pcVar9 + 0x2485f4) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x2485f4)" * (cast_expression "(int *)(pcVar9 + 0x2485f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2485f4)" ( (binary_expression "pcVar9 + 0x2485f4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x2485f4) + -0x77b4" (pointer_expression "*(int *)(pcVar9 + 0x2485f4)" * (cast_expression "(int *)(pcVar9 + 0x2485f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2485f4)" ( (binary_expression "pcVar9 + 0x2485f4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x248718);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x248718)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x248718)" * (cast_expression "(code **)(pcVar10 + 0x248718)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x248718)" ( (binary_expression "pcVar10 + 0x248718" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4)" ( (binary_expression "*(int *)(pcVar10 + 0x2485c0) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x2485c0)" * (cast_expression "(int *)(pcVar10 + 0x2485c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x2485c0)" ( (binary_expression "pcVar10 + 0x2485c0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x2485c0) + -0x77c4" (pointer_expression "*(int *)(pcVar10 + 0x2485c0)" * (cast_expression "(int *)(pcVar10 + 0x2485c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x2485c0)" ( (binary_expression "pcVar10 + 0x2485c0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x2486e4);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x2486e4)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x2486e4)" * (cast_expression "(code **)(pcVar9 + 0x2486e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2486e4)" ( (binary_expression "pcVar9 + 0x2486e4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4)" ( (binary_expression "*(int *)(pcVar9 + 0x24858c) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x24858c)" * (cast_expression "(int *)(pcVar9 + 0x24858c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24858c)" ( (binary_expression "pcVar9 + 0x24858c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x24858c) + -0x77d4" (pointer_expression "*(int *)(pcVar9 + 0x24858c)" * (cast_expression "(int *)(pcVar9 + 0x24858c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24858c)" ( (binary_expression "pcVar9 + 0x24858c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x2486b0);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x2486b0)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x2486b0)" * (cast_expression "(code **)(pcVar10 + 0x2486b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x2486b0)" ( (binary_expression "pcVar10 + 0x2486b0" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8)" ( (binary_expression "*(int *)(pcVar10 + 0x248558) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x248558)" * (cast_expression "(int *)(pcVar10 + 0x248558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248558)" ( (binary_expression "pcVar10 + 0x248558" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x248558) + -0x77e8" (pointer_expression "*(int *)(pcVar10 + 0x248558)" * (cast_expression "(int *)(pcVar10 + 0x248558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248558)" ( (binary_expression "pcVar10 + 0x248558" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x24867c);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x24867c)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x24867c)" * (cast_expression "(code **)(pcVar9 + 0x24867c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x24867c)" ( (binary_expression "pcVar9 + 0x24867c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc)" ( (binary_expression "*(int *)(pcVar9 + 0x248524) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x248524)" * (cast_expression "(int *)(pcVar9 + 0x248524)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x248524)" ( (binary_expression "pcVar9 + 0x248524" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x248524) + -0x77fc" (pointer_expression "*(int *)(pcVar9 + 0x248524)" * (cast_expression "(int *)(pcVar9 + 0x248524)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x248524)" ( (binary_expression "pcVar9 + 0x248524" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x248648);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x248648)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x248648)" * (cast_expression "(code **)(pcVar10 + 0x248648)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x248648)" ( (binary_expression "pcVar10 + 0x248648" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810)" ( (binary_expression "*(int *)(pcVar10 + 0x2484f0) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x2484f0)" * (cast_expression "(int *)(pcVar10 + 0x2484f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x2484f0)" ( (binary_expression "pcVar10 + 0x2484f0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x2484f0) + -0x7810" (pointer_expression "*(int *)(pcVar10 + 0x2484f0)" * (cast_expression "(int *)(pcVar10 + 0x2484f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x2484f0)" ( (binary_expression "pcVar10 + 0x2484f0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x248614);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x248614)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x248614)" * (cast_expression "(code **)(pcVar9 + 0x248614)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x248614)" ( (binary_expression "pcVar9 + 0x248614" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824)" ( (binary_expression "*(int *)(pcVar9 + 0x2484bc) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x2484bc)" * (cast_expression "(int *)(pcVar9 + 0x2484bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2484bc)" ( (binary_expression "pcVar9 + 0x2484bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x2484bc) + -0x7824" (pointer_expression "*(int *)(pcVar9 + 0x2484bc)" * (cast_expression "(int *)(pcVar9 + 0x2484bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2484bc)" ( (binary_expression "pcVar9 + 0x2484bc" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x2485e0);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x2485e0)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x2485e0)" * (cast_expression "(code **)(pcVar10 + 0x2485e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x2485e0)" ( (binary_expression "pcVar10 + 0x2485e0" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844)" ( (binary_expression "*(int *)(pcVar10 + 0x248488) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x248488)" * (cast_expression "(int *)(pcVar10 + 0x248488)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248488)" ( (binary_expression "pcVar10 + 0x248488" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x248488) + -0x7844" (pointer_expression "*(int *)(pcVar10 + 0x248488)" * (cast_expression "(int *)(pcVar10 + 0x248488)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248488)" ( (binary_expression "pcVar10 + 0x248488" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x2485ac);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x2485ac)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x2485ac)" * (cast_expression "(code **)(pcVar9 + 0x2485ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2485ac)" ( (binary_expression "pcVar9 + 0x2485ac" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850)" ( (binary_expression "*(int *)(pcVar9 + 0x248454) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x248454)" * (cast_expression "(int *)(pcVar9 + 0x248454)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x248454)" ( (binary_expression "pcVar9 + 0x248454" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x248454) + -0x7850" (pointer_expression "*(int *)(pcVar9 + 0x248454)" * (cast_expression "(int *)(pcVar9 + 0x248454)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x248454)" ( (binary_expression "pcVar9 + 0x248454" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x248578);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x248578)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x248578)" * (cast_expression "(code **)(pcVar10 + 0x248578)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x248578)" ( (binary_expression "pcVar10 + 0x248578" identifier + number_literal) ))))) ;) (expression_statement "piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c);" (assignment_expression "piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c)" identifier = (cast_expression "(int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x248420) + -0x7b3c)" ( (binary_expression "*(int *)(pcVar10 + 0x248420) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x248420)" * (cast_expression "(int *)(pcVar10 + 0x248420)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248420)" ( (binary_expression "pcVar10 + 0x248420" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860);" (call_expression "(*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar10 + 0x248420) + -0x7860" (pointer_expression "*(int *)(pcVar10 + 0x248420)" * (cast_expression "(int *)(pcVar10 + 0x248420)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248420)" ( (binary_expression "pcVar10 + 0x248420" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar3 = piVar2[9];" (assignment_expression "iVar3 = piVar2[9]" identifier = (subscript_expression "piVar2[9]" identifier [ number_literal ])) ;) (expression_statement "*piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8;" (assignment_expression "*piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8" (pointer_expression "*piVar2" * identifier) = (binary_expression "*(int *)(pcVar9 + 0x24aea4) + 8" (pointer_expression "*(int *)(pcVar9 + 0x24aea4)" * (cast_expression "(int *)(pcVar9 + 0x24aea4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24aea4)" ( (binary_expression "pcVar9 + 0x24aea4" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (iVar3 == 0) {\nLAB_001e9ef0:\n    *piVar2 = *(int *)(pcVar9 + 0x249368) + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return;\n    }\n                    /* WARNING: Could not recover jumptable at 0x001e9f14. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar9 + 0x24840c))();\n    return;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001e9ef0:\n    *piVar2 = *(int *)(pcVar9 + 0x249368) + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return;\n    }\n                    /* WARNING: Could not recover jumptable at 0x001e9f14. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar9 + 0x24840c))();\n    return;\n  }" { (labeled_statement "LAB_001e9ef0:\n    *piVar2 = *(int *)(pcVar9 + 0x249368) + 8;" statement_identifier : (expression_statement "*piVar2 = *(int *)(pcVar9 + 0x249368) + 8;" (assignment_expression "*piVar2 = *(int *)(pcVar9 + 0x249368) + 8" (pointer_expression "*piVar2" * identifier) = (binary_expression "*(int *)(pcVar9 + 0x249368) + 8" (pointer_expression "*(int *)(pcVar9 + 0x249368)" * (cast_expression "(int *)(pcVar9 + 0x249368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x249368)" ( (binary_expression "pcVar9 + 0x249368" identifier + number_literal) )))) + number_literal)) ;)) (if_statement "if ((int *)piVar2[2] == piVar2 + 4) {\n      return;\n    }" if (parenthesized_expression "((int *)piVar2[2] == piVar2 + 4)" ( (binary_expression "(int *)piVar2[2] == piVar2 + 4" (cast_expression "(int *)piVar2[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[2]" identifier [ number_literal ])) == (binary_expression "piVar2 + 4" identifier + number_literal)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) comment comment (expression_statement "(**(code **)(pcVar9 + 0x24840c))();" (call_expression "(**(code **)(pcVar9 + 0x24840c))()" (parenthesized_expression "(**(code **)(pcVar9 + 0x24840c))" ( (pointer_expression "**(code **)(pcVar9 + 0x24840c)" * (pointer_expression "*(code **)(pcVar9 + 0x24840c)" * (cast_expression "(code **)(pcVar9 + 0x24840c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x24840c)" ( (binary_expression "pcVar9 + 0x24840c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar4 = 100;" (assignment_expression "uVar4 = 100" identifier = number_literal) ;) (if_statement "if (*(int *)(iVar3 + 4) == 0) {\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }" if (parenthesized_expression "(*(int *)(iVar3 + 4) == 0)" ( (binary_expression "*(int *)(iVar3 + 4) == 0" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }" { (if_statement "if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }" if (parenthesized_expression "(*(int *)(iVar3 + 8) == 0)" ( (binary_expression "*(int *)(iVar3 + 8) == 0" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }" { (if_statement "if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }" if (parenthesized_expression "((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0))" ( (binary_expression "(*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)" (parenthesized_expression "(*(int *)(iVar3 + 0xc) == 0)" ( (binary_expression "*(int *)(iVar3 + 0xc) == 0" (pointer_expression "*(int *)(iVar3 + 0xc)" * (cast_expression "(int *)(iVar3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar3 + 0x10) == 0)" ( (binary_expression "*(int *)(iVar3 + 0x10) == 0" (pointer_expression "*(int *)(iVar3 + 0x10)" * (cast_expression "(int *)(iVar3 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }" { (expression_statement "(**(code **)(pcVar9 + 0x248540))(iVar3,0x14);" (call_expression "(**(code **)(pcVar9 + 0x248540))(iVar3,0x14)" (parenthesized_expression "(**(code **)(pcVar9 + 0x248540))" ( (pointer_expression "**(code **)(pcVar9 + 0x248540)" * (pointer_expression "*(code **)(pcVar9 + 0x248540)" * (cast_expression "(code **)(pcVar9 + 0x248540)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x248540)" ( (binary_expression "pcVar9 + 0x248540" identifier + number_literal) ))))) )) (argument_list "(iVar3,0x14)" ( identifier , number_literal ))) ;) (goto_statement "goto LAB_001e9ef0;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);" (call_expression "(**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0)" (parenthesized_expression "(**(code **)(pcVar9 + 0x248544))" ( (pointer_expression "**(code **)(pcVar9 + 0x248544)" * (pointer_expression "*(code **)(pcVar9 + 0x248544)" * (cast_expression "(code **)(pcVar9 + 0x248544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x248544)" ( (binary_expression "pcVar9 + 0x248544" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0)" ( (binary_expression "*(int *)(pcVar9 + 0x24838c) + 0x48a0" (pointer_expression "*(int *)(pcVar9 + 0x24838c)" * (cast_expression "(int *)(pcVar9 + 0x24838c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24838c)" ( (binary_expression "pcVar9 + 0x24838c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x2483ec) + -0x78a0" (pointer_expression "*(int *)(pcVar9 + 0x2483ec)" * (cast_expression "(int *)(pcVar9 + 0x2483ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2483ec)" ( (binary_expression "pcVar9 + 0x2483ec" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "uVar4 = 0x65;" (assignment_expression "uVar4 = 0x65" identifier = number_literal) ;) })) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x248544);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x248544)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x248544)" * (cast_expression "(code **)(pcVar9 + 0x248544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x248544)" ( (binary_expression "pcVar9 + 0x248544" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894;" (assignment_expression "iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894" identifier = (binary_expression "*(int *)(pcVar9 + 0x2483ec) + -0x7894" (pointer_expression "*(int *)(pcVar9 + 0x2483ec)" * (cast_expression "(int *)(pcVar9 + 0x2483ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2483ec)" ( (binary_expression "pcVar9 + 0x2483ec" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0;" (assignment_expression "iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0" identifier = (binary_expression "*(int *)(pcVar9 + 0x24838c) + 0x48a0" (pointer_expression "*(int *)(pcVar9 + 0x24838c)" * (cast_expression "(int *)(pcVar9 + 0x24838c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24838c)" ( (binary_expression "pcVar9 + 0x24838c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar10)(iVar3,uVar4,iVar5);" (call_expression "(*pcVar10)(iVar3,uVar4,iVar5)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(iVar3,uVar4,iVar5)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar6 = *(int *)(iVar3 + 0x38);" (assignment_expression "iVar6 = *(int *)(iVar3 + 0x38)" identifier = (pointer_expression "*(int *)(iVar3 + 0x38)" * (cast_expression "(int *)(iVar3 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "aiStack_218[0] = 0;" (assignment_expression "aiStack_218[0] = 0" (subscript_expression "aiStack_218[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uStack_21c = 0;" (assignment_expression "uStack_21c = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar6) {\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return;\n    }\n  }" if (parenthesized_expression "(0 < iVar6)" ( (binary_expression "0 < iVar6" number_literal < identifier) )) (compound_statement "{\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return;\n    }\n  }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "piStack_208 = piVar2;" (assignment_expression "piStack_208 = piVar2" identifier = identifier) ;) (do_statement "do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);" do (compound_statement "{\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    }" { (expression_statement "puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);" (assignment_expression "puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20)" identifier = (cast_expression "(undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20)" ( (binary_expression "*(int *)(iVar3 + 0x3c) + iVar7 * 0x20" (pointer_expression "*(int *)(iVar3 + 0x3c)" * (cast_expression "(int *)(iVar3 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x3c)" ( (binary_expression "iVar3 + 0x3c" identifier + number_literal) )))) + (binary_expression "iVar7 * 0x20" identifier * number_literal)) )))) ;) (if_statement "if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }" if (parenthesized_expression "(1 < puVar1[2] - 2)" ( (binary_expression "1 < puVar1[2] - 2" number_literal < (binary_expression "puVar1[2] - 2" (subscript_expression "puVar1[2]" identifier [ number_literal ]) - number_literal)) )) (compound_statement "{\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }" { (expression_statement "iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);" (assignment_expression "iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x24a450))" ( (pointer_expression "**(code **)(pcVar10 + 0x24a450)" * (pointer_expression "*(code **)(pcVar10 + 0x24a450)" * (cast_expression "(code **)(pcVar10 + 0x24a450)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x24a450)" ( (binary_expression "pcVar10 + 0x24a450" identifier + number_literal) ))))) )) (argument_list "(uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c)" ( identifier , identifier , (pointer_expression "*puVar1" * identifier) , identifier , (binary_expression "pcVar9 + 0x250350" identifier + number_literal) , identifier , (pointer_expression "&uStack_21c" & identifier) )))) ;) (if_statement "if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return;\n        }" if (parenthesized_expression "(iStack_210 == 1)" ( (binary_expression "iStack_210 == 1" identifier == number_literal) )) (compound_statement "{\n          if (aiStack_218[0] == 0) {\n            return;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return;\n        }" { (if_statement "if (aiStack_218[0] == 0) {\n            return;\n          }" if (parenthesized_expression "(aiStack_218[0] == 0)" ( (binary_expression "aiStack_218[0] == 0" (subscript_expression "aiStack_218[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (expression_statement "(**(code **)(pcVar10 + 0x24c8a0))();" (call_expression "(**(code **)(pcVar10 + 0x24c8a0))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x24c8a0))" ( (pointer_expression "**(code **)(pcVar10 + 0x24c8a0)" * (pointer_expression "*(code **)(pcVar10 + 0x24c8a0)" * (cast_expression "(code **)(pcVar10 + 0x24c8a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x24c8a0)" ( (binary_expression "pcVar10 + 0x24c8a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar6 = *(int *)(iVar3 + 0x38);" (assignment_expression "iVar6 = *(int *)(iVar3 + 0x38)" identifier = (pointer_expression "*(int *)(iVar3 + 0x38)" * (cast_expression "(int *)(iVar3 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) ))))) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 < iVar6)" ( (binary_expression "iVar7 < iVar6" identifier < identifier) )) ;) (if_statement "if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return;\n    }" if (parenthesized_expression "(aiStack_218[0] != 0)" ( (binary_expression "aiStack_218[0] != 0" (subscript_expression "aiStack_218[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return;\n    }" { (expression_statement "(**(code **)(pcVar10 + 0x24c8a0))();" (call_expression "(**(code **)(pcVar10 + 0x24c8a0))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x24c8a0))" ( (pointer_expression "**(code **)(pcVar10 + 0x24c8a0)" * (pointer_expression "*(code **)(pcVar10 + 0x24c8a0)" * (cast_expression "(code **)(pcVar10 + 0x24c8a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x24c8a0)" ( (binary_expression "pcVar10 + 0x24c8a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "int FUN_001e9ba8(void)\n\n{\n  undefined4 *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  undefined1 auStack_220 [4];\n  undefined4 uStack_21c;\n  int aiStack_218 [2];\n  int iStack_210;\n  int *piStack_208;\n  \n  puVar8 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768);\n  pcVar9 = *(code **)(puVar8 + 0x2487e8);\n  (*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774);\n  pcVar10 = *(code **)(pcVar9 + 0x2487b4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784);\n  pcVar9 = *(code **)(pcVar10 + 0x248780);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c);\n  pcVar10 = *(code **)(pcVar9 + 0x24874c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4);\n  pcVar9 = *(code **)(pcVar10 + 0x248718);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4);\n  pcVar10 = *(code **)(pcVar9 + 0x2486e4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4);\n  pcVar9 = *(code **)(pcVar10 + 0x2486b0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8);\n  pcVar10 = *(code **)(pcVar9 + 0x24867c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc);\n  pcVar9 = *(code **)(pcVar10 + 0x248648);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810);\n  pcVar10 = *(code **)(pcVar9 + 0x248614);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824);\n  pcVar9 = *(code **)(pcVar10 + 0x2485e0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844);\n  pcVar10 = *(code **)(pcVar9 + 0x2485ac);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850);\n  pcVar9 = *(code **)(pcVar10 + 0x248578);\n  piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c);\n  (*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860);\n  iVar3 = piVar2[9];\n  *piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8;\n  if (iVar3 == 0) {\nLAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);\n    *piVar2 = iVar3 + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }\n                    \n                    \n    iVar3 = (**(code **)(pcVar9 + 0x24840c))();\n    return iVar3;\n  }\n  uVar4 = 100;\n  if (*(int *)(iVar3 + 4) == 0) {\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }\n  pcVar10 = *(code **)(pcVar9 + 0x248544);\n  iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894;\n  iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0;\n  (*pcVar10)(iVar3,uVar4,iVar5);\n  iVar6 = *(int *)(iVar3 + 0x38);\n  aiStack_218[0] = 0;\n  uStack_21c = 0;\n  if (0 < iVar6) {\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }\n  }\n  return 2;\n}\n\n" (function_definition "int FUN_001e9ba8(void)\n\n{\n  undefined4 *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  undefined1 auStack_220 [4];\n  undefined4 uStack_21c;\n  int aiStack_218 [2];\n  int iStack_210;\n  int *piStack_208;\n  \n  puVar8 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768);\n  pcVar9 = *(code **)(puVar8 + 0x2487e8);\n  (*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774);\n  pcVar10 = *(code **)(pcVar9 + 0x2487b4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784);\n  pcVar9 = *(code **)(pcVar10 + 0x248780);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c);\n  pcVar10 = *(code **)(pcVar9 + 0x24874c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4);\n  pcVar9 = *(code **)(pcVar10 + 0x248718);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4);\n  pcVar10 = *(code **)(pcVar9 + 0x2486e4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4);\n  pcVar9 = *(code **)(pcVar10 + 0x2486b0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8);\n  pcVar10 = *(code **)(pcVar9 + 0x24867c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc);\n  pcVar9 = *(code **)(pcVar10 + 0x248648);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810);\n  pcVar10 = *(code **)(pcVar9 + 0x248614);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824);\n  pcVar9 = *(code **)(pcVar10 + 0x2485e0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844);\n  pcVar10 = *(code **)(pcVar9 + 0x2485ac);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850);\n  pcVar9 = *(code **)(pcVar10 + 0x248578);\n  piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c);\n  (*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860);\n  iVar3 = piVar2[9];\n  *piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8;\n  if (iVar3 == 0) {\nLAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);\n    *piVar2 = iVar3 + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }\n                    \n                    \n    iVar3 = (**(code **)(pcVar9 + 0x24840c))();\n    return iVar3;\n  }\n  uVar4 = 100;\n  if (*(int *)(iVar3 + 4) == 0) {\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }\n  pcVar10 = *(code **)(pcVar9 + 0x248544);\n  iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894;\n  iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0;\n  (*pcVar10)(iVar3,uVar4,iVar5);\n  iVar6 = *(int *)(iVar3 + 0x38);\n  aiStack_218[0] = 0;\n  uStack_21c = 0;\n  if (0 < iVar6) {\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }\n  }\n  return 2;\n}" primitive_type (function_declarator "FUN_001e9ba8(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  undefined1 auStack_220 [4];\n  undefined4 uStack_21c;\n  int aiStack_218 [2];\n  int iStack_210;\n  int *piStack_208;\n  \n  puVar8 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768);\n  pcVar9 = *(code **)(puVar8 + 0x2487e8);\n  (*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774);\n  pcVar10 = *(code **)(pcVar9 + 0x2487b4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784);\n  pcVar9 = *(code **)(pcVar10 + 0x248780);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c);\n  pcVar10 = *(code **)(pcVar9 + 0x24874c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4);\n  pcVar9 = *(code **)(pcVar10 + 0x248718);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4);\n  pcVar10 = *(code **)(pcVar9 + 0x2486e4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4);\n  pcVar9 = *(code **)(pcVar10 + 0x2486b0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8);\n  pcVar10 = *(code **)(pcVar9 + 0x24867c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc);\n  pcVar9 = *(code **)(pcVar10 + 0x248648);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810);\n  pcVar10 = *(code **)(pcVar9 + 0x248614);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824);\n  pcVar9 = *(code **)(pcVar10 + 0x2485e0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844);\n  pcVar10 = *(code **)(pcVar9 + 0x2485ac);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850);\n  pcVar9 = *(code **)(pcVar10 + 0x248578);\n  piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c);\n  (*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860);\n  iVar3 = piVar2[9];\n  *piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8;\n  if (iVar3 == 0) {\nLAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);\n    *piVar2 = iVar3 + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }\n                    \n                    \n    iVar3 = (**(code **)(pcVar9 + 0x24840c))();\n    return iVar3;\n  }\n  uVar4 = 100;\n  if (*(int *)(iVar3 + 4) == 0) {\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }\n  pcVar10 = *(code **)(pcVar9 + 0x248544);\n  iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894;\n  iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0;\n  (*pcVar10)(iVar3,uVar4,iVar5);\n  iVar6 = *(int *)(iVar3 + 0x38);\n  aiStack_218[0] = 0;\n  uStack_21c = 0;\n  if (0 < iVar6) {\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }\n  }\n  return 2;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined1 auStack_220 [4];" type_identifier (array_declarator "auStack_220 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_21c;" type_identifier identifier ;) (declaration "int aiStack_218 [2];" primitive_type (array_declarator "aiStack_218 [2]" identifier [ number_literal ]) ;) (declaration "int iStack_210;" primitive_type identifier ;) (declaration "int *piStack_208;" primitive_type (pointer_declarator "*piStack_208" * identifier) ;) (expression_statement "puVar8 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar8 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768)" ( (binary_expression "PTR_DAT_0043226c + -0x7b3c" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + -0x7768" identifier + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(puVar8 + 0x2487e8);" (assignment_expression "pcVar9 = *(code **)(puVar8 + 0x2487e8)" identifier = (pointer_expression "*(code **)(puVar8 + 0x2487e8)" * (cast_expression "(code **)(puVar8 + 0x2487e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2487e8)" ( (binary_expression "puVar8 + 0x2487e8" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774);" (call_expression "(*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774)" ( (binary_expression "*(int *)(puVar8 + 0x248690) + -0x7b3c" (pointer_expression "*(int *)(puVar8 + 0x248690)" * (cast_expression "(int *)(puVar8 + 0x248690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x248690)" ( (binary_expression "puVar8 + 0x248690" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar8 + 0x248690) + -0x7774" (pointer_expression "*(int *)(puVar8 + 0x248690)" * (cast_expression "(int *)(puVar8 + 0x248690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x248690)" ( (binary_expression "puVar8 + 0x248690" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x2487b4);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x2487b4)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x2487b4)" * (cast_expression "(code **)(pcVar9 + 0x2487b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2487b4)" ( (binary_expression "pcVar9 + 0x2487b4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784)" ( (binary_expression "*(int *)(pcVar9 + 0x24865c) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x24865c)" * (cast_expression "(int *)(pcVar9 + 0x24865c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24865c)" ( (binary_expression "pcVar9 + 0x24865c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x24865c) + -0x7784" (pointer_expression "*(int *)(pcVar9 + 0x24865c)" * (cast_expression "(int *)(pcVar9 + 0x24865c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24865c)" ( (binary_expression "pcVar9 + 0x24865c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x248780);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x248780)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x248780)" * (cast_expression "(code **)(pcVar10 + 0x248780)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x248780)" ( (binary_expression "pcVar10 + 0x248780" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c)" ( (binary_expression "*(int *)(pcVar10 + 0x248628) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x248628)" * (cast_expression "(int *)(pcVar10 + 0x248628)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248628)" ( (binary_expression "pcVar10 + 0x248628" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x248628) + -0x779c" (pointer_expression "*(int *)(pcVar10 + 0x248628)" * (cast_expression "(int *)(pcVar10 + 0x248628)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248628)" ( (binary_expression "pcVar10 + 0x248628" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x24874c);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x24874c)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x24874c)" * (cast_expression "(code **)(pcVar9 + 0x24874c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x24874c)" ( (binary_expression "pcVar9 + 0x24874c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4)" ( (binary_expression "*(int *)(pcVar9 + 0x2485f4) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x2485f4)" * (cast_expression "(int *)(pcVar9 + 0x2485f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2485f4)" ( (binary_expression "pcVar9 + 0x2485f4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x2485f4) + -0x77b4" (pointer_expression "*(int *)(pcVar9 + 0x2485f4)" * (cast_expression "(int *)(pcVar9 + 0x2485f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2485f4)" ( (binary_expression "pcVar9 + 0x2485f4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x248718);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x248718)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x248718)" * (cast_expression "(code **)(pcVar10 + 0x248718)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x248718)" ( (binary_expression "pcVar10 + 0x248718" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4)" ( (binary_expression "*(int *)(pcVar10 + 0x2485c0) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x2485c0)" * (cast_expression "(int *)(pcVar10 + 0x2485c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x2485c0)" ( (binary_expression "pcVar10 + 0x2485c0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x2485c0) + -0x77c4" (pointer_expression "*(int *)(pcVar10 + 0x2485c0)" * (cast_expression "(int *)(pcVar10 + 0x2485c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x2485c0)" ( (binary_expression "pcVar10 + 0x2485c0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x2486e4);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x2486e4)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x2486e4)" * (cast_expression "(code **)(pcVar9 + 0x2486e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2486e4)" ( (binary_expression "pcVar9 + 0x2486e4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4)" ( (binary_expression "*(int *)(pcVar9 + 0x24858c) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x24858c)" * (cast_expression "(int *)(pcVar9 + 0x24858c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24858c)" ( (binary_expression "pcVar9 + 0x24858c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x24858c) + -0x77d4" (pointer_expression "*(int *)(pcVar9 + 0x24858c)" * (cast_expression "(int *)(pcVar9 + 0x24858c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24858c)" ( (binary_expression "pcVar9 + 0x24858c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x2486b0);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x2486b0)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x2486b0)" * (cast_expression "(code **)(pcVar10 + 0x2486b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x2486b0)" ( (binary_expression "pcVar10 + 0x2486b0" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8)" ( (binary_expression "*(int *)(pcVar10 + 0x248558) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x248558)" * (cast_expression "(int *)(pcVar10 + 0x248558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248558)" ( (binary_expression "pcVar10 + 0x248558" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x248558) + -0x77e8" (pointer_expression "*(int *)(pcVar10 + 0x248558)" * (cast_expression "(int *)(pcVar10 + 0x248558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248558)" ( (binary_expression "pcVar10 + 0x248558" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x24867c);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x24867c)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x24867c)" * (cast_expression "(code **)(pcVar9 + 0x24867c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x24867c)" ( (binary_expression "pcVar9 + 0x24867c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc)" ( (binary_expression "*(int *)(pcVar9 + 0x248524) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x248524)" * (cast_expression "(int *)(pcVar9 + 0x248524)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x248524)" ( (binary_expression "pcVar9 + 0x248524" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x248524) + -0x77fc" (pointer_expression "*(int *)(pcVar9 + 0x248524)" * (cast_expression "(int *)(pcVar9 + 0x248524)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x248524)" ( (binary_expression "pcVar9 + 0x248524" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x248648);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x248648)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x248648)" * (cast_expression "(code **)(pcVar10 + 0x248648)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x248648)" ( (binary_expression "pcVar10 + 0x248648" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810)" ( (binary_expression "*(int *)(pcVar10 + 0x2484f0) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x2484f0)" * (cast_expression "(int *)(pcVar10 + 0x2484f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x2484f0)" ( (binary_expression "pcVar10 + 0x2484f0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x2484f0) + -0x7810" (pointer_expression "*(int *)(pcVar10 + 0x2484f0)" * (cast_expression "(int *)(pcVar10 + 0x2484f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x2484f0)" ( (binary_expression "pcVar10 + 0x2484f0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x248614);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x248614)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x248614)" * (cast_expression "(code **)(pcVar9 + 0x248614)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x248614)" ( (binary_expression "pcVar9 + 0x248614" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824)" ( (binary_expression "*(int *)(pcVar9 + 0x2484bc) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x2484bc)" * (cast_expression "(int *)(pcVar9 + 0x2484bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2484bc)" ( (binary_expression "pcVar9 + 0x2484bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x2484bc) + -0x7824" (pointer_expression "*(int *)(pcVar9 + 0x2484bc)" * (cast_expression "(int *)(pcVar9 + 0x2484bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2484bc)" ( (binary_expression "pcVar9 + 0x2484bc" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x2485e0);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x2485e0)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x2485e0)" * (cast_expression "(code **)(pcVar10 + 0x2485e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x2485e0)" ( (binary_expression "pcVar10 + 0x2485e0" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844)" ( (binary_expression "*(int *)(pcVar10 + 0x248488) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x248488)" * (cast_expression "(int *)(pcVar10 + 0x248488)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248488)" ( (binary_expression "pcVar10 + 0x248488" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x248488) + -0x7844" (pointer_expression "*(int *)(pcVar10 + 0x248488)" * (cast_expression "(int *)(pcVar10 + 0x248488)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248488)" ( (binary_expression "pcVar10 + 0x248488" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x2485ac);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x2485ac)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x2485ac)" * (cast_expression "(code **)(pcVar9 + 0x2485ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2485ac)" ( (binary_expression "pcVar9 + 0x2485ac" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850)" ( (binary_expression "*(int *)(pcVar9 + 0x248454) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x248454)" * (cast_expression "(int *)(pcVar9 + 0x248454)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x248454)" ( (binary_expression "pcVar9 + 0x248454" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x248454) + -0x7850" (pointer_expression "*(int *)(pcVar9 + 0x248454)" * (cast_expression "(int *)(pcVar9 + 0x248454)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x248454)" ( (binary_expression "pcVar9 + 0x248454" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x248578);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x248578)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x248578)" * (cast_expression "(code **)(pcVar10 + 0x248578)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x248578)" ( (binary_expression "pcVar10 + 0x248578" identifier + number_literal) ))))) ;) (expression_statement "piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c);" (assignment_expression "piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c)" identifier = (cast_expression "(int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x248420) + -0x7b3c)" ( (binary_expression "*(int *)(pcVar10 + 0x248420) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x248420)" * (cast_expression "(int *)(pcVar10 + 0x248420)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248420)" ( (binary_expression "pcVar10 + 0x248420" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860);" (call_expression "(*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar10 + 0x248420) + -0x7860" (pointer_expression "*(int *)(pcVar10 + 0x248420)" * (cast_expression "(int *)(pcVar10 + 0x248420)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x248420)" ( (binary_expression "pcVar10 + 0x248420" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar3 = piVar2[9];" (assignment_expression "iVar3 = piVar2[9]" identifier = (subscript_expression "piVar2[9]" identifier [ number_literal ])) ;) (expression_statement "*piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8;" (assignment_expression "*piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8" (pointer_expression "*piVar2" * identifier) = (binary_expression "*(int *)(pcVar9 + 0x24aea4) + 8" (pointer_expression "*(int *)(pcVar9 + 0x24aea4)" * (cast_expression "(int *)(pcVar9 + 0x24aea4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24aea4)" ( (binary_expression "pcVar9 + 0x24aea4" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (iVar3 == 0) {\nLAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);\n    *piVar2 = iVar3 + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }\n                    \n                    \n    iVar3 = (**(code **)(pcVar9 + 0x24840c))();\n    return iVar3;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);\n    *piVar2 = iVar3 + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }\n                    \n                    \n    iVar3 = (**(code **)(pcVar9 + 0x24840c))();\n    return iVar3;\n  }" { (labeled_statement "LAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);" statement_identifier : (expression_statement "iVar3 = *(int *)(pcVar9 + 0x249368);" (assignment_expression "iVar3 = *(int *)(pcVar9 + 0x249368)" identifier = (pointer_expression "*(int *)(pcVar9 + 0x249368)" * (cast_expression "(int *)(pcVar9 + 0x249368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x249368)" ( (binary_expression "pcVar9 + 0x249368" identifier + number_literal) ))))) ;)) (expression_statement "*piVar2 = iVar3 + 8;" (assignment_expression "*piVar2 = iVar3 + 8" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar3 + 8" identifier + number_literal)) ;) (if_statement "if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }" if (parenthesized_expression "((int *)piVar2[2] == piVar2 + 4)" ( (binary_expression "(int *)piVar2[2] == piVar2 + 4" (cast_expression "(int *)piVar2[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[2]" identifier [ number_literal ])) == (binary_expression "piVar2 + 4" identifier + number_literal)) )) (compound_statement "{\n      return iVar3 + 8;\n    }" { (return_statement "return iVar3 + 8;" return (binary_expression "iVar3 + 8" identifier + number_literal) ;) })) (expression_statement "iVar3 = (**(code **)(pcVar9 + 0x24840c))();" (assignment_expression "iVar3 = (**(code **)(pcVar9 + 0x24840c))()" identifier = (call_expression "(**(code **)(pcVar9 + 0x24840c))()" (parenthesized_expression "(**(code **)(pcVar9 + 0x24840c))" ( (pointer_expression "**(code **)(pcVar9 + 0x24840c)" * (pointer_expression "*(code **)(pcVar9 + 0x24840c)" * (cast_expression "(code **)(pcVar9 + 0x24840c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x24840c)" ( (binary_expression "pcVar9 + 0x24840c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar3;" return identifier ;) })) (expression_statement "uVar4 = 100;" (assignment_expression "uVar4 = 100" identifier = number_literal) ;) (if_statement "if (*(int *)(iVar3 + 4) == 0) {\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }" if (parenthesized_expression "(*(int *)(iVar3 + 4) == 0)" ( (binary_expression "*(int *)(iVar3 + 4) == 0" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }" { (if_statement "if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }" if (parenthesized_expression "(*(int *)(iVar3 + 8) == 0)" ( (binary_expression "*(int *)(iVar3 + 8) == 0" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }" { (if_statement "if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }" if (parenthesized_expression "((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0))" ( (binary_expression "(*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)" (parenthesized_expression "(*(int *)(iVar3 + 0xc) == 0)" ( (binary_expression "*(int *)(iVar3 + 0xc) == 0" (pointer_expression "*(int *)(iVar3 + 0xc)" * (cast_expression "(int *)(iVar3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar3 + 0x10) == 0)" ( (binary_expression "*(int *)(iVar3 + 0x10) == 0" (pointer_expression "*(int *)(iVar3 + 0x10)" * (cast_expression "(int *)(iVar3 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }" { (expression_statement "(**(code **)(pcVar9 + 0x248540))(iVar3,0x14);" (call_expression "(**(code **)(pcVar9 + 0x248540))(iVar3,0x14)" (parenthesized_expression "(**(code **)(pcVar9 + 0x248540))" ( (pointer_expression "**(code **)(pcVar9 + 0x248540)" * (pointer_expression "*(code **)(pcVar9 + 0x248540)" * (cast_expression "(code **)(pcVar9 + 0x248540)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x248540)" ( (binary_expression "pcVar9 + 0x248540" identifier + number_literal) ))))) )) (argument_list "(iVar3,0x14)" ( identifier , number_literal ))) ;) (goto_statement "goto LAB_001e9ef0;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);" (call_expression "(**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0)" (parenthesized_expression "(**(code **)(pcVar9 + 0x248544))" ( (pointer_expression "**(code **)(pcVar9 + 0x248544)" * (pointer_expression "*(code **)(pcVar9 + 0x248544)" * (cast_expression "(code **)(pcVar9 + 0x248544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x248544)" ( (binary_expression "pcVar9 + 0x248544" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0)" ( (binary_expression "*(int *)(pcVar9 + 0x24838c) + 0x48a0" (pointer_expression "*(int *)(pcVar9 + 0x24838c)" * (cast_expression "(int *)(pcVar9 + 0x24838c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24838c)" ( (binary_expression "pcVar9 + 0x24838c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x2483ec) + -0x78a0" (pointer_expression "*(int *)(pcVar9 + 0x2483ec)" * (cast_expression "(int *)(pcVar9 + 0x2483ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2483ec)" ( (binary_expression "pcVar9 + 0x2483ec" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "uVar4 = 0x65;" (assignment_expression "uVar4 = 0x65" identifier = number_literal) ;) })) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x248544);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x248544)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x248544)" * (cast_expression "(code **)(pcVar9 + 0x248544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x248544)" ( (binary_expression "pcVar9 + 0x248544" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894;" (assignment_expression "iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894" identifier = (binary_expression "*(int *)(pcVar9 + 0x2483ec) + -0x7894" (pointer_expression "*(int *)(pcVar9 + 0x2483ec)" * (cast_expression "(int *)(pcVar9 + 0x2483ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2483ec)" ( (binary_expression "pcVar9 + 0x2483ec" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0;" (assignment_expression "iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0" identifier = (binary_expression "*(int *)(pcVar9 + 0x24838c) + 0x48a0" (pointer_expression "*(int *)(pcVar9 + 0x24838c)" * (cast_expression "(int *)(pcVar9 + 0x24838c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x24838c)" ( (binary_expression "pcVar9 + 0x24838c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar10)(iVar3,uVar4,iVar5);" (call_expression "(*pcVar10)(iVar3,uVar4,iVar5)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(iVar3,uVar4,iVar5)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar6 = *(int *)(iVar3 + 0x38);" (assignment_expression "iVar6 = *(int *)(iVar3 + 0x38)" identifier = (pointer_expression "*(int *)(iVar3 + 0x38)" * (cast_expression "(int *)(iVar3 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "aiStack_218[0] = 0;" (assignment_expression "aiStack_218[0] = 0" (subscript_expression "aiStack_218[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uStack_21c = 0;" (assignment_expression "uStack_21c = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar6) {\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }\n  }" if (parenthesized_expression "(0 < iVar6)" ( (binary_expression "0 < iVar6" number_literal < identifier) )) (compound_statement "{\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }\n  }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "piStack_208 = piVar2;" (assignment_expression "piStack_208 = piVar2" identifier = identifier) ;) (do_statement "do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);" do (compound_statement "{\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    }" { (expression_statement "puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);" (assignment_expression "puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20)" identifier = (cast_expression "(undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20)" ( (binary_expression "*(int *)(iVar3 + 0x3c) + iVar7 * 0x20" (pointer_expression "*(int *)(iVar3 + 0x3c)" * (cast_expression "(int *)(iVar3 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x3c)" ( (binary_expression "iVar3 + 0x3c" identifier + number_literal) )))) + (binary_expression "iVar7 * 0x20" identifier * number_literal)) )))) ;) (if_statement "if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }" if (parenthesized_expression "(1 < puVar1[2] - 2)" ( (binary_expression "1 < puVar1[2] - 2" number_literal < (binary_expression "puVar1[2] - 2" (subscript_expression "puVar1[2]" identifier [ number_literal ]) - number_literal)) )) (compound_statement "{\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }" { (expression_statement "iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);" (assignment_expression "iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x24a450))" ( (pointer_expression "**(code **)(pcVar10 + 0x24a450)" * (pointer_expression "*(code **)(pcVar10 + 0x24a450)" * (cast_expression "(code **)(pcVar10 + 0x24a450)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x24a450)" ( (binary_expression "pcVar10 + 0x24a450" identifier + number_literal) ))))) )) (argument_list "(uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c)" ( identifier , identifier , (pointer_expression "*puVar1" * identifier) , identifier , (binary_expression "pcVar9 + 0x250350" identifier + number_literal) , identifier , (pointer_expression "&uStack_21c" & identifier) )))) ;) (if_statement "if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }" if (parenthesized_expression "(iStack_210 == 1)" ( (binary_expression "iStack_210 == 1" identifier == number_literal) )) (compound_statement "{\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }" { (if_statement "if (aiStack_218[0] == 0) {\n            return 1;\n          }" if (parenthesized_expression "(aiStack_218[0] == 0)" ( (binary_expression "aiStack_218[0] == 0" (subscript_expression "aiStack_218[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            return 1;\n          }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "(**(code **)(pcVar10 + 0x24c8a0))();" (call_expression "(**(code **)(pcVar10 + 0x24c8a0))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x24c8a0))" ( (pointer_expression "**(code **)(pcVar10 + 0x24c8a0)" * (pointer_expression "*(code **)(pcVar10 + 0x24c8a0)" * (cast_expression "(code **)(pcVar10 + 0x24c8a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x24c8a0)" ( (binary_expression "pcVar10 + 0x24c8a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return iStack_210;" return identifier ;) })) (expression_statement "iVar6 = *(int *)(iVar3 + 0x38);" (assignment_expression "iVar6 = *(int *)(iVar3 + 0x38)" identifier = (pointer_expression "*(int *)(iVar3 + 0x38)" * (cast_expression "(int *)(iVar3 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) ))))) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 < iVar6)" ( (binary_expression "iVar7 < iVar6" identifier < identifier) )) ;) (if_statement "if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }" if (parenthesized_expression "(aiStack_218[0] != 0)" ( (binary_expression "aiStack_218[0] != 0" (subscript_expression "aiStack_218[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }" { (expression_statement "(**(code **)(pcVar10 + 0x24c8a0))();" (call_expression "(**(code **)(pcVar10 + 0x24c8a0))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x24c8a0))" ( (pointer_expression "**(code **)(pcVar10 + 0x24c8a0)" * (pointer_expression "*(code **)(pcVar10 + 0x24c8a0)" * (cast_expression "(code **)(pcVar10 + 0x24c8a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x24c8a0)" ( (binary_expression "pcVar10 + 0x24c8a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return 2;" return number_literal ;) })) })) (return_statement "return 2;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 = (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 = (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 (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (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 == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == (binary_expression IDENT + LIT)) )) (compound_statement { (return_statement return (binary_expression IDENT + LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (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 ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (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)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (subscript_expression IDENT [ LIT ]) - LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (pointer_expression * IDENT) , IDENT , (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (return_statement return LIT ;) })) })) (return_statement return LIT ;) })))
(function_definition "int FUN_001e9ba8(void)\n\n{\n  undefined4 *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  undefined1 auStack_220 [4];\n  undefined4 uStack_21c;\n  int aiStack_218 [2];\n  int iStack_210;\n  int *piStack_208;\n  \n  puVar8 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768);\n  pcVar9 = *(code **)(puVar8 + 0x2487e8);\n  (*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774);\n  pcVar10 = *(code **)(pcVar9 + 0x2487b4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784);\n  pcVar9 = *(code **)(pcVar10 + 0x248780);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c);\n  pcVar10 = *(code **)(pcVar9 + 0x24874c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4);\n  pcVar9 = *(code **)(pcVar10 + 0x248718);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4);\n  pcVar10 = *(code **)(pcVar9 + 0x2486e4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4);\n  pcVar9 = *(code **)(pcVar10 + 0x2486b0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8);\n  pcVar10 = *(code **)(pcVar9 + 0x24867c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc);\n  pcVar9 = *(code **)(pcVar10 + 0x248648);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810);\n  pcVar10 = *(code **)(pcVar9 + 0x248614);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824);\n  pcVar9 = *(code **)(pcVar10 + 0x2485e0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844);\n  pcVar10 = *(code **)(pcVar9 + 0x2485ac);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850);\n  pcVar9 = *(code **)(pcVar10 + 0x248578);\n  piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c);\n  (*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860);\n  iVar3 = piVar2[9];\n  *piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8;\n  if (iVar3 == 0) {\nLAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);\n    *piVar2 = iVar3 + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }\n                    \n                    \n    iVar3 = (**(code **)(pcVar9 + 0x24840c))();\n    return iVar3;\n  }\n  uVar4 = 100;\n  if (*(int *)(iVar3 + 4) == 0) {\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }\n  pcVar10 = *(code **)(pcVar9 + 0x248544);\n  iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894;\n  iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0;\n  (*pcVar10)(iVar3,uVar4,iVar5);\n  iVar6 = *(int *)(iVar3 + 0x38);\n  aiStack_218[0] = 0;\n  uStack_21c = 0;\n  if (0 < iVar6) {\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }\n  }\n  return 2;\n}" (primitive_type "int") (function_declarator "FUN_001e9ba8(void)" (identifier "FUN_001e9ba8") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined4 *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  code *pcVar10;\n  undefined1 auStack_220 [4];\n  undefined4 uStack_21c;\n  int aiStack_218 [2];\n  int iStack_210;\n  int *piStack_208;\n  \n  puVar8 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768);\n  pcVar9 = *(code **)(puVar8 + 0x2487e8);\n  (*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774);\n  pcVar10 = *(code **)(pcVar9 + 0x2487b4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784);\n  pcVar9 = *(code **)(pcVar10 + 0x248780);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c);\n  pcVar10 = *(code **)(pcVar9 + 0x24874c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4);\n  pcVar9 = *(code **)(pcVar10 + 0x248718);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4);\n  pcVar10 = *(code **)(pcVar9 + 0x2486e4);\n  (*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4);\n  pcVar9 = *(code **)(pcVar10 + 0x2486b0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8);\n  pcVar10 = *(code **)(pcVar9 + 0x24867c);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc);\n  pcVar9 = *(code **)(pcVar10 + 0x248648);\n  (*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810);\n  pcVar10 = *(code **)(pcVar9 + 0x248614);\n  (*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824);\n  pcVar9 = *(code **)(pcVar10 + 0x2485e0);\n  (*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844);\n  pcVar10 = *(code **)(pcVar9 + 0x2485ac);\n  (*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850);\n  pcVar9 = *(code **)(pcVar10 + 0x248578);\n  piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c);\n  (*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860);\n  iVar3 = piVar2[9];\n  *piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8;\n  if (iVar3 == 0) {\nLAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);\n    *piVar2 = iVar3 + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }\n                    \n                    \n    iVar3 = (**(code **)(pcVar9 + 0x24840c))();\n    return iVar3;\n  }\n  uVar4 = 100;\n  if (*(int *)(iVar3 + 4) == 0) {\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }\n  pcVar10 = *(code **)(pcVar9 + 0x248544);\n  iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894;\n  iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0;\n  (*pcVar10)(iVar3,uVar4,iVar5);\n  iVar6 = *(int *)(iVar3 + 0x38);\n  aiStack_218[0] = 0;\n  uStack_21c = 0;\n  if (0 < iVar6) {\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }\n  }\n  return 2;\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "code *pcVar9;" (type_identifier "code") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "code *pcVar10;" (type_identifier "code") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "undefined1 auStack_220 [4];" (type_identifier "undefined1") (array_declarator "auStack_220 [4]" (identifier "auStack_220") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 uStack_21c;" (type_identifier "undefined4") (identifier "uStack_21c") (; ";")) (declaration "int aiStack_218 [2];" (primitive_type "int") (array_declarator "aiStack_218 [2]" (identifier "aiStack_218") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "int iStack_210;" (primitive_type "int") (identifier "iStack_210") (; ";")) (declaration "int *piStack_208;" (primitive_type "int") (pointer_declarator "*piStack_208" (* "*") (identifier "piStack_208")) (; ";")) (expression_statement "puVar8 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar8 = PTR_do_gold_unreachable_004323c4" (identifier "puVar8") (= "=") (identifier "PTR_do_gold_unreachable_004323c4")) (; ";")) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768)" (( "(") (binary_expression "PTR_DAT_0043226c + -0x7b3c" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "-0x7b3c")) (, ",") (number_literal "0x5fd") (, ",") (binary_expression "PTR_DAT_0043226c + -0x7768" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "-0x7768")) () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)(puVar8 + 0x2487e8);" (assignment_expression "pcVar9 = *(code **)(puVar8 + 0x2487e8)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(puVar8 + 0x2487e8)" (* "*") (cast_expression "(code **)(puVar8 + 0x2487e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x2487e8)" (( "(") (binary_expression "puVar8 + 0x2487e8" (identifier "puVar8") (+ "+") (number_literal "0x2487e8")) () ")"))))) (; ";")) (expression_statement "(*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774);" (call_expression "(*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774)" (( "(") (binary_expression "*(int *)(puVar8 + 0x248690) + -0x7b3c" (pointer_expression "*(int *)(puVar8 + 0x248690)" (* "*") (cast_expression "(int *)(puVar8 + 0x248690)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x248690)" (( "(") (binary_expression "puVar8 + 0x248690" (identifier "puVar8") (+ "+") (number_literal "0x248690")) () ")")))) (+ "+") (number_literal "-0x7b3c")) (, ",") (number_literal "0x55d") (, ",") (binary_expression "*(int *)(puVar8 + 0x248690) + -0x7774" (pointer_expression "*(int *)(puVar8 + 0x248690)" (* "*") (cast_expression "(int *)(puVar8 + 0x248690)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x248690)" (( "(") (binary_expression "puVar8 + 0x248690" (identifier "puVar8") (+ "+") (number_literal "0x248690")) () ")")))) (+ "+") (number_literal "-0x7774")) () ")"))) (; ";")) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x2487b4);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x2487b4)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(pcVar9 + 0x2487b4)" (* "*") (cast_expression "(code **)(pcVar9 + 0x2487b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x2487b4)" (( "(") (binary_expression "pcVar9 + 0x2487b4" (identifier "pcVar9") (+ "+") (number_literal "0x2487b4")) () ")"))))) (; ";")) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784)" (( "(") (binary_expression "*(int *)(pcVar9 + 0x24865c) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x24865c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x24865c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x24865c)" (( "(") (binary_expression "pcVar9 + 0x24865c" (identifier "pcVar9") (+ "+") (number_literal "0x24865c")) () ")")))) (+ "+") (number_literal "-0x7b3c")) (, ",") (number_literal "0x553") (, ",") (binary_expression "*(int *)(pcVar9 + 0x24865c) + -0x7784" (pointer_expression "*(int *)(pcVar9 + 0x24865c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x24865c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x24865c)" (( "(") (binary_expression "pcVar9 + 0x24865c" (identifier "pcVar9") (+ "+") (number_literal "0x24865c")) () ")")))) (+ "+") (number_literal "-0x7784")) () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x248780);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x248780)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(pcVar10 + 0x248780)" (* "*") (cast_expression "(code **)(pcVar10 + 0x248780)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x248780)" (( "(") (binary_expression "pcVar10 + 0x248780" (identifier "pcVar10") (+ "+") (number_literal "0x248780")) () ")"))))) (; ";")) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x248628) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x248628)" (* "*") (cast_expression "(int *)(pcVar10 + 0x248628)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x248628)" (( "(") (binary_expression "pcVar10 + 0x248628" (identifier "pcVar10") (+ "+") (number_literal "0x248628")) () ")")))) (+ "+") (number_literal "-0x7b3c")) (, ",") (number_literal "0x685") (, ",") (binary_expression "*(int *)(pcVar10 + 0x248628) + -0x779c" (pointer_expression "*(int *)(pcVar10 + 0x248628)" (* "*") (cast_expression "(int *)(pcVar10 + 0x248628)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x248628)" (( "(") (binary_expression "pcVar10 + 0x248628" (identifier "pcVar10") (+ "+") (number_literal "0x248628")) () ")")))) (+ "+") (number_literal "-0x779c")) () ")"))) (; ";")) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x24874c);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x24874c)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(pcVar9 + 0x24874c)" (* "*") (cast_expression "(code **)(pcVar9 + 0x24874c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x24874c)" (( "(") (binary_expression "pcVar9 + 0x24874c" (identifier "pcVar9") (+ "+") (number_literal "0x24874c")) () ")"))))) (; ";")) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4)" (( "(") (binary_expression "*(int *)(pcVar9 + 0x2485f4) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x2485f4)" (* "*") (cast_expression "(int *)(pcVar9 + 0x2485f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x2485f4)" (( "(") (binary_expression "pcVar9 + 0x2485f4" (identifier "pcVar9") (+ "+") (number_literal "0x2485f4")) () ")")))) (+ "+") (number_literal "-0x7b3c")) (, ",") (number_literal "0x66d") (, ",") (binary_expression "*(int *)(pcVar9 + 0x2485f4) + -0x77b4" (pointer_expression "*(int *)(pcVar9 + 0x2485f4)" (* "*") (cast_expression "(int *)(pcVar9 + 0x2485f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x2485f4)" (( "(") (binary_expression "pcVar9 + 0x2485f4" (identifier "pcVar9") (+ "+") (number_literal "0x2485f4")) () ")")))) (+ "+") (number_literal "-0x77b4")) () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x248718);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x248718)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(pcVar10 + 0x248718)" (* "*") (cast_expression "(code **)(pcVar10 + 0x248718)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x248718)" (( "(") (binary_expression "pcVar10 + 0x248718" (identifier "pcVar10") (+ "+") (number_literal "0x248718")) () ")"))))) (; ";")) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x2485c0) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x2485c0)" (* "*") (cast_expression "(int *)(pcVar10 + 0x2485c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x2485c0)" (( "(") (binary_expression "pcVar10 + 0x2485c0" (identifier "pcVar10") (+ "+") (number_literal "0x2485c0")) () ")")))) (+ "+") (number_literal "-0x7b3c")) (, ",") (number_literal "0x659") (, ",") (binary_expression "*(int *)(pcVar10 + 0x2485c0) + -0x77c4" (pointer_expression "*(int *)(pcVar10 + 0x2485c0)" (* "*") (cast_expression "(int *)(pcVar10 + 0x2485c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x2485c0)" (( "(") (binary_expression "pcVar10 + 0x2485c0" (identifier "pcVar10") (+ "+") (number_literal "0x2485c0")) () ")")))) (+ "+") (number_literal "-0x77c4")) () ")"))) (; ";")) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x2486e4);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x2486e4)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(pcVar9 + 0x2486e4)" (* "*") (cast_expression "(code **)(pcVar9 + 0x2486e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x2486e4)" (( "(") (binary_expression "pcVar9 + 0x2486e4" (identifier "pcVar9") (+ "+") (number_literal "0x2486e4")) () ")"))))) (; ";")) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4)" (( "(") (binary_expression "*(int *)(pcVar9 + 0x24858c) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x24858c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x24858c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x24858c)" (( "(") (binary_expression "pcVar9 + 0x24858c" (identifier "pcVar9") (+ "+") (number_literal "0x24858c")) () ")")))) (+ "+") (number_literal "-0x7b3c")) (, ",") (number_literal "0x64f") (, ",") (binary_expression "*(int *)(pcVar9 + 0x24858c) + -0x77d4" (pointer_expression "*(int *)(pcVar9 + 0x24858c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x24858c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x24858c)" (( "(") (binary_expression "pcVar9 + 0x24858c" (identifier "pcVar9") (+ "+") (number_literal "0x24858c")) () ")")))) (+ "+") (number_literal "-0x77d4")) () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x2486b0);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x2486b0)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(pcVar10 + 0x2486b0)" (* "*") (cast_expression "(code **)(pcVar10 + 0x2486b0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x2486b0)" (( "(") (binary_expression "pcVar10 + 0x2486b0" (identifier "pcVar10") (+ "+") (number_literal "0x2486b0")) () ")"))))) (; ";")) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x248558) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x248558)" (* "*") (cast_expression "(int *)(pcVar10 + 0x248558)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x248558)" (( "(") (binary_expression "pcVar10 + 0x248558" (identifier "pcVar10") (+ "+") (number_literal "0x248558")) () ")")))) (+ "+") (number_literal "-0x7b3c")) (, ",") (number_literal "0x63b") (, ",") (binary_expression "*(int *)(pcVar10 + 0x248558) + -0x77e8" (pointer_expression "*(int *)(pcVar10 + 0x248558)" (* "*") (cast_expression "(int *)(pcVar10 + 0x248558)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x248558)" (( "(") (binary_expression "pcVar10 + 0x248558" (identifier "pcVar10") (+ "+") (number_literal "0x248558")) () ")")))) (+ "+") (number_literal "-0x77e8")) () ")"))) (; ";")) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x24867c);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x24867c)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(pcVar9 + 0x24867c)" (* "*") (cast_expression "(code **)(pcVar9 + 0x24867c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x24867c)" (( "(") (binary_expression "pcVar9 + 0x24867c" (identifier "pcVar9") (+ "+") (number_literal "0x24867c")) () ")"))))) (; ";")) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc)" (( "(") (binary_expression "*(int *)(pcVar9 + 0x248524) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x248524)" (* "*") (cast_expression "(int *)(pcVar9 + 0x248524)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x248524)" (( "(") (binary_expression "pcVar9 + 0x248524" (identifier "pcVar9") (+ "+") (number_literal "0x248524")) () ")")))) (+ "+") (number_literal "-0x7b3c")) (, ",") (number_literal "0x631") (, ",") (binary_expression "*(int *)(pcVar9 + 0x248524) + -0x77fc" (pointer_expression "*(int *)(pcVar9 + 0x248524)" (* "*") (cast_expression "(int *)(pcVar9 + 0x248524)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x248524)" (( "(") (binary_expression "pcVar9 + 0x248524" (identifier "pcVar9") (+ "+") (number_literal "0x248524")) () ")")))) (+ "+") (number_literal "-0x77fc")) () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x248648);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x248648)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(pcVar10 + 0x248648)" (* "*") (cast_expression "(code **)(pcVar10 + 0x248648)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x248648)" (( "(") (binary_expression "pcVar10 + 0x248648" (identifier "pcVar10") (+ "+") (number_literal "0x248648")) () ")"))))) (; ";")) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x2484f0) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x2484f0)" (* "*") (cast_expression "(int *)(pcVar10 + 0x2484f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x2484f0)" (( "(") (binary_expression "pcVar10 + 0x2484f0" (identifier "pcVar10") (+ "+") (number_literal "0x2484f0")) () ")")))) (+ "+") (number_literal "-0x7b3c")) (, ",") (number_literal "0x627") (, ",") (binary_expression "*(int *)(pcVar10 + 0x2484f0) + -0x7810" (pointer_expression "*(int *)(pcVar10 + 0x2484f0)" (* "*") (cast_expression "(int *)(pcVar10 + 0x2484f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x2484f0)" (( "(") (binary_expression "pcVar10 + 0x2484f0" (identifier "pcVar10") (+ "+") (number_literal "0x2484f0")) () ")")))) (+ "+") (number_literal "-0x7810")) () ")"))) (; ";")) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x248614);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x248614)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(pcVar9 + 0x248614)" (* "*") (cast_expression "(code **)(pcVar9 + 0x248614)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x248614)" (( "(") (binary_expression "pcVar9 + 0x248614" (identifier "pcVar9") (+ "+") (number_literal "0x248614")) () ")"))))) (; ";")) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824)" (( "(") (binary_expression "*(int *)(pcVar9 + 0x2484bc) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x2484bc)" (* "*") (cast_expression "(int *)(pcVar9 + 0x2484bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x2484bc)" (( "(") (binary_expression "pcVar9 + 0x2484bc" (identifier "pcVar9") (+ "+") (number_literal "0x2484bc")) () ")")))) (+ "+") (number_literal "-0x7b3c")) (, ",") (number_literal "0x61d") (, ",") (binary_expression "*(int *)(pcVar9 + 0x2484bc) + -0x7824" (pointer_expression "*(int *)(pcVar9 + 0x2484bc)" (* "*") (cast_expression "(int *)(pcVar9 + 0x2484bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x2484bc)" (( "(") (binary_expression "pcVar9 + 0x2484bc" (identifier "pcVar9") (+ "+") (number_literal "0x2484bc")) () ")")))) (+ "+") (number_literal "-0x7824")) () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x2485e0);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x2485e0)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(pcVar10 + 0x2485e0)" (* "*") (cast_expression "(code **)(pcVar10 + 0x2485e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x2485e0)" (( "(") (binary_expression "pcVar10 + 0x2485e0" (identifier "pcVar10") (+ "+") (number_literal "0x2485e0")) () ")"))))) (; ";")) (expression_statement "(*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844);" (call_expression "(*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x248488) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x248488)" (* "*") (cast_expression "(int *)(pcVar10 + 0x248488)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x248488)" (( "(") (binary_expression "pcVar10 + 0x248488" (identifier "pcVar10") (+ "+") (number_literal "0x248488")) () ")")))) (+ "+") (number_literal "-0x7b3c")) (, ",") (number_literal "0x5fd") (, ",") (binary_expression "*(int *)(pcVar10 + 0x248488) + -0x7844" (pointer_expression "*(int *)(pcVar10 + 0x248488)" (* "*") (cast_expression "(int *)(pcVar10 + 0x248488)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x248488)" (( "(") (binary_expression "pcVar10 + 0x248488" (identifier "pcVar10") (+ "+") (number_literal "0x248488")) () ")")))) (+ "+") (number_literal "-0x7844")) () ")"))) (; ";")) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x2485ac);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x2485ac)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(pcVar9 + 0x2485ac)" (* "*") (cast_expression "(code **)(pcVar9 + 0x2485ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x2485ac)" (( "(") (binary_expression "pcVar9 + 0x2485ac" (identifier "pcVar9") (+ "+") (number_literal "0x2485ac")) () ")"))))) (; ";")) (expression_statement "(*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850);" (call_expression "(*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850)" (( "(") (binary_expression "*(int *)(pcVar9 + 0x248454) + -0x7b3c" (pointer_expression "*(int *)(pcVar9 + 0x248454)" (* "*") (cast_expression "(int *)(pcVar9 + 0x248454)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x248454)" (( "(") (binary_expression "pcVar9 + 0x248454" (identifier "pcVar9") (+ "+") (number_literal "0x248454")) () ")")))) (+ "+") (number_literal "-0x7b3c")) (, ",") (number_literal "0x55d") (, ",") (binary_expression "*(int *)(pcVar9 + 0x248454) + -0x7850" (pointer_expression "*(int *)(pcVar9 + 0x248454)" (* "*") (cast_expression "(int *)(pcVar9 + 0x248454)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x248454)" (( "(") (binary_expression "pcVar9 + 0x248454" (identifier "pcVar9") (+ "+") (number_literal "0x248454")) () ")")))) (+ "+") (number_literal "-0x7850")) () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)(pcVar10 + 0x248578);" (assignment_expression "pcVar9 = *(code **)(pcVar10 + 0x248578)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(pcVar10 + 0x248578)" (* "*") (cast_expression "(code **)(pcVar10 + 0x248578)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x248578)" (( "(") (binary_expression "pcVar10 + 0x248578" (identifier "pcVar10") (+ "+") (number_literal "0x248578")) () ")"))))) (; ";")) (expression_statement "piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c);" (assignment_expression "piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c)" (identifier "piVar2") (= "=") (cast_expression "(int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar10 + 0x248420) + -0x7b3c)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x248420) + -0x7b3c" (pointer_expression "*(int *)(pcVar10 + 0x248420)" (* "*") (cast_expression "(int *)(pcVar10 + 0x248420)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x248420)" (( "(") (binary_expression "pcVar10 + 0x248420" (identifier "pcVar10") (+ "+") (number_literal "0x248420")) () ")")))) (+ "+") (number_literal "-0x7b3c")) () ")")))) (; ";")) (expression_statement "(*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860);" (call_expression "(*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860)" (( "(") (identifier "piVar2") (, ",") (number_literal "0x553") (, ",") (binary_expression "*(int *)(pcVar10 + 0x248420) + -0x7860" (pointer_expression "*(int *)(pcVar10 + 0x248420)" (* "*") (cast_expression "(int *)(pcVar10 + 0x248420)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x248420)" (( "(") (binary_expression "pcVar10 + 0x248420" (identifier "pcVar10") (+ "+") (number_literal "0x248420")) () ")")))) (+ "+") (number_literal "-0x7860")) () ")"))) (; ";")) (expression_statement "iVar3 = piVar2[9];" (assignment_expression "iVar3 = piVar2[9]" (identifier "iVar3") (= "=") (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "*piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8;" (assignment_expression "*piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "*(int *)(pcVar9 + 0x24aea4) + 8" (pointer_expression "*(int *)(pcVar9 + 0x24aea4)" (* "*") (cast_expression "(int *)(pcVar9 + 0x24aea4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x24aea4)" (( "(") (binary_expression "pcVar9 + 0x24aea4" (identifier "pcVar9") (+ "+") (number_literal "0x24aea4")) () ")")))) (+ "+") (number_literal "8"))) (; ";")) (if_statement "if (iVar3 == 0) {\nLAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);\n    *piVar2 = iVar3 + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }\n                    \n                    \n    iVar3 = (**(code **)(pcVar9 + 0x24840c))();\n    return iVar3;\n  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);\n    *piVar2 = iVar3 + 8;\n    if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }\n                    \n                    \n    iVar3 = (**(code **)(pcVar9 + 0x24840c))();\n    return iVar3;\n  }" ({ "{") (labeled_statement "LAB_001e9ef0:\n    iVar3 = *(int *)(pcVar9 + 0x249368);" (statement_identifier "LAB_001e9ef0") (: ":") (expression_statement "iVar3 = *(int *)(pcVar9 + 0x249368);" (assignment_expression "iVar3 = *(int *)(pcVar9 + 0x249368)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(pcVar9 + 0x249368)" (* "*") (cast_expression "(int *)(pcVar9 + 0x249368)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x249368)" (( "(") (binary_expression "pcVar9 + 0x249368" (identifier "pcVar9") (+ "+") (number_literal "0x249368")) () ")"))))) (; ";"))) (expression_statement "*piVar2 = iVar3 + 8;" (assignment_expression "*piVar2 = iVar3 + 8" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "iVar3 + 8" (identifier "iVar3") (+ "+") (number_literal "8"))) (; ";")) (if_statement "if ((int *)piVar2[2] == piVar2 + 4) {\n      return iVar3 + 8;\n    }" (if "if") (parenthesized_expression "((int *)piVar2[2] == piVar2 + 4)" (( "(") (binary_expression "(int *)piVar2[2] == piVar2 + 4" (cast_expression "(int *)piVar2[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]"))) (== "==") (binary_expression "piVar2 + 4" (identifier "piVar2") (+ "+") (number_literal "4"))) () ")")) (compound_statement "{\n      return iVar3 + 8;\n    }" ({ "{") (return_statement "return iVar3 + 8;" (return "return") (binary_expression "iVar3 + 8" (identifier "iVar3") (+ "+") (number_literal "8")) (; ";")) (} "}"))) (expression_statement "iVar3 = (**(code **)(pcVar9 + 0x24840c))();" (assignment_expression "iVar3 = (**(code **)(pcVar9 + 0x24840c))()" (identifier "iVar3") (= "=") (call_expression "(**(code **)(pcVar9 + 0x24840c))()" (parenthesized_expression "(**(code **)(pcVar9 + 0x24840c))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x24840c)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x24840c)" (* "*") (cast_expression "(code **)(pcVar9 + 0x24840c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x24840c)" (( "(") (binary_expression "pcVar9 + 0x24840c" (identifier "pcVar9") (+ "+") (number_literal "0x24840c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return iVar3;" (return "return") (identifier "iVar3") (; ";")) (} "}"))) (expression_statement "uVar4 = 100;" (assignment_expression "uVar4 = 100" (identifier "uVar4") (= "=") (number_literal "100")) (; ";")) (if_statement "if (*(int *)(iVar3 + 4) == 0) {\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 4) == 0)" (( "(") (binary_expression "*(int *)(iVar3 + 4) == 0" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }\n    uVar4 = 0x65;\n  }" ({ "{") (if_statement "if (*(int *)(iVar3 + 8) == 0) {\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 8) == 0)" (( "(") (binary_expression "*(int *)(iVar3 + 8) == 0" (pointer_expression "*(int *)(iVar3 + 8)" (* "*") (cast_expression "(int *)(iVar3 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 8)" (( "(") (binary_expression "iVar3 + 8" (identifier "iVar3") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }\n      (**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);\n    }" ({ "{") (if_statement "if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }" (if "if") (parenthesized_expression "((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0))" (( "(") (binary_expression "(*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)" (parenthesized_expression "(*(int *)(iVar3 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(iVar3 + 0xc) == 0" (pointer_expression "*(int *)(iVar3 + 0xc)" (* "*") (cast_expression "(int *)(iVar3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0xc)" (( "(") (binary_expression "iVar3 + 0xc" (identifier "iVar3") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar3 + 0x10) == 0)" (( "(") (binary_expression "*(int *)(iVar3 + 0x10) == 0" (pointer_expression "*(int *)(iVar3 + 0x10)" (* "*") (cast_expression "(int *)(iVar3 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x10)" (( "(") (binary_expression "iVar3 + 0x10" (identifier "iVar3") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);\n        goto LAB_001e9ef0;\n      }" ({ "{") (expression_statement "(**(code **)(pcVar9 + 0x248540))(iVar3,0x14);" (call_expression "(**(code **)(pcVar9 + 0x248540))(iVar3,0x14)" (parenthesized_expression "(**(code **)(pcVar9 + 0x248540))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x248540)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x248540)" (* "*") (cast_expression "(code **)(pcVar9 + 0x248540)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x248540)" (( "(") (binary_expression "pcVar9 + 0x248540" (identifier "pcVar9") (+ "+") (number_literal "0x248540")) () ")"))))) () ")")) (argument_list "(iVar3,0x14)" (( "(") (identifier "iVar3") (, ",") (number_literal "0x14") () ")"))) (; ";")) (goto_statement "goto LAB_001e9ef0;" (goto "goto") (statement_identifier "LAB_001e9ef0") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);" (call_expression "(**(code **)(pcVar9 + 0x248544))\n                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0)" (parenthesized_expression "(**(code **)(pcVar9 + 0x248544))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x248544)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x248544)" (* "*") (cast_expression "(code **)(pcVar9 + 0x248544)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x248544)" (( "(") (binary_expression "pcVar9 + 0x248544" (identifier "pcVar9") (+ "+") (number_literal "0x248544")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0)" (( "(") (binary_expression "*(int *)(pcVar9 + 0x24838c) + 0x48a0" (pointer_expression "*(int *)(pcVar9 + 0x24838c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x24838c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x24838c)" (( "(") (binary_expression "pcVar9 + 0x24838c" (identifier "pcVar9") (+ "+") (number_literal "0x24838c")) () ")")))) (+ "+") (number_literal "0x48a0")) (, ",") (number_literal "0x2c") (, ",") (binary_expression "*(int *)(pcVar9 + 0x2483ec) + -0x78a0" (pointer_expression "*(int *)(pcVar9 + 0x2483ec)" (* "*") (cast_expression "(int *)(pcVar9 + 0x2483ec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x2483ec)" (( "(") (binary_expression "pcVar9 + 0x2483ec" (identifier "pcVar9") (+ "+") (number_literal "0x2483ec")) () ")")))) (+ "+") (number_literal "-0x78a0")) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar4 = 0x65;" (assignment_expression "uVar4 = 0x65" (identifier "uVar4") (= "=") (number_literal "0x65")) (; ";")) (} "}"))) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x248544);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x248544)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(pcVar9 + 0x248544)" (* "*") (cast_expression "(code **)(pcVar9 + 0x248544)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x248544)" (( "(") (binary_expression "pcVar9 + 0x248544" (identifier "pcVar9") (+ "+") (number_literal "0x248544")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894;" (assignment_expression "iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894" (identifier "iVar5") (= "=") (binary_expression "*(int *)(pcVar9 + 0x2483ec) + -0x7894" (pointer_expression "*(int *)(pcVar9 + 0x2483ec)" (* "*") (cast_expression "(int *)(pcVar9 + 0x2483ec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x2483ec)" (( "(") (binary_expression "pcVar9 + 0x2483ec" (identifier "pcVar9") (+ "+") (number_literal "0x2483ec")) () ")")))) (+ "+") (number_literal "-0x7894"))) (; ";")) (expression_statement "iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0;" (assignment_expression "iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0" (identifier "iVar3") (= "=") (binary_expression "*(int *)(pcVar9 + 0x24838c) + 0x48a0" (pointer_expression "*(int *)(pcVar9 + 0x24838c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x24838c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x24838c)" (( "(") (binary_expression "pcVar9 + 0x24838c" (identifier "pcVar9") (+ "+") (number_literal "0x24838c")) () ")")))) (+ "+") (number_literal "0x48a0"))) (; ";")) (expression_statement "(*pcVar10)(iVar3,uVar4,iVar5);" (call_expression "(*pcVar10)(iVar3,uVar4,iVar5)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(iVar3,uVar4,iVar5)" (( "(") (identifier "iVar3") (, ",") (identifier "uVar4") (, ",") (identifier "iVar5") () ")"))) (; ";")) (expression_statement "iVar6 = *(int *)(iVar3 + 0x38);" (assignment_expression "iVar6 = *(int *)(iVar3 + 0x38)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar3 + 0x38)" (* "*") (cast_expression "(int *)(iVar3 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x38)" (( "(") (binary_expression "iVar3 + 0x38" (identifier "iVar3") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "aiStack_218[0] = 0;" (assignment_expression "aiStack_218[0] = 0" (subscript_expression "aiStack_218[0]" (identifier "aiStack_218") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_21c = 0;" (assignment_expression "uStack_21c = 0" (identifier "uStack_21c") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < iVar6) {\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }\n  }" (if "if") (parenthesized_expression "(0 < iVar6)" (( "(") (binary_expression "0 < iVar6" (number_literal "0") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n    iVar7 = 0;\n    piStack_208 = piVar2;\n    do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);\n    if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }\n  }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "piStack_208 = piVar2;" (assignment_expression "piStack_208 = piVar2" (identifier "piStack_208") (= "=") (identifier "piVar2")) (; ";")) (do_statement "do {\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    } while (iVar7 < iVar6);" (do "do") (compound_statement "{\n      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);\n      if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }\n      iVar7 = iVar7 + 1;\n    }" ({ "{") (expression_statement "puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);" (assignment_expression "puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20)" (identifier "puVar1") (= "=") (cast_expression "(undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20)" (( "(") (binary_expression "*(int *)(iVar3 + 0x3c) + iVar7 * 0x20" (pointer_expression "*(int *)(iVar3 + 0x3c)" (* "*") (cast_expression "(int *)(iVar3 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x3c)" (( "(") (binary_expression "iVar3 + 0x3c" (identifier "iVar3") (+ "+") (number_literal "0x3c")) () ")")))) (+ "+") (binary_expression "iVar7 * 0x20" (identifier "iVar7") (* "*") (number_literal "0x20"))) () ")")))) (; ";")) (if_statement "if (1 < puVar1[2] - 2) {\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }" (if "if") (parenthesized_expression "(1 < puVar1[2] - 2)" (( "(") (binary_expression "1 < puVar1[2] - 2" (number_literal "1") (< "<") (binary_expression "puVar1[2] - 2" (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]")) (- "-") (number_literal "2"))) () ")")) (compound_statement "{\n        iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);\n        if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }\n        iVar6 = *(int *)(iVar3 + 0x38);\n      }" ({ "{") (expression_statement "iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c);" (assignment_expression "iStack_210 = (**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c)" (identifier "iStack_210") (= "=") (call_expression "(**(code **)(pcVar10 + 0x24a450))\n                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x24a450))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x24a450)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x24a450)" (* "*") (cast_expression "(code **)(pcVar10 + 0x24a450)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x24a450)" (( "(") (binary_expression "pcVar10 + 0x24a450" (identifier "pcVar10") (+ "+") (number_literal "0x24a450")) () ")"))))) () ")")) (argument_list "(uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,\n                                &uStack_21c)" (( "(") (identifier "uVar4") (, ",") (identifier "iVar5") (, ",") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (, ",") (identifier "auStack_220") (, ",") (binary_expression "pcVar9 + 0x250350" (identifier "pcVar9") (+ "+") (number_literal "0x250350")) (, ",") (identifier "aiStack_218") (, ",") (pointer_expression "&uStack_21c" (& "&") (identifier "uStack_21c")) () ")")))) (; ";")) (if_statement "if (iStack_210 == 1) {\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }" (if "if") (parenthesized_expression "(iStack_210 == 1)" (( "(") (binary_expression "iStack_210 == 1" (identifier "iStack_210") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          if (aiStack_218[0] == 0) {\n            return 1;\n          }\n          (**(code **)(pcVar10 + 0x24c8a0))();\n          return iStack_210;\n        }" ({ "{") (if_statement "if (aiStack_218[0] == 0) {\n            return 1;\n          }" (if "if") (parenthesized_expression "(aiStack_218[0] == 0)" (( "(") (binary_expression "aiStack_218[0] == 0" (subscript_expression "aiStack_218[0]" (identifier "aiStack_218") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            return 1;\n          }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar10 + 0x24c8a0))();" (call_expression "(**(code **)(pcVar10 + 0x24c8a0))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x24c8a0))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x24c8a0)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x24c8a0)" (* "*") (cast_expression "(code **)(pcVar10 + 0x24c8a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x24c8a0)" (( "(") (binary_expression "pcVar10 + 0x24c8a0" (identifier "pcVar10") (+ "+") (number_literal "0x24c8a0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return iStack_210;" (return "return") (identifier "iStack_210") (; ";")) (} "}"))) (expression_statement "iVar6 = *(int *)(iVar3 + 0x38);" (assignment_expression "iVar6 = *(int *)(iVar3 + 0x38)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar3 + 0x38)" (* "*") (cast_expression "(int *)(iVar3 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x38)" (( "(") (binary_expression "iVar3 + 0x38" (identifier "iVar3") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar7 < iVar6)" (( "(") (binary_expression "iVar7 < iVar6" (identifier "iVar7") (< "<") (identifier "iVar6")) () ")")) (; ";")) (if_statement "if (aiStack_218[0] != 0) {\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }" (if "if") (parenthesized_expression "(aiStack_218[0] != 0)" (( "(") (binary_expression "aiStack_218[0] != 0" (subscript_expression "aiStack_218[0]" (identifier "aiStack_218") ([ "[") (number_literal "0") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcVar10 + 0x24c8a0))();\n      return 2;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar10 + 0x24c8a0))();" (call_expression "(**(code **)(pcVar10 + 0x24c8a0))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x24c8a0))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x24c8a0)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x24c8a0)" (* "*") (cast_expression "(code **)(pcVar10 + 0x24c8a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x24c8a0)" (( "(") (binary_expression "pcVar10 + 0x24c8a0" (identifier "pcVar10") (+ "+") (number_literal "0x24c8a0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return 2;" (return "return") (number_literal "2") (; ";")) (} "}"))) (} "}"))) (return_statement "return 2;" (return "return") (number_literal "2") (; ";")) (} "}")))

/* DWARF original prototype: void do_for_all_local_got_entries(Sized_pluginobj<32,_false> * this,
   Visitor * param_1) */

void __thiscall
gold::Sized_pluginobj<32,_false>::do_for_all_local_got_entries
          (Sized_pluginobj<32,_false> *this,Visitor *param_1)

{
  type_1 *puVar1;
  int *var_6;
  int var_5;
  type_1 uVar4;
  int iVar5;
  int var_7;
  int var_8;
  type_2 *var_2;
  type_3 *var_3;
  type_3 *var_4;
  type_4 auStack_220 [4];
  type_1 uStack_21c;
  int aiStack_218 [2];
  int var_9;
  int *piStack_208;
  
  var_2 = PTR_do_gold_unreachable_004323c4;
  (*(type_3 *)PTR_do_gold_unreachable_004323c4)
            (var_1 + -0x7b3c,0x5fd,var_1 + -0x7768);
  var_3 = *(type_3 **)(var_2 + 0x2487e8);
  (*var_3)(*(int *)(var_2 + 0x248690) + -0x7b3c,0x55d,*(int *)(var_2 + 0x248690) + -0x7774);
  var_4 = *(type_3 **)(var_3 + 0x2487b4);
  (*var_4)(*(int *)(var_3 + 0x24865c) + -0x7b3c,0x553,*(int *)(var_3 + 0x24865c) + -0x7784);
  var_3 = *(type_3 **)(var_4 + 0x248780);
  (*var_3)(*(int *)(var_4 + 0x248628) + -0x7b3c,0x685,*(int *)(var_4 + 0x248628) + -0x779c);
  var_4 = *(type_3 **)(var_3 + 0x24874c);
  (*var_4)(*(int *)(var_3 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(var_3 + 0x2485f4) + -0x77b4);
  var_3 = *(type_3 **)(var_4 + 0x248718);
  (*var_3)(*(int *)(var_4 + 0x2485c0) + -0x7b3c,0x659,*(int *)(var_4 + 0x2485c0) + -0x77c4);
  var_4 = *(type_3 **)(var_3 + 0x2486e4);
  (*var_4)(*(int *)(var_3 + 0x24858c) + -0x7b3c,0x64f,*(int *)(var_3 + 0x24858c) + -0x77d4);
  var_3 = *(type_3 **)(var_4 + 0x2486b0);
  (*var_3)(*(int *)(var_4 + 0x248558) + -0x7b3c,0x63b,*(int *)(var_4 + 0x248558) + -0x77e8);
  var_4 = *(type_3 **)(var_3 + 0x24867c);
  (*var_4)(*(int *)(var_3 + 0x248524) + -0x7b3c,0x631,*(int *)(var_3 + 0x248524) + -0x77fc);
  var_3 = *(type_3 **)(var_4 + 0x248648);
  (*var_3)(*(int *)(var_4 + 0x2484f0) + -0x7b3c,0x627,*(int *)(var_4 + 0x2484f0) + -0x7810);
  var_4 = *(type_3 **)(var_3 + 0x248614);
  (*var_4)(*(int *)(var_3 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(var_3 + 0x2484bc) + -0x7824);
  var_3 = *(type_3 **)(var_4 + 0x2485e0);
  (*var_3)(*(int *)(var_4 + 0x248488) + -0x7b3c,0x5fd,*(int *)(var_4 + 0x248488) + -0x7844);
  var_4 = *(type_3 **)(var_3 + 0x2485ac);
  (*var_4)(*(int *)(var_3 + 0x248454) + -0x7b3c,0x55d,*(int *)(var_3 + 0x248454) + -0x7850);
  var_3 = *(type_3 **)(var_4 + 0x248578);
  var_6 = (int *)(*(int *)(var_4 + 0x248420) + -0x7b3c);
  (*var_3)(var_6,0x553,*(int *)(var_4 + 0x248420) + -0x7860);
  var_5 = var_6[9];
  *var_6 = *(int *)(var_3 + 0x24aea4) + 8;
  if (var_5 == 0) {
LAB_001e9ef0:
    *var_6 = *(int *)(var_3 + 0x249368) + 8;
    if ((int *)var_6[2] == var_6 + 4) {
      return;
    }
                    /* WARNING: Could not recover jumptable at 0x001e9f14. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(type_3 **)(var_3 + 0x24840c))();
    return;
  }
  uVar4 = 100;
  if (*(int *)(var_5 + 4) == 0) {
    if (*(int *)(var_5 + 8) == 0) {
      if ((*(int *)(var_5 + 0xc) == 0) && (*(int *)(var_5 + 0x10) == 0)) {
        (**(type_3 **)(var_3 + 0x248540))(var_5,0x14);
        goto LAB_001e9ef0;
      }
      (**(type_3 **)(var_3 + 0x248544))
                (*(int *)(var_3 + 0x24838c) + 0x48a0,0x2c,*(int *)(var_3 + 0x2483ec) + -0x78a0);
    }
    uVar4 = 0x65;
  }
  var_4 = *(type_3 **)(var_3 + 0x248544);
  iVar5 = *(int *)(var_3 + 0x2483ec) + -0x7894;
  var_5 = *(int *)(var_3 + 0x24838c) + 0x48a0;
  (*var_4)(var_5,uVar4,iVar5);
  var_7 = *(int *)(var_5 + 0x38);
  aiStack_218[0] = 0;
  uStack_21c = 0;
  if (0 < var_7) {
    var_8 = 0;
    piStack_208 = var_6;
    do {
      puVar1 = (type_1 *)(*(int *)(var_5 + 0x3c) + var_8 * 0x20);
      if (1 < puVar1[2] - 2) {
        var_9 = (**(type_3 **)(var_4 + 0x24a450))
                               (uVar4,iVar5,*puVar1,auStack_220,var_3 + 0x250350,aiStack_218,
                                &uStack_21c);
        if (var_9 == 1) {
          if (aiStack_218[0] == 0) {
            return;
          }
          (**(type_3 **)(var_4 + 0x24c8a0))();
          return;
        }
        var_7 = *(int *)(var_5 + 0x38);
      }
      var_8 = var_8 + 1;
    } while (var_8 < var_7);
    if (aiStack_218[0] != 0) {
      (**(type_3 **)(var_4 + 0x24c8a0))();
      return;
    }
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) 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: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator 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: (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: (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 (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (return_statement (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (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 (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier)) (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (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))) (return_statement (number_literal)))))) (return_statement (number_literal)))))

int MASKED(void)

{
  undefined4 *puVar1;
  int *piVar2;
  int iVar3;
  undefined4 uVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  undefined *puVar8;
  code *pcVar9;
  code *pcVar10;
  undefined1 auStack_220 [4];
  undefined4 uStack_21c;
  int aiStack_218 [2];
  int iStack_210;
  int *piStack_208;
  
  puVar8 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)
            (PTR_DAT_0043226c + -0x7b3c,0x5fd,PTR_DAT_0043226c + -0x7768);
  pcVar9 = *(code **)(puVar8 + 0x2487e8);
  (*pcVar9)(*(int *)(puVar8 + 0x248690) + -0x7b3c,0x55d,*(int *)(puVar8 + 0x248690) + -0x7774);
  pcVar10 = *(code **)(pcVar9 + 0x2487b4);
  (*pcVar10)(*(int *)(pcVar9 + 0x24865c) + -0x7b3c,0x553,*(int *)(pcVar9 + 0x24865c) + -0x7784);
  pcVar9 = *(code **)(pcVar10 + 0x248780);
  (*pcVar9)(*(int *)(pcVar10 + 0x248628) + -0x7b3c,0x685,*(int *)(pcVar10 + 0x248628) + -0x779c);
  pcVar10 = *(code **)(pcVar9 + 0x24874c);
  (*pcVar10)(*(int *)(pcVar9 + 0x2485f4) + -0x7b3c,0x66d,*(int *)(pcVar9 + 0x2485f4) + -0x77b4);
  pcVar9 = *(code **)(pcVar10 + 0x248718);
  (*pcVar9)(*(int *)(pcVar10 + 0x2485c0) + -0x7b3c,0x659,*(int *)(pcVar10 + 0x2485c0) + -0x77c4);
  pcVar10 = *(code **)(pcVar9 + 0x2486e4);
  (*pcVar10)(*(int *)(pcVar9 + 0x24858c) + -0x7b3c,0x64f,*(int *)(pcVar9 + 0x24858c) + -0x77d4);
  pcVar9 = *(code **)(pcVar10 + 0x2486b0);
  (*pcVar9)(*(int *)(pcVar10 + 0x248558) + -0x7b3c,0x63b,*(int *)(pcVar10 + 0x248558) + -0x77e8);
  pcVar10 = *(code **)(pcVar9 + 0x24867c);
  (*pcVar10)(*(int *)(pcVar9 + 0x248524) + -0x7b3c,0x631,*(int *)(pcVar9 + 0x248524) + -0x77fc);
  pcVar9 = *(code **)(pcVar10 + 0x248648);
  (*pcVar9)(*(int *)(pcVar10 + 0x2484f0) + -0x7b3c,0x627,*(int *)(pcVar10 + 0x2484f0) + -0x7810);
  pcVar10 = *(code **)(pcVar9 + 0x248614);
  (*pcVar10)(*(int *)(pcVar9 + 0x2484bc) + -0x7b3c,0x61d,*(int *)(pcVar9 + 0x2484bc) + -0x7824);
  pcVar9 = *(code **)(pcVar10 + 0x2485e0);
  (*pcVar9)(*(int *)(pcVar10 + 0x248488) + -0x7b3c,0x5fd,*(int *)(pcVar10 + 0x248488) + -0x7844);
  pcVar10 = *(code **)(pcVar9 + 0x2485ac);
  (*pcVar10)(*(int *)(pcVar9 + 0x248454) + -0x7b3c,0x55d,*(int *)(pcVar9 + 0x248454) + -0x7850);
  pcVar9 = *(code **)(pcVar10 + 0x248578);
  piVar2 = (int *)(*(int *)(pcVar10 + 0x248420) + -0x7b3c);
  (*pcVar9)(piVar2,0x553,*(int *)(pcVar10 + 0x248420) + -0x7860);
  iVar3 = piVar2[9];
  *piVar2 = *(int *)(pcVar9 + 0x24aea4) + 8;
  if (iVar3 == 0) {
LAB_001e9ef0:
    iVar3 = *(int *)(pcVar9 + 0x249368);
    *piVar2 = iVar3 + 8;
    if ((int *)piVar2[2] == piVar2 + 4) {
      return iVar3 + 8;
    }
                    /* WARNING: Could not recover jumptable at 0x001e9f14. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    iVar3 = (**(code **)(pcVar9 + 0x24840c))();
    return iVar3;
  }
  uVar4 = 100;
  if (*(int *)(iVar3 + 4) == 0) {
    if (*(int *)(iVar3 + 8) == 0) {
      if ((*(int *)(iVar3 + 0xc) == 0) && (*(int *)(iVar3 + 0x10) == 0)) {
        (**(code **)(pcVar9 + 0x248540))(iVar3,0x14);
        goto LAB_001e9ef0;
      }
      (**(code **)(pcVar9 + 0x248544))
                (*(int *)(pcVar9 + 0x24838c) + 0x48a0,0x2c,*(int *)(pcVar9 + 0x2483ec) + -0x78a0);
    }
    uVar4 = 0x65;
  }
  pcVar10 = *(code **)(pcVar9 + 0x248544);
  iVar5 = *(int *)(pcVar9 + 0x2483ec) + -0x7894;
  iVar3 = *(int *)(pcVar9 + 0x24838c) + 0x48a0;
  (*pcVar10)(iVar3,uVar4,iVar5);
  iVar6 = *(int *)(iVar3 + 0x38);
  aiStack_218[0] = 0;
  uStack_21c = 0;
  if (0 < iVar6) {
    iVar7 = 0;
    piStack_208 = piVar2;
    do {
      puVar1 = (undefined4 *)(*(int *)(iVar3 + 0x3c) + iVar7 * 0x20);
      if (1 < puVar1[2] - 2) {
        iStack_210 = (**(code **)(pcVar10 + 0x24a450))
                               (uVar4,iVar5,*puVar1,auStack_220,pcVar9 + 0x250350,aiStack_218,
                                &uStack_21c);
        if (iStack_210 == 1) {
          if (aiStack_218[0] == 0) {
            return 1;
          }
          (**(code **)(pcVar10 + 0x24c8a0))();
          return iStack_210;
        }
        iVar6 = *(int *)(iVar3 + 0x38);
      }
      iVar7 = iVar7 + 1;
    } while (iVar7 < iVar6);
    if (aiStack_218[0] != 0) {
      (**(code **)(pcVar10 + 0x24c8a0))();
      return 2;
    }
  }
  return 2;
}

