
char * conf_get_str(Conf *conf,int primary)

{
  undefined *puVar1;
  int iVar2;
  char *pcVar3;
  undefined4 *puVar4;
  int iVar5;
  undefined *puVar6;
  undefined4 uVar7;
  int *piVar8;
  undefined *puVar9;
  code *pcVar10;
  undefined *puStack_44;
  undefined4 uStack_40;
  int iStack_3c;
  undefined *puStack_38;
  code *pcStack_34;
  key key;
  
  puVar1 = PTR___stack_chk_guard_000a7ec8;
  iVar5 = *(int *)PTR___stack_chk_guard_000a7ec8;
  if (*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x5cd4) == 0) {
    if (*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x59f4) == 2) {
      key.primary = primary;
      iVar2 = (*(code *)PTR_find234_000a71f8)(conf->tree,&key,0);
      if (iVar2 != 0) {
        if (iVar5 == *(int *)puVar1) {
          return *(char **)(iVar2 + 8);
        }
        goto LAB_00020300;
      }
      goto LAB_0002030c;
    }
  }
  else {
    (*(code *)PTR___assert_fail_000a7840)
              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57ac,
               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x123,
               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);
LAB_00020300:
    (*(code *)PTR___stack_chk_fail_000a7b74)();
LAB_0002030c:
    (*(code *)PTR___assert_fail_000a7840)
              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57a4,
               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x127,
               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);
  }
  uVar7 = 0x124;
  puVar6 = PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790;
  pcVar10 = conf_get_str_str_opt;
  puVar4 = (undefined4 *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5814);
  puVar9 = PTR___assert_fail_000a7840;
  (*(code *)PTR___assert_fail_000a7840)();
  puStack_38 = puVar1;
  piVar8 = *(int **)(puVar9 + 0x87b74);
  iStack_3c = *piVar8;
  pcStack_34 = pcVar10;
  if (*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x5cd4) == 2) {
    if (*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x59f4) != 2) goto LAB_00020428;
    puStack_44 = puVar6;
    uStack_40 = uVar7;
    pcVar3 = (char *)(**(code **)(puVar9 + 0x86ea4))(*puVar4,&puStack_44,0);
    if (pcVar3 != (char *)0x0) {
      pcVar3 = *(char **)(pcVar3 + 8);
    }
    if (iStack_3c == *piVar8) {
      return pcVar3;
    }
  }
  else {
    (**(code **)(puVar9 + 0x874ec))
              (*(int *)(puVar9 + 0x86da0) + 0x5834,*(int *)(puVar9 + 0x86da0) + 0x5790,0x130,
               *(int *)(puVar9 + 0x86da0) + 0x59a8);
  }
  (**(code **)(puVar9 + 0x87820))();
LAB_00020428:
  pcVar3 = (char *)(**(code **)(puVar9 + 0x874ec))
                             (*(int *)(puVar9 + 0x86da0) + 0x5814,
                              *(int *)(puVar9 + 0x86da0) + 0x5790,0x131,
                              *(int *)(puVar9 + 0x86da0) + 0x59a8);
  return pcVar3;
}



int * conf_get_str(undefined4 *param_1,int param_2)

{
  undefined *puVar1;
  int iVar2;
  int *piVar3;
  int *piVar4;
  undefined4 *puVar5;
  undefined4 *puVar6;
  undefined *puVar7;
  int *piVar8;
  int iVar9;
  int iVar10;
  undefined4 uVar11;
  int iVar12;
  int iVar13;
  int iVar14;
  undefined4 uVar15;
  int *piVar16;
  int iVar17;
  int *piVar18;
  int *unaff_s2;
  int unaff_s4;
  undefined *puVar19;
  code *pcVar20;
  code *pcVar21;
  code *pcVar22;
  int iStack_234;
  undefined4 uStack_230;
  int *piStack_22c;
  int *piStack_228;
  int iStack_224;
  int iStack_220;
  code *pcStack_21c;
  code *pcStack_208;
  int *piStack_200;
  int iStack_1fc;
  undefined4 uStack_1f8;
  int iStack_1f4;
  int iStack_1f0;
  code *pcStack_1ec;
  code *pcStack_1d8;
  int iStack_1cc;
  int iStack_1c8;
  int iStack_1c4;
  int iStack_1c0;
  code *pcStack_1bc;
  code *pcStack_1a8;
  int iStack_19c;
  int iStack_198;
  int iStack_194;
  undefined4 *puStack_190;
  code *pcStack_18c;
  code *pcStack_178;
  int *piStack_170;
  int *piStack_16c;
  int iStack_168;
  code *pcStack_164;
  code *pcStack_150;
  int aiStack_144 [2];
  int iStack_13c;
  int *piStack_138;
  code *pcStack_134;
  code *pcStack_120;
  int *apiStack_114 [2];
  int iStack_10c;
  int *piStack_108;
  code *pcStack_104;
  undefined4 **ppuStack_f0;
  code *pcStack_e8;
  int *piStack_e0;
  int iStack_dc;
  int iStack_d8;
  undefined4 *puStack_d4;
  int iStack_d0;
  int *piStack_cc;
  int *piStack_c8;
  int iStack_9c;
  int iStack_98;
  int iStack_94;
  int *piStack_90;
  undefined *puStack_44;
  undefined4 uStack_40;
  int iStack_3c;
  undefined *puStack_38;
  code *pcStack_34;
  int local_14 [2];
  int local_c;
  
  puVar1 = PTR___stack_chk_guard_000a7ec8;
  local_c = *(int *)PTR___stack_chk_guard_000a7ec8;
  if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0) {
    if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {
      local_14[0] = param_2;
      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);
      if (iVar2 != 0) {
        if (local_c == *(int *)puVar1) {
          return *(int **)(iVar2 + 8);
        }
        goto LAB_00020300;
      }
      goto LAB_0002030c;
    }
  }
  else {
    (*(code *)PTR___assert_fail_000a7840)
              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);
LAB_00020300:
    (*(code *)PTR___stack_chk_fail_000a7b74)();
LAB_0002030c:
    (*(code *)PTR___assert_fail_000a7840)
              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);
  }
  uVar11 = 0x124;
  puVar7 = PTR_DAT_000a70f4 + 0x5790;
  pcVar22 = conf_get_str_str_opt;
  puVar5 = (undefined4 *)(PTR_DAT_000a70f4 + 0x5814);
  puVar19 = PTR___assert_fail_000a7840;
  (*(code *)PTR___assert_fail_000a7840)();
  puStack_38 = puVar1;
  piVar18 = *(int **)(puVar19 + 0x87b74);
  iStack_3c = *piVar18;
  pcStack_34 = pcVar22;
  if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2) {
    if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {
      puStack_44 = puVar7;
      uStack_40 = uVar11;
      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);
      if (piVar3 != (int *)0x0) {
        piVar3 = (int *)piVar3[2];
      }
      if (iStack_3c == *piVar18) {
        return piVar3;
      }
      goto LAB_0002041c;
    }
  }
  else {
    (**(code **)(puVar19 + 0x874ec))
              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,
               *(int *)(puVar19 + 0x86da0) + 0x59a8);
LAB_0002041c:
    (**(code **)(puVar19 + 0x87820))();
  }
  pcVar22 = *(code **)(puVar19 + 0x874ec);
  (*pcVar22)(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,
             *(int *)(puVar19 + 0x86da0) + 0x59a8);
  piVar3 = (int *)conf_get_str_str_opt();
  if (piVar3 != (int *)0x0) {
    return piVar3;
  }
  iVar12 = 0x13b;
  pcVar20 = *(code **)(pcVar22 + 0x873f4);
  piVar16 = (int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994);
  iVar2 = *(int *)(pcVar22 + 0x86ca8) + 0x5790;
  puVar5 = (undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858);
  (*pcVar20)();
  piVar3 = *(int **)(pcVar20 + 0x87a20);
  iStack_94 = *piVar3;
  piStack_90 = piVar18;
  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2) {
    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {
      iStack_9c = iVar2;
      if (iVar12 == 0) {
        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;
        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))
                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);
      }
      else {
        iStack_98 = iVar12;
        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);
      }
      if (piVar18 != (int *)0x0) {
        if (*piVar18 == iVar2) {
          *piVar16 = piVar18[1];
          piVar18 = (int *)piVar18[2];
        }
        else {
          piVar18 = (int *)0x0;
        }
      }
      if (iStack_94 == *piVar3) {
        return piVar18;
      }
      (**(code **)(pcVar20 + 0x876cc))();
      unaff_s2 = piVar16;
    }
    (**(code **)(pcVar20 + 0x87398))
              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,
               *(int *)(pcVar20 + 0x86c4c) + 0x5980);
  }
  piVar18 = (int *)0x145;
  pcVar21 = *(code **)(pcVar20 + 0x87398);
  iVar12 = *(int *)(pcVar20 + 0x86c4c) + 0x5790;
  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834);
  (*pcVar21)();
  pcVar22 = pcVar21 + 0x8ea88;
  piVar16 = *(int **)(pcVar21 + 0x878c0);
  puStack_d4 = (undefined4 *)*piVar16;
  pcStack_e8 = pcVar22;
  iStack_d0 = iVar2;
  piStack_cc = piVar3;
  piStack_c8 = unaff_s2;
  if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2) {
    if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {
      (**(code **)(pcVar21 + 0x87238))
                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,
                 *(int *)(pcVar21 + 0x86aec) + 0x5968);
      goto LAB_00020744;
    }
    piVar8 = &iStack_dc;
    iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;
    ppuStack_f0 = &piStack_e0;
    iStack_dc = iVar12;
    piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))
                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);
    if (piVar3 == (int *)0x0) {
LAB_000206f0:
      piVar4 = (int *)0x0;
    }
    else {
      unaff_s4 = *piVar3;
      piVar8 = piStack_e0;
      if (unaff_s4 != iVar12) goto LAB_000206f0;
      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);
      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);
      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;
      piVar4 = (int *)piVar3[1];
    }
    puVar6 = puStack_d4;
    piVar3 = piVar18;
    pcVar22 = pcStack_e8;
    if (puStack_d4 == (undefined4 *)*piVar16) {
      return piVar4;
    }
  }
  else {
LAB_00020744:
    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);
    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);
    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);
  }
  pcVar20 = *(code **)(pcVar22 + -0x751c);
  pcVar21 = conf_get_filename;
  (*pcVar20)();
  pcVar22 = pcVar20 + 0x8e91c;
  piVar18 = *(int **)(pcVar20 + 0x87754);
  iStack_10c = *piVar18;
  pcStack_120 = pcVar22;
  piStack_108 = piVar16;
  pcStack_104 = pcVar21;
  if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0) {
    if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {
      apiStack_114[0] = piVar8;
      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);
      pcVar22 = pcStack_120;
      if (iVar2 != 0) {
        if (iStack_10c == *piVar18) {
          return *(int **)(iVar2 + 8);
        }
        goto LAB_00020834;
      }
      goto LAB_00020840;
    }
  }
  else {
    (**(code **)(pcVar20 + 0x870cc))
              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,
               *(int *)(pcVar20 + 0x86980) + 0x5954);
LAB_00020834:
    (**(code **)(pcVar22 + -0x751c))();
LAB_00020840:
    (**(code **)(pcVar22 + -0x7850))
              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,
               *(int *)(pcVar22 + -0x7f9c) + 0x5954);
  }
  pcVar20 = *(code **)(pcVar22 + -0x7850);
  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;
  pcVar21 = conf_get_fontspec;
  puVar6 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c);
  (*pcVar20)(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954);
  pcVar22 = pcVar20 + 0x8e808;
  piVar16 = *(int **)(pcVar20 + 0x87640);
  iStack_13c = *piVar16;
  pcStack_150 = pcVar22;
  piStack_138 = piVar18;
  pcStack_134 = pcVar21;
  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0) {
    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {
      aiStack_144[0] = iVar2;
      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);
      pcVar22 = pcStack_150;
      if (iVar2 != 0) {
        if (iStack_13c == *piVar16) {
          return *(int **)(iVar2 + 8);
        }
        goto LAB_00020948;
      }
      goto LAB_00020954;
    }
  }
  else {
    (**(code **)(pcVar20 + 0x86fb8))
              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,
               *(int *)(pcVar20 + 0x8686c) + 0x5940);
LAB_00020948:
    (**(code **)(pcVar22 + -0x751c))();
LAB_00020954:
    (**(code **)(pcVar22 + -0x7850))
              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,
               *(int *)(pcVar22 + -0x7f9c) + 0x5940);
  }
  iVar13 = 0x17c;
  pcVar20 = *(code **)(pcVar22 + -0x7850);
  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;
  pcVar21 = conf_set_int;
  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5884;
  (*pcVar20)();
  pcStack_178 = pcVar20 + 0x8e6f4;
  piStack_170 = piVar16;
  piStack_16c = piVar3;
  iStack_168 = iVar12;
  pcStack_164 = pcVar21;
  piVar18 = (int *)safemalloc(1,0xc);
  pcVar22 = pcStack_178;
  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0) {
    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {
      *piVar18 = iVar9;
      piVar18[2] = iVar13;
      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);
      return piVar18;
    }
  }
  else {
    (**(code **)(pcStack_178 + -0x7850))
              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,
               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);
  }
  iVar14 = 0x188;
  pcVar20 = *(code **)(pcVar22 + -0x7850);
  iVar17 = *(int *)(pcVar22 + -0x7f9c) + 0x5930;
  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;
  pcVar21 = conf_set_int_int;
  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;
  (*pcVar20)();
  pcStack_1a8 = pcVar20 + 0x8e608;
  iStack_19c = iVar2;
  iStack_198 = iVar13;
  iStack_194 = iVar9;
  puStack_190 = puVar5;
  pcStack_18c = pcVar21;
  piVar18 = (int *)safemalloc(1,0xc);
  pcVar22 = pcStack_1a8;
  if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1) {
    if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {
      *piVar18 = iVar10;
      piVar18[1] = iVar14;
      piVar18[2] = iVar17;
      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);
      return piVar18;
    }
  }
  else {
    (**(code **)(pcStack_1a8 + -0x7850))
              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,
               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);
  }
  uVar11 = 0x193;
  pcVar20 = *(code **)(pcVar22 + -0x7850);
  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;
  pcVar21 = conf_set_str;
  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;
  (*pcVar20)();
  pcStack_1d8 = pcVar20 + 0x8e50c;
  iStack_1cc = iVar17;
  iStack_1c8 = iVar12;
  iStack_1c4 = iVar14;
  iStack_1c0 = iVar10;
  pcStack_1bc = pcVar21;
  piVar18 = (int *)safemalloc(1,0xc);
  pcVar22 = pcStack_1d8;
  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0) {
    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {
      *piVar18 = iVar9;
      iVar12 = dupstr(uVar11);
      piVar18[2] = iVar12;
      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);
      return piVar18;
    }
  }
  else {
    (**(code **)(pcStack_1d8 + -0x7850))
              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,
               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);
  }
  uVar15 = 0x19f;
  pcVar20 = *(code **)(pcVar22 + -0x7850);
  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5900;
  iVar13 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;
  pcVar21 = conf_set_str_str;
  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x5814;
  (*pcVar20)();
  pcStack_208 = pcVar20 + 0x8e404;
  piStack_200 = piVar18;
  iStack_1fc = iVar2;
  uStack_1f8 = uVar11;
  iStack_1f4 = iVar9;
  iStack_1f0 = unaff_s4;
  pcStack_1ec = pcVar21;
  piVar18 = (int *)safemalloc(1,0xc);
  pcVar22 = pcStack_208;
  if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2) {
    if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {
      *piVar18 = iVar13;
      iVar2 = dupstr(uVar15);
      piVar18[1] = iVar2;
      iVar2 = dupstr(iVar10);
      piVar18[2] = iVar2;
      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);
      return piVar18;
    }
  }
  else {
    (**(code **)(pcStack_208 + -0x7850))
              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,
               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);
  }
  uVar11 = 0x1ab;
  pcVar20 = *(code **)(pcVar22 + -0x7850);
  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;
  pcVar21 = conf_del_str_str;
  puVar5 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814);
  (*pcVar20)();
  piVar3 = *(int **)(pcVar20 + 0x87114);
  piStack_22c = (int *)*piVar3;
  piStack_228 = piVar18;
  iStack_224 = iVar12;
  iStack_220 = iVar10;
  pcStack_21c = pcVar21;
  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2) {
    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;
    iStack_234 = iVar2;
    uStack_230 = uVar11;
    iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);
    if (iVar2 != 0) {
      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);
      FUN_0001fae8(iVar2);
    }
    piVar3 = (int *)*piVar3;
    if (piStack_22c == piVar3) {
      return piVar3;
    }
  }
  else {
    (**(code **)(pcVar20 + 0x86a8c))
              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,
               *(int *)(pcVar20 + 0x86340) + 0x58d8);
  }
  (**(code **)(pcVar20 + 0x86dc0))();
LAB_00020ec4:
  uVar11 = 0x1b8;
  pcVar22 = *(code **)(pcVar20 + 0x86a8c);
  iVar12 = *(int *)(pcVar20 + 0x86340) + 0x5790;
  iVar2 = *(int *)(pcVar20 + 0x86340) + 0x5814;
  (*pcVar22)();
  piVar18 = (int *)safemalloc(1,0xc);
  if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0) {
    pcVar20 = *(code **)(pcVar22 + 0x86308);
    if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {
      *piVar18 = iVar12;
      iVar12 = (*pcVar20)(uVar11);
      piVar18[2] = iVar12;
      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);
      return piVar18;
    }
  }
  else {
    (**(code **)(pcVar22 + 0x86958))
              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,
               *(int *)(pcVar22 + 0x8620c) + 0x58c4);
  }
  uVar11 = 0x1c7;
  pcVar20 = *(code **)(pcVar22 + 0x86958);
  iVar12 = *(int *)(pcVar22 + 0x8620c) + 0x5790;
  iVar2 = *(int *)(pcVar22 + 0x8620c) + 0x585c;
  (*pcVar20)();
  piVar18 = (int *)safemalloc(1,0xc);
  if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0) {
    pcVar22 = *(code **)(pcVar20 + 0x861f8);
    if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {
      *piVar18 = iVar12;
      iVar12 = (*pcVar22)(uVar11);
      piVar18[2] = iVar12;
      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);
      return piVar18;
    }
  }
  else {
    (**(code **)(pcVar20 + 0x86850))
              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,
               *(int *)(pcVar20 + 0x86104) + 0x58b0);
  }
  pcVar22 = *(code **)(pcVar20 + 0x86850);
  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884);
  (*pcVar22)(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)
  ;
  iVar2 = 0;
  iVar12 = *(int *)(pcVar22 + 0x85ffc);
  iVar9 = *(int *)(pcVar22 + 0x85ffc);
  piVar18 = (int *)0x0;
LAB_00021154:
  while( true ) {
    piVar16 = piVar18 + 1;
    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);
    if (piVar3 == (int *)0x0) {
      return piVar16;
    }
    iVar10 = *piVar3 * 4;
    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);
    if (iVar13 == 1) break;
    if (iVar13 == 2) {
      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);
      piVar16 = (int *)((int)piVar18 + iVar13 + 5);
    }
    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);
    pcVar20 = *(code **)(pcVar22 + 0x86ce4);
    if (iVar13 != 2) goto LAB_000211bc;
LAB_00021224:
    iVar2 = iVar2 + 1;
    iVar13 = (*pcVar20)(piVar3[2]);
    piVar18 = (int *)((int)piVar16 + iVar13 + 1);
  }
  iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);
  piVar16 = piVar18 + 2;
  if (iVar13 == 2) {
    pcVar20 = *(code **)(pcVar22 + 0x86ce4);
    goto LAB_00021224;
  }
LAB_000211bc:
  if (iVar13 < 3) {
    if (iVar13 == 1) {
      piVar18 = piVar16 + 1;
      iVar2 = iVar2 + 1;
      goto LAB_00021154;
    }
  }
  else {
    if (iVar13 == 3) {
      pcVar20 = *(code **)(pcVar22 + 0x86114);
    }
    else {
      pcVar20 = *(code **)(pcVar22 + 0x86110);
      if (iVar13 != 4) goto LAB_000211ec;
    }
    iVar13 = (*pcVar20)(piVar3[2],0);
    piVar16 = (int *)((int)piVar16 + iVar13);
  }
LAB_000211ec:
  iVar2 = iVar2 + 1;
  piVar18 = piVar16;
  goto LAB_00021154;
}


lui gp,0x9
addiu gp,gp,-0x11b0
addu gp,gp,t9
lw v0,-0x7f9c(gp)
addiu sp,sp,-0x30
sll v1,a1,0x2
or a3,a1,zero
addiu v0,v0,0x5cd4
sw s0,0x28(sp)
lw s0,-0x71c8(gp)
addu v0,v1,v0
sw gp,0x10(sp)
sw ra,0x2c(sp)
lw a1,0x0(s0)
lw v0,0x0(v0)
sw a1,0x24(sp)
bne v0,zero,0x000202dc
_lw v0,-0x7f9c(gp)
li a1,0x2
addiu v0,v0,0x59f4
addu v1,v1,v0
lw v0,0x0(v1)
bne v0,a1,0x00020330
_lw t9,-0x7e98(gp)
or a2,zero,zero
lw a0,0x0(a0)
addiu a1,sp,0x1c
jalr t9
_sw a3,0x1c(sp)
beq v0,zero,0x0002030c
_lw gp,0x10(sp)
lw a0,0x24(sp)
lw v1,0x0(s0)
bne a0,v1,0x00020300
_lw v0,0x8(v0)
lw ra,0x2c(sp)
lw s0,0x28(sp)
jr ra
_addiu sp,sp,0x30
lw a3,-0x7f9c(gp)
li a2,0x123
lw a1,-0x7f9c(gp)
lw a0,-0x7f9c(gp)
lw t9,-0x7850(gp)
addiu a3,a3,0x59c0
addiu a1,a1,0x5790
jalr t9
_addiu a0,a0,0x57ac
lw t9,-0x751c(gp)
jalr t9
_nop
lw a3,-0x7f9c(gp)
li a2,0x127
lw a1,-0x7f9c(gp)
lw a0,-0x7f9c(gp)
lw t9,-0x7850(gp)
addiu a3,a3,0x59c0
addiu a1,a1,0x5790
jalr t9
_addiu a0,a0,0x57a4
lw a3,-0x7f9c(gp)
li a2,0x124
lw a1,-0x7f9c(gp)
lw a0,-0x7f9c(gp)
lw t9,-0x7850(gp)
addiu a3,a3,0x59c0
addiu a1,a1,0x5790
jalr t9
_addiu a0,a0,0x5814
(translation_unit "int * conf_get_str(undefined4 *param_1,int param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int *piVar3;\n  int *piVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  undefined4 uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  undefined4 uVar15;\n  int *piVar16;\n  int iVar17;\n  int *piVar18;\n  int *unaff_s2;\n  int unaff_s4;\n  undefined *puVar19;\n  code *pcVar20;\n  code *pcVar21;\n  code *pcVar22;\n  int iStack_234;\n  undefined4 uStack_230;\n  int *piStack_22c;\n  int *piStack_228;\n  int iStack_224;\n  int iStack_220;\n  code *pcStack_21c;\n  code *pcStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  int iStack_1f0;\n  code *pcStack_1ec;\n  code *pcStack_1d8;\n  int iStack_1cc;\n  int iStack_1c8;\n  int iStack_1c4;\n  int iStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  int iStack_19c;\n  int iStack_198;\n  int iStack_194;\n  undefined4 *puStack_190;\n  code *pcStack_18c;\n  code *pcStack_178;\n  int *piStack_170;\n  int *piStack_16c;\n  int iStack_168;\n  code *pcStack_164;\n  code *pcStack_150;\n  int aiStack_144 [2];\n  int iStack_13c;\n  int *piStack_138;\n  code *pcStack_134;\n  code *pcStack_120;\n  int *apiStack_114 [2];\n  int iStack_10c;\n  int *piStack_108;\n  code *pcStack_104;\n  undefined4 **ppuStack_f0;\n  code *pcStack_e8;\n  int *piStack_e0;\n  int iStack_dc;\n  int iStack_d8;\n  undefined4 *puStack_d4;\n  int iStack_d0;\n  int *piStack_cc;\n  int *piStack_c8;\n  int iStack_9c;\n  int iStack_98;\n  int iStack_94;\n  int *piStack_90;\n  undefined *puStack_44;\n  undefined4 uStack_40;\n  int iStack_3c;\n  undefined *puStack_38;\n  code *pcStack_34;\n  int local_14 [2];\n  int local_c;\n  \n  puVar1 = PTR___stack_chk_guard_000a7ec8;\n  local_c = *(int *)PTR___stack_chk_guard_000a7ec8;\n  if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0) {\n    if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }\n  uVar11 = 0x124;\n  puVar7 = PTR_DAT_000a70f4 + 0x5790;\n  pcVar22 = conf_get_str_str_opt;\n  puVar5 = (undefined4 *)(PTR_DAT_000a70f4 + 0x5814);\n  puVar19 = PTR___assert_fail_000a7840;\n  (*(code *)PTR___assert_fail_000a7840)();\n  puStack_38 = puVar1;\n  piVar18 = *(int **)(puVar19 + 0x87b74);\n  iStack_3c = *piVar18;\n  pcStack_34 = pcVar22;\n  if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2) {\n    if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }\n  }\n  else {\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }\n  pcVar22 = *(code **)(puVar19 + 0x874ec);\n  (*pcVar22)(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8);\n  piVar3 = (int *)conf_get_str_str_opt();\n  if (piVar3 != (int *)0x0) {\n    return piVar3;\n  }\n  iVar12 = 0x13b;\n  pcVar20 = *(code **)(pcVar22 + 0x873f4);\n  piVar16 = (int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994);\n  iVar2 = *(int *)(pcVar22 + 0x86ca8) + 0x5790;\n  puVar5 = (undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858);\n  (*pcVar20)();\n  piVar3 = *(int **)(pcVar20 + 0x87a20);\n  iStack_94 = *piVar3;\n  piStack_90 = piVar18;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }\n    (**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);\n  }\n  piVar18 = (int *)0x145;\n  pcVar21 = *(code **)(pcVar20 + 0x87398);\n  iVar12 = *(int *)(pcVar20 + 0x86c4c) + 0x5790;\n  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834);\n  (*pcVar21)();\n  pcVar22 = pcVar21 + 0x8ea88;\n  piVar16 = *(int **)(pcVar21 + 0x878c0);\n  puStack_d4 = (undefined4 *)*piVar16;\n  pcStack_e8 = pcVar22;\n  iStack_d0 = iVar2;\n  piStack_cc = piVar3;\n  piStack_c8 = unaff_s2;\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2) {\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }\n    piVar8 = &iStack_dc;\n    iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;\n    ppuStack_f0 = &piStack_e0;\n    iStack_dc = iVar12;\n    piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);\n    if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }\n    puVar6 = puStack_d4;\n    piVar3 = piVar18;\n    pcVar22 = pcStack_e8;\n    if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }\n  }\n  else {\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }\n  pcVar20 = *(code **)(pcVar22 + -0x751c);\n  pcVar21 = conf_get_filename;\n  (*pcVar20)();\n  pcVar22 = pcVar20 + 0x8e91c;\n  piVar18 = *(int **)(pcVar20 + 0x87754);\n  iStack_10c = *piVar18;\n  pcStack_120 = pcVar22;\n  piStack_108 = piVar16;\n  pcStack_104 = pcVar21;\n  if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0) {\n    if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_get_fontspec;\n  puVar6 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c);\n  (*pcVar20)(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  pcVar22 = pcVar20 + 0x8e808;\n  piVar16 = *(int **)(pcVar20 + 0x87640);\n  iStack_13c = *piVar16;\n  pcStack_150 = pcVar22;\n  piStack_138 = piVar18;\n  pcStack_134 = pcVar21;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }\n  iVar13 = 0x17c;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_int;\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5884;\n  (*pcVar20)();\n  pcStack_178 = pcVar20 + 0x8e6f4;\n  piStack_170 = piVar16;\n  piStack_16c = piVar3;\n  iStack_168 = iVar12;\n  pcStack_164 = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_178;\n  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }\n  iVar14 = 0x188;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar17 = *(int *)(pcVar22 + -0x7f9c) + 0x5930;\n  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_int_int;\n  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;\n  (*pcVar20)();\n  pcStack_1a8 = pcVar20 + 0x8e608;\n  iStack_19c = iVar2;\n  iStack_198 = iVar13;\n  iStack_194 = iVar9;\n  puStack_190 = puVar5;\n  pcStack_18c = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_1a8;\n  if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1) {\n    if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }\n  uVar11 = 0x193;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_str;\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;\n  (*pcVar20)();\n  pcStack_1d8 = pcVar20 + 0x8e50c;\n  iStack_1cc = iVar17;\n  iStack_1c8 = iVar12;\n  iStack_1c4 = iVar14;\n  iStack_1c0 = iVar10;\n  pcStack_1bc = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_1d8;\n  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }\n  uVar15 = 0x19f;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5900;\n  iVar13 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_str_str;\n  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x5814;\n  (*pcVar20)();\n  pcStack_208 = pcVar20 + 0x8e404;\n  piStack_200 = piVar18;\n  iStack_1fc = iVar2;\n  uStack_1f8 = uVar11;\n  iStack_1f4 = iVar9;\n  iStack_1f0 = unaff_s4;\n  pcStack_1ec = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_208;\n  if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }\n  uVar11 = 0x1ab;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_del_str_str;\n  puVar5 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814);\n  (*pcVar20)();\n  piVar3 = *(int **)(pcVar20 + 0x87114);\n  piStack_22c = (int *)*piVar3;\n  piStack_228 = piVar18;\n  iStack_224 = iVar12;\n  iStack_220 = iVar10;\n  pcStack_21c = pcVar21;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;\n    iStack_234 = iVar2;\n    uStack_230 = uVar11;\n    iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);\n    if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }\n    piVar3 = (int *)*piVar3;\n    if (piStack_22c == piVar3) {\n      return piVar3;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }\n  (**(code **)(pcVar20 + 0x86dc0))();\nLAB_00020ec4:\n  uVar11 = 0x1b8;\n  pcVar22 = *(code **)(pcVar20 + 0x86a8c);\n  iVar12 = *(int *)(pcVar20 + 0x86340) + 0x5790;\n  iVar2 = *(int *)(pcVar20 + 0x86340) + 0x5814;\n  (*pcVar22)();\n  piVar18 = (int *)safemalloc(1,0xc);\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0) {\n    pcVar20 = *(code **)(pcVar22 + 0x86308);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }\n  uVar11 = 0x1c7;\n  pcVar20 = *(code **)(pcVar22 + 0x86958);\n  iVar12 = *(int *)(pcVar22 + 0x8620c) + 0x5790;\n  iVar2 = *(int *)(pcVar22 + 0x8620c) + 0x585c;\n  (*pcVar20)();\n  piVar18 = (int *)safemalloc(1,0xc);\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0) {\n    pcVar22 = *(code **)(pcVar20 + 0x861f8);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }\n  pcVar22 = *(code **)(pcVar20 + 0x86850);\n  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884);\n  (*pcVar22)(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)\n  ;\n  iVar2 = 0;\n  iVar12 = *(int *)(pcVar22 + 0x85ffc);\n  iVar9 = *(int *)(pcVar22 + 0x85ffc);\n  piVar18 = (int *)0x0;\nLAB_00021154:\n  while( true ) {\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }\n  iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n  piVar16 = piVar18 + 2;\n  if (iVar13 == 2) {\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    goto LAB_00021224;\n  }\nLAB_000211bc:\n  if (iVar13 < 3) {\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }\n  else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }\nLAB_000211ec:\n  iVar2 = iVar2 + 1;\n  piVar18 = piVar16;\n  goto LAB_00021154;\n}\n\n" (function_definition "int * conf_get_str(undefined4 *param_1,int param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int *piVar3;\n  int *piVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  undefined4 uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  undefined4 uVar15;\n  int *piVar16;\n  int iVar17;\n  int *piVar18;\n  int *unaff_s2;\n  int unaff_s4;\n  undefined *puVar19;\n  code *pcVar20;\n  code *pcVar21;\n  code *pcVar22;\n  int iStack_234;\n  undefined4 uStack_230;\n  int *piStack_22c;\n  int *piStack_228;\n  int iStack_224;\n  int iStack_220;\n  code *pcStack_21c;\n  code *pcStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  int iStack_1f0;\n  code *pcStack_1ec;\n  code *pcStack_1d8;\n  int iStack_1cc;\n  int iStack_1c8;\n  int iStack_1c4;\n  int iStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  int iStack_19c;\n  int iStack_198;\n  int iStack_194;\n  undefined4 *puStack_190;\n  code *pcStack_18c;\n  code *pcStack_178;\n  int *piStack_170;\n  int *piStack_16c;\n  int iStack_168;\n  code *pcStack_164;\n  code *pcStack_150;\n  int aiStack_144 [2];\n  int iStack_13c;\n  int *piStack_138;\n  code *pcStack_134;\n  code *pcStack_120;\n  int *apiStack_114 [2];\n  int iStack_10c;\n  int *piStack_108;\n  code *pcStack_104;\n  undefined4 **ppuStack_f0;\n  code *pcStack_e8;\n  int *piStack_e0;\n  int iStack_dc;\n  int iStack_d8;\n  undefined4 *puStack_d4;\n  int iStack_d0;\n  int *piStack_cc;\n  int *piStack_c8;\n  int iStack_9c;\n  int iStack_98;\n  int iStack_94;\n  int *piStack_90;\n  undefined *puStack_44;\n  undefined4 uStack_40;\n  int iStack_3c;\n  undefined *puStack_38;\n  code *pcStack_34;\n  int local_14 [2];\n  int local_c;\n  \n  puVar1 = PTR___stack_chk_guard_000a7ec8;\n  local_c = *(int *)PTR___stack_chk_guard_000a7ec8;\n  if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0) {\n    if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }\n  uVar11 = 0x124;\n  puVar7 = PTR_DAT_000a70f4 + 0x5790;\n  pcVar22 = conf_get_str_str_opt;\n  puVar5 = (undefined4 *)(PTR_DAT_000a70f4 + 0x5814);\n  puVar19 = PTR___assert_fail_000a7840;\n  (*(code *)PTR___assert_fail_000a7840)();\n  puStack_38 = puVar1;\n  piVar18 = *(int **)(puVar19 + 0x87b74);\n  iStack_3c = *piVar18;\n  pcStack_34 = pcVar22;\n  if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2) {\n    if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }\n  }\n  else {\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }\n  pcVar22 = *(code **)(puVar19 + 0x874ec);\n  (*pcVar22)(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8);\n  piVar3 = (int *)conf_get_str_str_opt();\n  if (piVar3 != (int *)0x0) {\n    return piVar3;\n  }\n  iVar12 = 0x13b;\n  pcVar20 = *(code **)(pcVar22 + 0x873f4);\n  piVar16 = (int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994);\n  iVar2 = *(int *)(pcVar22 + 0x86ca8) + 0x5790;\n  puVar5 = (undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858);\n  (*pcVar20)();\n  piVar3 = *(int **)(pcVar20 + 0x87a20);\n  iStack_94 = *piVar3;\n  piStack_90 = piVar18;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }\n    (**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);\n  }\n  piVar18 = (int *)0x145;\n  pcVar21 = *(code **)(pcVar20 + 0x87398);\n  iVar12 = *(int *)(pcVar20 + 0x86c4c) + 0x5790;\n  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834);\n  (*pcVar21)();\n  pcVar22 = pcVar21 + 0x8ea88;\n  piVar16 = *(int **)(pcVar21 + 0x878c0);\n  puStack_d4 = (undefined4 *)*piVar16;\n  pcStack_e8 = pcVar22;\n  iStack_d0 = iVar2;\n  piStack_cc = piVar3;\n  piStack_c8 = unaff_s2;\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2) {\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }\n    piVar8 = &iStack_dc;\n    iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;\n    ppuStack_f0 = &piStack_e0;\n    iStack_dc = iVar12;\n    piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);\n    if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }\n    puVar6 = puStack_d4;\n    piVar3 = piVar18;\n    pcVar22 = pcStack_e8;\n    if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }\n  }\n  else {\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }\n  pcVar20 = *(code **)(pcVar22 + -0x751c);\n  pcVar21 = conf_get_filename;\n  (*pcVar20)();\n  pcVar22 = pcVar20 + 0x8e91c;\n  piVar18 = *(int **)(pcVar20 + 0x87754);\n  iStack_10c = *piVar18;\n  pcStack_120 = pcVar22;\n  piStack_108 = piVar16;\n  pcStack_104 = pcVar21;\n  if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0) {\n    if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_get_fontspec;\n  puVar6 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c);\n  (*pcVar20)(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  pcVar22 = pcVar20 + 0x8e808;\n  piVar16 = *(int **)(pcVar20 + 0x87640);\n  iStack_13c = *piVar16;\n  pcStack_150 = pcVar22;\n  piStack_138 = piVar18;\n  pcStack_134 = pcVar21;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }\n  iVar13 = 0x17c;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_int;\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5884;\n  (*pcVar20)();\n  pcStack_178 = pcVar20 + 0x8e6f4;\n  piStack_170 = piVar16;\n  piStack_16c = piVar3;\n  iStack_168 = iVar12;\n  pcStack_164 = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_178;\n  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }\n  iVar14 = 0x188;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar17 = *(int *)(pcVar22 + -0x7f9c) + 0x5930;\n  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_int_int;\n  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;\n  (*pcVar20)();\n  pcStack_1a8 = pcVar20 + 0x8e608;\n  iStack_19c = iVar2;\n  iStack_198 = iVar13;\n  iStack_194 = iVar9;\n  puStack_190 = puVar5;\n  pcStack_18c = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_1a8;\n  if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1) {\n    if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }\n  uVar11 = 0x193;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_str;\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;\n  (*pcVar20)();\n  pcStack_1d8 = pcVar20 + 0x8e50c;\n  iStack_1cc = iVar17;\n  iStack_1c8 = iVar12;\n  iStack_1c4 = iVar14;\n  iStack_1c0 = iVar10;\n  pcStack_1bc = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_1d8;\n  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }\n  uVar15 = 0x19f;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5900;\n  iVar13 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_str_str;\n  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x5814;\n  (*pcVar20)();\n  pcStack_208 = pcVar20 + 0x8e404;\n  piStack_200 = piVar18;\n  iStack_1fc = iVar2;\n  uStack_1f8 = uVar11;\n  iStack_1f4 = iVar9;\n  iStack_1f0 = unaff_s4;\n  pcStack_1ec = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_208;\n  if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }\n  uVar11 = 0x1ab;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_del_str_str;\n  puVar5 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814);\n  (*pcVar20)();\n  piVar3 = *(int **)(pcVar20 + 0x87114);\n  piStack_22c = (int *)*piVar3;\n  piStack_228 = piVar18;\n  iStack_224 = iVar12;\n  iStack_220 = iVar10;\n  pcStack_21c = pcVar21;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;\n    iStack_234 = iVar2;\n    uStack_230 = uVar11;\n    iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);\n    if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }\n    piVar3 = (int *)*piVar3;\n    if (piStack_22c == piVar3) {\n      return piVar3;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }\n  (**(code **)(pcVar20 + 0x86dc0))();\nLAB_00020ec4:\n  uVar11 = 0x1b8;\n  pcVar22 = *(code **)(pcVar20 + 0x86a8c);\n  iVar12 = *(int *)(pcVar20 + 0x86340) + 0x5790;\n  iVar2 = *(int *)(pcVar20 + 0x86340) + 0x5814;\n  (*pcVar22)();\n  piVar18 = (int *)safemalloc(1,0xc);\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0) {\n    pcVar20 = *(code **)(pcVar22 + 0x86308);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }\n  uVar11 = 0x1c7;\n  pcVar20 = *(code **)(pcVar22 + 0x86958);\n  iVar12 = *(int *)(pcVar22 + 0x8620c) + 0x5790;\n  iVar2 = *(int *)(pcVar22 + 0x8620c) + 0x585c;\n  (*pcVar20)();\n  piVar18 = (int *)safemalloc(1,0xc);\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0) {\n    pcVar22 = *(code **)(pcVar20 + 0x861f8);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }\n  pcVar22 = *(code **)(pcVar20 + 0x86850);\n  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884);\n  (*pcVar22)(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)\n  ;\n  iVar2 = 0;\n  iVar12 = *(int *)(pcVar22 + 0x85ffc);\n  iVar9 = *(int *)(pcVar22 + 0x85ffc);\n  piVar18 = (int *)0x0;\nLAB_00021154:\n  while( true ) {\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }\n  iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n  piVar16 = piVar18 + 2;\n  if (iVar13 == 2) {\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    goto LAB_00021224;\n  }\nLAB_000211bc:\n  if (iVar13 < 3) {\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }\n  else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }\nLAB_000211ec:\n  iVar2 = iVar2 + 1;\n  piVar18 = piVar16;\n  goto LAB_00021154;\n}" primitive_type (pointer_declarator "* conf_get_str(undefined4 *param_1,int param_2)" * (function_declarator "conf_get_str(undefined4 *param_1,int param_2)" identifier (parameter_list "(undefined4 *param_1,int param_2)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) )))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int *piVar3;\n  int *piVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  undefined4 uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  undefined4 uVar15;\n  int *piVar16;\n  int iVar17;\n  int *piVar18;\n  int *unaff_s2;\n  int unaff_s4;\n  undefined *puVar19;\n  code *pcVar20;\n  code *pcVar21;\n  code *pcVar22;\n  int iStack_234;\n  undefined4 uStack_230;\n  int *piStack_22c;\n  int *piStack_228;\n  int iStack_224;\n  int iStack_220;\n  code *pcStack_21c;\n  code *pcStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  int iStack_1f0;\n  code *pcStack_1ec;\n  code *pcStack_1d8;\n  int iStack_1cc;\n  int iStack_1c8;\n  int iStack_1c4;\n  int iStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  int iStack_19c;\n  int iStack_198;\n  int iStack_194;\n  undefined4 *puStack_190;\n  code *pcStack_18c;\n  code *pcStack_178;\n  int *piStack_170;\n  int *piStack_16c;\n  int iStack_168;\n  code *pcStack_164;\n  code *pcStack_150;\n  int aiStack_144 [2];\n  int iStack_13c;\n  int *piStack_138;\n  code *pcStack_134;\n  code *pcStack_120;\n  int *apiStack_114 [2];\n  int iStack_10c;\n  int *piStack_108;\n  code *pcStack_104;\n  undefined4 **ppuStack_f0;\n  code *pcStack_e8;\n  int *piStack_e0;\n  int iStack_dc;\n  int iStack_d8;\n  undefined4 *puStack_d4;\n  int iStack_d0;\n  int *piStack_cc;\n  int *piStack_c8;\n  int iStack_9c;\n  int iStack_98;\n  int iStack_94;\n  int *piStack_90;\n  undefined *puStack_44;\n  undefined4 uStack_40;\n  int iStack_3c;\n  undefined *puStack_38;\n  code *pcStack_34;\n  int local_14 [2];\n  int local_c;\n  \n  puVar1 = PTR___stack_chk_guard_000a7ec8;\n  local_c = *(int *)PTR___stack_chk_guard_000a7ec8;\n  if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0) {\n    if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }\n  uVar11 = 0x124;\n  puVar7 = PTR_DAT_000a70f4 + 0x5790;\n  pcVar22 = conf_get_str_str_opt;\n  puVar5 = (undefined4 *)(PTR_DAT_000a70f4 + 0x5814);\n  puVar19 = PTR___assert_fail_000a7840;\n  (*(code *)PTR___assert_fail_000a7840)();\n  puStack_38 = puVar1;\n  piVar18 = *(int **)(puVar19 + 0x87b74);\n  iStack_3c = *piVar18;\n  pcStack_34 = pcVar22;\n  if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2) {\n    if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }\n  }\n  else {\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }\n  pcVar22 = *(code **)(puVar19 + 0x874ec);\n  (*pcVar22)(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8);\n  piVar3 = (int *)conf_get_str_str_opt();\n  if (piVar3 != (int *)0x0) {\n    return piVar3;\n  }\n  iVar12 = 0x13b;\n  pcVar20 = *(code **)(pcVar22 + 0x873f4);\n  piVar16 = (int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994);\n  iVar2 = *(int *)(pcVar22 + 0x86ca8) + 0x5790;\n  puVar5 = (undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858);\n  (*pcVar20)();\n  piVar3 = *(int **)(pcVar20 + 0x87a20);\n  iStack_94 = *piVar3;\n  piStack_90 = piVar18;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }\n    (**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);\n  }\n  piVar18 = (int *)0x145;\n  pcVar21 = *(code **)(pcVar20 + 0x87398);\n  iVar12 = *(int *)(pcVar20 + 0x86c4c) + 0x5790;\n  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834);\n  (*pcVar21)();\n  pcVar22 = pcVar21 + 0x8ea88;\n  piVar16 = *(int **)(pcVar21 + 0x878c0);\n  puStack_d4 = (undefined4 *)*piVar16;\n  pcStack_e8 = pcVar22;\n  iStack_d0 = iVar2;\n  piStack_cc = piVar3;\n  piStack_c8 = unaff_s2;\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2) {\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }\n    piVar8 = &iStack_dc;\n    iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;\n    ppuStack_f0 = &piStack_e0;\n    iStack_dc = iVar12;\n    piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);\n    if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }\n    puVar6 = puStack_d4;\n    piVar3 = piVar18;\n    pcVar22 = pcStack_e8;\n    if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }\n  }\n  else {\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }\n  pcVar20 = *(code **)(pcVar22 + -0x751c);\n  pcVar21 = conf_get_filename;\n  (*pcVar20)();\n  pcVar22 = pcVar20 + 0x8e91c;\n  piVar18 = *(int **)(pcVar20 + 0x87754);\n  iStack_10c = *piVar18;\n  pcStack_120 = pcVar22;\n  piStack_108 = piVar16;\n  pcStack_104 = pcVar21;\n  if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0) {\n    if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_get_fontspec;\n  puVar6 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c);\n  (*pcVar20)(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  pcVar22 = pcVar20 + 0x8e808;\n  piVar16 = *(int **)(pcVar20 + 0x87640);\n  iStack_13c = *piVar16;\n  pcStack_150 = pcVar22;\n  piStack_138 = piVar18;\n  pcStack_134 = pcVar21;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }\n  iVar13 = 0x17c;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_int;\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5884;\n  (*pcVar20)();\n  pcStack_178 = pcVar20 + 0x8e6f4;\n  piStack_170 = piVar16;\n  piStack_16c = piVar3;\n  iStack_168 = iVar12;\n  pcStack_164 = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_178;\n  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }\n  iVar14 = 0x188;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar17 = *(int *)(pcVar22 + -0x7f9c) + 0x5930;\n  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_int_int;\n  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;\n  (*pcVar20)();\n  pcStack_1a8 = pcVar20 + 0x8e608;\n  iStack_19c = iVar2;\n  iStack_198 = iVar13;\n  iStack_194 = iVar9;\n  puStack_190 = puVar5;\n  pcStack_18c = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_1a8;\n  if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1) {\n    if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }\n  uVar11 = 0x193;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_str;\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;\n  (*pcVar20)();\n  pcStack_1d8 = pcVar20 + 0x8e50c;\n  iStack_1cc = iVar17;\n  iStack_1c8 = iVar12;\n  iStack_1c4 = iVar14;\n  iStack_1c0 = iVar10;\n  pcStack_1bc = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_1d8;\n  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }\n  uVar15 = 0x19f;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5900;\n  iVar13 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_str_str;\n  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x5814;\n  (*pcVar20)();\n  pcStack_208 = pcVar20 + 0x8e404;\n  piStack_200 = piVar18;\n  iStack_1fc = iVar2;\n  uStack_1f8 = uVar11;\n  iStack_1f4 = iVar9;\n  iStack_1f0 = unaff_s4;\n  pcStack_1ec = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_208;\n  if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }\n  uVar11 = 0x1ab;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_del_str_str;\n  puVar5 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814);\n  (*pcVar20)();\n  piVar3 = *(int **)(pcVar20 + 0x87114);\n  piStack_22c = (int *)*piVar3;\n  piStack_228 = piVar18;\n  iStack_224 = iVar12;\n  iStack_220 = iVar10;\n  pcStack_21c = pcVar21;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;\n    iStack_234 = iVar2;\n    uStack_230 = uVar11;\n    iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);\n    if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }\n    piVar3 = (int *)*piVar3;\n    if (piStack_22c == piVar3) {\n      return piVar3;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }\n  (**(code **)(pcVar20 + 0x86dc0))();\nLAB_00020ec4:\n  uVar11 = 0x1b8;\n  pcVar22 = *(code **)(pcVar20 + 0x86a8c);\n  iVar12 = *(int *)(pcVar20 + 0x86340) + 0x5790;\n  iVar2 = *(int *)(pcVar20 + 0x86340) + 0x5814;\n  (*pcVar22)();\n  piVar18 = (int *)safemalloc(1,0xc);\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0) {\n    pcVar20 = *(code **)(pcVar22 + 0x86308);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }\n  uVar11 = 0x1c7;\n  pcVar20 = *(code **)(pcVar22 + 0x86958);\n  iVar12 = *(int *)(pcVar22 + 0x8620c) + 0x5790;\n  iVar2 = *(int *)(pcVar22 + 0x8620c) + 0x585c;\n  (*pcVar20)();\n  piVar18 = (int *)safemalloc(1,0xc);\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0) {\n    pcVar22 = *(code **)(pcVar20 + 0x861f8);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }\n  pcVar22 = *(code **)(pcVar20 + 0x86850);\n  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884);\n  (*pcVar22)(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)\n  ;\n  iVar2 = 0;\n  iVar12 = *(int *)(pcVar22 + 0x85ffc);\n  iVar9 = *(int *)(pcVar22 + 0x85ffc);\n  piVar18 = (int *)0x0;\nLAB_00021154:\n  while( true ) {\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }\n  iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n  piVar16 = piVar18 + 2;\n  if (iVar13 == 2) {\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    goto LAB_00021224;\n  }\nLAB_000211bc:\n  if (iVar13 < 3) {\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }\n  else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }\nLAB_000211ec:\n  iVar2 = iVar2 + 1;\n  piVar18 = piVar16;\n  goto LAB_00021154;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "int *unaff_s2;" primitive_type (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int unaff_s4;" primitive_type identifier ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "code *pcVar21;" type_identifier (pointer_declarator "*pcVar21" * identifier) ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "int iStack_234;" primitive_type identifier ;) (declaration "undefined4 uStack_230;" type_identifier identifier ;) (declaration "int *piStack_22c;" primitive_type (pointer_declarator "*piStack_22c" * identifier) ;) (declaration "int *piStack_228;" primitive_type (pointer_declarator "*piStack_228" * identifier) ;) (declaration "int iStack_224;" primitive_type identifier ;) (declaration "int iStack_220;" primitive_type identifier ;) (declaration "code *pcStack_21c;" type_identifier (pointer_declarator "*pcStack_21c" * identifier) ;) (declaration "code *pcStack_208;" type_identifier (pointer_declarator "*pcStack_208" * identifier) ;) (declaration "int *piStack_200;" primitive_type (pointer_declarator "*piStack_200" * identifier) ;) (declaration "int iStack_1fc;" primitive_type identifier ;) (declaration "undefined4 uStack_1f8;" type_identifier identifier ;) (declaration "int iStack_1f4;" primitive_type identifier ;) (declaration "int iStack_1f0;" primitive_type identifier ;) (declaration "code *pcStack_1ec;" type_identifier (pointer_declarator "*pcStack_1ec" * identifier) ;) (declaration "code *pcStack_1d8;" type_identifier (pointer_declarator "*pcStack_1d8" * identifier) ;) (declaration "int iStack_1cc;" primitive_type identifier ;) (declaration "int iStack_1c8;" primitive_type identifier ;) (declaration "int iStack_1c4;" primitive_type identifier ;) (declaration "int iStack_1c0;" primitive_type identifier ;) (declaration "code *pcStack_1bc;" type_identifier (pointer_declarator "*pcStack_1bc" * identifier) ;) (declaration "code *pcStack_1a8;" type_identifier (pointer_declarator "*pcStack_1a8" * identifier) ;) (declaration "int iStack_19c;" primitive_type identifier ;) (declaration "int iStack_198;" primitive_type identifier ;) (declaration "int iStack_194;" primitive_type identifier ;) (declaration "undefined4 *puStack_190;" type_identifier (pointer_declarator "*puStack_190" * identifier) ;) (declaration "code *pcStack_18c;" type_identifier (pointer_declarator "*pcStack_18c" * identifier) ;) (declaration "code *pcStack_178;" type_identifier (pointer_declarator "*pcStack_178" * identifier) ;) (declaration "int *piStack_170;" primitive_type (pointer_declarator "*piStack_170" * identifier) ;) (declaration "int *piStack_16c;" primitive_type (pointer_declarator "*piStack_16c" * identifier) ;) (declaration "int iStack_168;" primitive_type identifier ;) (declaration "code *pcStack_164;" type_identifier (pointer_declarator "*pcStack_164" * identifier) ;) (declaration "code *pcStack_150;" type_identifier (pointer_declarator "*pcStack_150" * identifier) ;) (declaration "int aiStack_144 [2];" primitive_type (array_declarator "aiStack_144 [2]" identifier [ number_literal ]) ;) (declaration "int iStack_13c;" primitive_type identifier ;) (declaration "int *piStack_138;" primitive_type (pointer_declarator "*piStack_138" * identifier) ;) (declaration "code *pcStack_134;" type_identifier (pointer_declarator "*pcStack_134" * identifier) ;) (declaration "code *pcStack_120;" type_identifier (pointer_declarator "*pcStack_120" * identifier) ;) (declaration "int *apiStack_114 [2];" primitive_type (pointer_declarator "*apiStack_114 [2]" * (array_declarator "apiStack_114 [2]" identifier [ number_literal ])) ;) (declaration "int iStack_10c;" primitive_type identifier ;) (declaration "int *piStack_108;" primitive_type (pointer_declarator "*piStack_108" * identifier) ;) (declaration "code *pcStack_104;" type_identifier (pointer_declarator "*pcStack_104" * identifier) ;) (declaration "undefined4 **ppuStack_f0;" type_identifier (pointer_declarator "**ppuStack_f0" * (pointer_declarator "*ppuStack_f0" * identifier)) ;) (declaration "code *pcStack_e8;" type_identifier (pointer_declarator "*pcStack_e8" * identifier) ;) (declaration "int *piStack_e0;" primitive_type (pointer_declarator "*piStack_e0" * identifier) ;) (declaration "int iStack_dc;" primitive_type identifier ;) (declaration "int iStack_d8;" primitive_type identifier ;) (declaration "undefined4 *puStack_d4;" type_identifier (pointer_declarator "*puStack_d4" * identifier) ;) (declaration "int iStack_d0;" primitive_type identifier ;) (declaration "int *piStack_cc;" primitive_type (pointer_declarator "*piStack_cc" * identifier) ;) (declaration "int *piStack_c8;" primitive_type (pointer_declarator "*piStack_c8" * identifier) ;) (declaration "int iStack_9c;" primitive_type identifier ;) (declaration "int iStack_98;" primitive_type identifier ;) (declaration "int iStack_94;" primitive_type identifier ;) (declaration "int *piStack_90;" primitive_type (pointer_declarator "*piStack_90" * identifier) ;) (declaration "undefined *puStack_44;" type_identifier (pointer_declarator "*puStack_44" * identifier) ;) (declaration "undefined4 uStack_40;" type_identifier identifier ;) (declaration "int iStack_3c;" primitive_type identifier ;) (declaration "undefined *puStack_38;" type_identifier (pointer_declarator "*puStack_38" * identifier) ;) (declaration "code *pcStack_34;" type_identifier (pointer_declarator "*pcStack_34" * identifier) ;) (declaration "int local_14 [2];" primitive_type (array_declarator "local_14 [2]" identifier [ number_literal ]) ;) (declaration "int local_c;" primitive_type identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000a7ec8;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000a7ec8" identifier = identifier) ;) (expression_statement "local_c = *(int *)PTR___stack_chk_guard_000a7ec8;" (assignment_expression "local_c = *(int *)PTR___stack_chk_guard_000a7ec8" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000a7ec8" * (cast_expression "(int *)PTR___stack_chk_guard_000a7ec8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0) {\n    if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }" if (parenthesized_expression "(*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0)" ( (binary_expression "*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0" (pointer_expression "*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4)" * (cast_expression "(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4)" ( (binary_expression "PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4" (binary_expression "PTR_DAT_000a70f4 + param_2 * 4" identifier + (binary_expression "param_2 * 4" identifier * number_literal)) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }" { (if_statement "if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }" if (parenthesized_expression "(*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2)" ( (binary_expression "*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2" (pointer_expression "*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4)" * (cast_expression "(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4)" ( (binary_expression "PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4" (binary_expression "PTR_DAT_000a70f4 + param_2 * 4" identifier + (binary_expression "param_2 * 4" identifier * number_literal)) + number_literal) )))) == number_literal) )) (compound_statement "{\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }" { (expression_statement "local_14[0] = param_2;" (assignment_expression "local_14[0] = param_2" (subscript_expression "local_14[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);" (assignment_expression "iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0)" identifier = (call_expression "(*(code *)PTR_find234_000a71f8)(*param_1,local_14,0)" (parenthesized_expression "(*(code *)PTR_find234_000a71f8)" ( (pointer_expression "*(code *)PTR_find234_000a71f8" * (cast_expression "(code *)PTR_find234_000a71f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*param_1,local_14,0)" ( (pointer_expression "*param_1" * identifier) , identifier , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }" { (if_statement "if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }" if (parenthesized_expression "(local_c == *(int *)puVar1)" ( (binary_expression "local_c == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n          return *(int **)(iVar2 + 8);\n        }" { (return_statement "return *(int **)(iVar2 + 8);" return (pointer_expression "*(int **)(iVar2 + 8)" * (cast_expression "(int **)(iVar2 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) ;) })) (goto_statement "goto LAB_00020300;" goto statement_identifier ;) })) (goto_statement "goto LAB_0002030c;" goto statement_identifier ;) })) }) (else_clause "else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }" else (compound_statement "{\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);" (call_expression "(*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0)" (parenthesized_expression "(*(code *)PTR___assert_fail_000a7840)" ( (pointer_expression "*(code *)PTR___assert_fail_000a7840" * (cast_expression "(code *)PTR___assert_fail_000a7840" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0)" ( (binary_expression "PTR_DAT_000a70f4 + 0x57ac" identifier + number_literal) , (binary_expression "PTR_DAT_000a70f4 + 0x5790" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_000a70f4 + 0x59c0" identifier + number_literal) ))) ;) (labeled_statement "LAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();" statement_identifier : (expression_statement "(*(code *)PTR___stack_chk_fail_000a7b74)();" (call_expression "(*(code *)PTR___stack_chk_fail_000a7b74)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000a7b74)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000a7b74" * (cast_expression "(code *)PTR___stack_chk_fail_000a7b74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);" (call_expression "(*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0)" (parenthesized_expression "(*(code *)PTR___assert_fail_000a7840)" ( (pointer_expression "*(code *)PTR___assert_fail_000a7840" * (cast_expression "(code *)PTR___assert_fail_000a7840" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0)" ( (binary_expression "PTR_DAT_000a70f4 + 0x57a4" identifier + number_literal) , (binary_expression "PTR_DAT_000a70f4 + 0x5790" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_000a70f4 + 0x59c0" identifier + number_literal) ))) ;)) }))) (expression_statement "uVar11 = 0x124;" (assignment_expression "uVar11 = 0x124" identifier = number_literal) ;) (expression_statement "puVar7 = PTR_DAT_000a70f4 + 0x5790;" (assignment_expression "puVar7 = PTR_DAT_000a70f4 + 0x5790" identifier = (binary_expression "PTR_DAT_000a70f4 + 0x5790" identifier + number_literal)) ;) (expression_statement "pcVar22 = conf_get_str_str_opt;" (assignment_expression "pcVar22 = conf_get_str_str_opt" identifier = identifier) ;) (expression_statement "puVar5 = (undefined4 *)(PTR_DAT_000a70f4 + 0x5814);" (assignment_expression "puVar5 = (undefined4 *)(PTR_DAT_000a70f4 + 0x5814)" identifier = (cast_expression "(undefined4 *)(PTR_DAT_000a70f4 + 0x5814)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000a70f4 + 0x5814)" ( (binary_expression "PTR_DAT_000a70f4 + 0x5814" identifier + number_literal) )))) ;) (expression_statement "puVar19 = PTR___assert_fail_000a7840;" (assignment_expression "puVar19 = PTR___assert_fail_000a7840" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_000a7840)();" (call_expression "(*(code *)PTR___assert_fail_000a7840)()" (parenthesized_expression "(*(code *)PTR___assert_fail_000a7840)" ( (pointer_expression "*(code *)PTR___assert_fail_000a7840" * (cast_expression "(code *)PTR___assert_fail_000a7840" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_38 = puVar1;" (assignment_expression "puStack_38 = puVar1" identifier = identifier) ;) (expression_statement "piVar18 = *(int **)(puVar19 + 0x87b74);" (assignment_expression "piVar18 = *(int **)(puVar19 + 0x87b74)" identifier = (pointer_expression "*(int **)(puVar19 + 0x87b74)" * (cast_expression "(int **)(puVar19 + 0x87b74)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x87b74)" ( (binary_expression "puVar19 + 0x87b74" identifier + number_literal) ))))) ;) (expression_statement "iStack_3c = *piVar18;" (assignment_expression "iStack_3c = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "pcStack_34 = pcVar22;" (assignment_expression "pcStack_34 = pcVar22" identifier = identifier) ;) (if_statement "if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2) {\n    if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }\n  }\n  else {\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }" if (parenthesized_expression "(*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2)" ( (binary_expression "*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2" (pointer_expression "*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4)" * (cast_expression "(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4)" ( (binary_expression "(int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4" (binary_expression "(int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0)" (binary_expression "(int)puVar7 * 4" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + (pointer_expression "*(int *)(puVar19 + 0x86da0)" * (cast_expression "(int *)(puVar19 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x86da0)" ( (binary_expression "puVar19 + 0x86da0" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }\n  }" { (if_statement "if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }" if (parenthesized_expression "(*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2)" ( (binary_expression "*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2" (pointer_expression "*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4)" * (cast_expression "(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4)" ( (binary_expression "(int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4" (binary_expression "(int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0)" (binary_expression "(int)puVar7 * 4" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + (pointer_expression "*(int *)(puVar19 + 0x86da0)" * (cast_expression "(int *)(puVar19 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x86da0)" ( (binary_expression "puVar19 + 0x86da0" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }" { (expression_statement "puStack_44 = puVar7;" (assignment_expression "puStack_44 = puVar7" identifier = identifier) ;) (expression_statement "uStack_40 = uVar11;" (assignment_expression "uStack_40 = uVar11" identifier = identifier) ;) (expression_statement "piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);" (assignment_expression "piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0)" identifier = (cast_expression "(int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0)" (parenthesized_expression "(**(code **)(puVar19 + 0x86ea4))" ( (pointer_expression "**(code **)(puVar19 + 0x86ea4)" * (pointer_expression "*(code **)(puVar19 + 0x86ea4)" * (cast_expression "(code **)(puVar19 + 0x86ea4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x86ea4)" ( (binary_expression "puVar19 + 0x86ea4" identifier + number_literal) ))))) )) (argument_list "(*puVar5,&puStack_44,0)" ( (pointer_expression "*puVar5" * identifier) , (pointer_expression "&puStack_44" & identifier) , number_literal ))))) ;) (if_statement "if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }" if (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar3 = (int *)piVar3[2];\n      }" { (expression_statement "piVar3 = (int *)piVar3[2];" (assignment_expression "piVar3 = (int *)piVar3[2]" identifier = (cast_expression "(int *)piVar3[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[2]" identifier [ number_literal ]))) ;) })) (if_statement "if (iStack_3c == *piVar18) {\n        return piVar3;\n      }" if (parenthesized_expression "(iStack_3c == *piVar18)" ( (binary_expression "iStack_3c == *piVar18" identifier == (pointer_expression "*piVar18" * identifier)) )) (compound_statement "{\n        return piVar3;\n      }" { (return_statement "return piVar3;" return identifier ;) })) (goto_statement "goto LAB_0002041c;" goto statement_identifier ;) })) }) (else_clause "else {\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }" else (compound_statement "{\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }" { (expression_statement "(**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);" (call_expression "(**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8)" (parenthesized_expression "(**(code **)(puVar19 + 0x874ec))" ( (pointer_expression "**(code **)(puVar19 + 0x874ec)" * (pointer_expression "*(code **)(puVar19 + 0x874ec)" * (cast_expression "(code **)(puVar19 + 0x874ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x874ec)" ( (binary_expression "puVar19 + 0x874ec" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8)" ( (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x5834" (pointer_expression "*(int *)(puVar19 + 0x86da0)" * (cast_expression "(int *)(puVar19 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x86da0)" ( (binary_expression "puVar19 + 0x86da0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x5790" (pointer_expression "*(int *)(puVar19 + 0x86da0)" * (cast_expression "(int *)(puVar19 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x86da0)" ( (binary_expression "puVar19 + 0x86da0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x59a8" (pointer_expression "*(int *)(puVar19 + 0x86da0)" * (cast_expression "(int *)(puVar19 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x86da0)" ( (binary_expression "puVar19 + 0x86da0" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();" statement_identifier : (expression_statement "(**(code **)(puVar19 + 0x87820))();" (call_expression "(**(code **)(puVar19 + 0x87820))()" (parenthesized_expression "(**(code **)(puVar19 + 0x87820))" ( (pointer_expression "**(code **)(puVar19 + 0x87820)" * (pointer_expression "*(code **)(puVar19 + 0x87820)" * (cast_expression "(code **)(puVar19 + 0x87820)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x87820)" ( (binary_expression "puVar19 + 0x87820" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;)) }))) (expression_statement "pcVar22 = *(code **)(puVar19 + 0x874ec);" (assignment_expression "pcVar22 = *(code **)(puVar19 + 0x874ec)" identifier = (pointer_expression "*(code **)(puVar19 + 0x874ec)" * (cast_expression "(code **)(puVar19 + 0x874ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x874ec)" ( (binary_expression "puVar19 + 0x874ec" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar22)(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8);" (call_expression "(*pcVar22)(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8)" ( (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x5814" (pointer_expression "*(int *)(puVar19 + 0x86da0)" * (cast_expression "(int *)(puVar19 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x86da0)" ( (binary_expression "puVar19 + 0x86da0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x5790" (pointer_expression "*(int *)(puVar19 + 0x86da0)" * (cast_expression "(int *)(puVar19 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x86da0)" ( (binary_expression "puVar19 + 0x86da0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x59a8" (pointer_expression "*(int *)(puVar19 + 0x86da0)" * (cast_expression "(int *)(puVar19 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x86da0)" ( (binary_expression "puVar19 + 0x86da0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar3 = (int *)conf_get_str_str_opt();" (assignment_expression "piVar3 = (int *)conf_get_str_str_opt()" identifier = (cast_expression "(int *)conf_get_str_str_opt()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "conf_get_str_str_opt()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (piVar3 != (int *)0x0) {\n    return piVar3;\n  }" if (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return piVar3;\n  }" { (return_statement "return piVar3;" return identifier ;) })) (expression_statement "iVar12 = 0x13b;" (assignment_expression "iVar12 = 0x13b" identifier = number_literal) ;) (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x873f4);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x873f4)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x873f4)" * (cast_expression "(code **)(pcVar22 + 0x873f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x873f4)" ( (binary_expression "pcVar22 + 0x873f4" identifier + number_literal) ))))) ;) (expression_statement "piVar16 = (int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994);" (assignment_expression "piVar16 = (int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994)" identifier = (cast_expression "(int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x86ca8) + 0x5994)" ( (binary_expression "*(int *)(pcVar22 + 0x86ca8) + 0x5994" (pointer_expression "*(int *)(pcVar22 + 0x86ca8)" * (cast_expression "(int *)(pcVar22 + 0x86ca8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x86ca8)" ( (binary_expression "pcVar22 + 0x86ca8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar2 = *(int *)(pcVar22 + 0x86ca8) + 0x5790;" (assignment_expression "iVar2 = *(int *)(pcVar22 + 0x86ca8) + 0x5790" identifier = (binary_expression "*(int *)(pcVar22 + 0x86ca8) + 0x5790" (pointer_expression "*(int *)(pcVar22 + 0x86ca8)" * (cast_expression "(int *)(pcVar22 + 0x86ca8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x86ca8)" ( (binary_expression "pcVar22 + 0x86ca8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar5 = (undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858);" (assignment_expression "puVar5 = (undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x86ca8) + 0x5858)" ( (binary_expression "*(int *)(pcVar22 + 0x86ca8) + 0x5858" (pointer_expression "*(int *)(pcVar22 + 0x86ca8)" * (cast_expression "(int *)(pcVar22 + 0x86ca8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x86ca8)" ( (binary_expression "pcVar22 + 0x86ca8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar3 = *(int **)(pcVar20 + 0x87a20);" (assignment_expression "piVar3 = *(int **)(pcVar20 + 0x87a20)" identifier = (pointer_expression "*(int **)(pcVar20 + 0x87a20)" * (cast_expression "(int **)(pcVar20 + 0x87a20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x87a20)" ( (binary_expression "pcVar20 + 0x87a20" identifier + number_literal) ))))) ;) (expression_statement "iStack_94 = *piVar3;" (assignment_expression "iStack_94 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (expression_statement "piStack_90 = piVar18;" (assignment_expression "piStack_90 = piVar18" identifier = identifier) ;) (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }\n    (**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);\n  }" if (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2)" ( (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4)" * (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4)" ( (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c)" (binary_expression "iVar2 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" * (cast_expression "(int *)(pcVar20 + 0x86c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c4c)" ( (binary_expression "pcVar20 + 0x86c4c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }\n    (**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);\n  }" { (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }" if (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2)" ( (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4)" * (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4)" ( (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c)" (binary_expression "iVar2 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" * (cast_expression "(int *)(pcVar20 + 0x86c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c4c)" ( (binary_expression "pcVar20 + 0x86c4c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }" { (expression_statement "iStack_9c = iVar2;" (assignment_expression "iStack_9c = iVar2" identifier = identifier) ;) (if_statement "if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }" { (expression_statement "iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;" (assignment_expression "iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508" identifier = (binary_expression "*(int *)(pcVar20 + 0x86c30) + -0x7508" (pointer_expression "*(int *)(pcVar20 + 0x86c30)" * (cast_expression "(int *)(pcVar20 + 0x86c30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c30)" ( (binary_expression "pcVar20 + 0x86c30" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);" (assignment_expression "piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4)" identifier = (cast_expression "(int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86d58))" ( (pointer_expression "**(code **)(pcVar20 + 0x86d58)" * (pointer_expression "*(code **)(pcVar20 + 0x86d58)" * (cast_expression "(code **)(pcVar20 + 0x86d58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86d58)" ( (binary_expression "pcVar20 + 0x86d58" identifier + number_literal) ))))) )) (argument_list "(*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4)" ( (pointer_expression "*puVar5" * identifier) , (pointer_expression "&iStack_9c" & identifier) , (binary_expression "*(int *)(pcVar20 + 0x86c20) + -0x5ac" (pointer_expression "*(int *)(pcVar20 + 0x86c20)" * (cast_expression "(int *)(pcVar20 + 0x86c20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c20)" ( (binary_expression "pcVar20 + 0x86c20" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) }) (else_clause "else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }" else (compound_statement "{\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }" { (expression_statement "iStack_98 = iVar12;" (assignment_expression "iStack_98 = iVar12" identifier = identifier) ;) (expression_statement "piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);" (assignment_expression "piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3)" identifier = (cast_expression "(int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86d58))" ( (pointer_expression "**(code **)(pcVar20 + 0x86d58)" * (pointer_expression "*(code **)(pcVar20 + 0x86d58)" * (cast_expression "(code **)(pcVar20 + 0x86d58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86d58)" ( (binary_expression "pcVar20 + 0x86d58" identifier + number_literal) ))))) )) (argument_list "(*puVar5,&iStack_9c,0,3)" ( (pointer_expression "*puVar5" * identifier) , (pointer_expression "&iStack_9c" & identifier) , number_literal , number_literal ))))) ;) }))) (if_statement "if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }" if (parenthesized_expression "(piVar18 != (int *)0x0)" ( (binary_expression "piVar18 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }" { (if_statement "if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }" if (parenthesized_expression "(*piVar18 == iVar2)" ( (binary_expression "*piVar18 == iVar2" (pointer_expression "*piVar18" * identifier) == identifier) )) (compound_statement "{\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }" { (expression_statement "*piVar16 = piVar18[1];" (assignment_expression "*piVar16 = piVar18[1]" (pointer_expression "*piVar16" * identifier) = (subscript_expression "piVar18[1]" identifier [ number_literal ])) ;) (expression_statement "piVar18 = (int *)piVar18[2];" (assignment_expression "piVar18 = (int *)piVar18[2]" identifier = (cast_expression "(int *)piVar18[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[2]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          piVar18 = (int *)0x0;\n        }" else (compound_statement "{\n          piVar18 = (int *)0x0;\n        }" { (expression_statement "piVar18 = (int *)0x0;" (assignment_expression "piVar18 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) })) (if_statement "if (iStack_94 == *piVar3) {\n        return piVar18;\n      }" if (parenthesized_expression "(iStack_94 == *piVar3)" ( (binary_expression "iStack_94 == *piVar3" identifier == (pointer_expression "*piVar3" * identifier)) )) (compound_statement "{\n        return piVar18;\n      }" { (return_statement "return piVar18;" return identifier ;) })) (expression_statement "(**(code **)(pcVar20 + 0x876cc))();" (call_expression "(**(code **)(pcVar20 + 0x876cc))()" (parenthesized_expression "(**(code **)(pcVar20 + 0x876cc))" ( (pointer_expression "**(code **)(pcVar20 + 0x876cc)" * (pointer_expression "*(code **)(pcVar20 + 0x876cc)" * (cast_expression "(code **)(pcVar20 + 0x876cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x876cc)" ( (binary_expression "pcVar20 + 0x876cc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "unaff_s2 = piVar16;" (assignment_expression "unaff_s2 = piVar16" identifier = identifier) ;) })) (expression_statement "(**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);" (call_expression "(**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980)" (parenthesized_expression "(**(code **)(pcVar20 + 0x87398))" ( (pointer_expression "**(code **)(pcVar20 + 0x87398)" * (pointer_expression "*(code **)(pcVar20 + 0x87398)" * (cast_expression "(code **)(pcVar20 + 0x87398)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x87398)" ( (binary_expression "pcVar20 + 0x87398" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980)" ( (binary_expression "*(int *)(pcVar20 + 0x86c4c) + 0x5814" (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" * (cast_expression "(int *)(pcVar20 + 0x86c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c4c)" ( (binary_expression "pcVar20 + 0x86c4c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar20 + 0x86c4c) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" * (cast_expression "(int *)(pcVar20 + 0x86c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c4c)" ( (binary_expression "pcVar20 + 0x86c4c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar20 + 0x86c4c) + 0x5980" (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" * (cast_expression "(int *)(pcVar20 + 0x86c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c4c)" ( (binary_expression "pcVar20 + 0x86c4c" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "piVar18 = (int *)0x145;" (assignment_expression "piVar18 = (int *)0x145" identifier = (cast_expression "(int *)0x145" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar21 = *(code **)(pcVar20 + 0x87398);" (assignment_expression "pcVar21 = *(code **)(pcVar20 + 0x87398)" identifier = (pointer_expression "*(code **)(pcVar20 + 0x87398)" * (cast_expression "(code **)(pcVar20 + 0x87398)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x87398)" ( (binary_expression "pcVar20 + 0x87398" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(pcVar20 + 0x86c4c) + 0x5790;" (assignment_expression "iVar12 = *(int *)(pcVar20 + 0x86c4c) + 0x5790" identifier = (binary_expression "*(int *)(pcVar20 + 0x86c4c) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" * (cast_expression "(int *)(pcVar20 + 0x86c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c4c)" ( (binary_expression "pcVar20 + 0x86c4c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834);" (assignment_expression "puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar20 + 0x86c4c) + 0x5834)" ( (binary_expression "*(int *)(pcVar20 + 0x86c4c) + 0x5834" (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" * (cast_expression "(int *)(pcVar20 + 0x86c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c4c)" ( (binary_expression "pcVar20 + 0x86c4c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar22 = pcVar21 + 0x8ea88;" (assignment_expression "pcVar22 = pcVar21 + 0x8ea88" identifier = (binary_expression "pcVar21 + 0x8ea88" identifier + number_literal)) ;) (expression_statement "piVar16 = *(int **)(pcVar21 + 0x878c0);" (assignment_expression "piVar16 = *(int **)(pcVar21 + 0x878c0)" identifier = (pointer_expression "*(int **)(pcVar21 + 0x878c0)" * (cast_expression "(int **)(pcVar21 + 0x878c0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x878c0)" ( (binary_expression "pcVar21 + 0x878c0" identifier + number_literal) ))))) ;) (expression_statement "puStack_d4 = (undefined4 *)*piVar16;" (assignment_expression "puStack_d4 = (undefined4 *)*piVar16" identifier = (cast_expression "(undefined4 *)*piVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) ;) (expression_statement "pcStack_e8 = pcVar22;" (assignment_expression "pcStack_e8 = pcVar22" identifier = identifier) ;) (expression_statement "iStack_d0 = iVar2;" (assignment_expression "iStack_d0 = iVar2" identifier = identifier) ;) (expression_statement "piStack_cc = piVar3;" (assignment_expression "piStack_cc = piVar3" identifier = identifier) ;) (expression_statement "piStack_c8 = unaff_s2;" (assignment_expression "piStack_c8 = unaff_s2" identifier = identifier) ;) (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2) {\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }\n    piVar8 = &iStack_dc;\n    iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;\n    ppuStack_f0 = &piStack_e0;\n    iStack_dc = iVar12;\n    piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);\n    if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }\n    puVar6 = puStack_d4;\n    piVar3 = piVar18;\n    pcVar22 = pcStack_e8;\n    if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }\n  }\n  else {\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }" if (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2)" ( (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4)" * (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4)" ( (binary_expression "iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4" (binary_expression "iVar12 * 4 + *(int *)(pcVar21 + 0x86aec)" (binary_expression "iVar12 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar21 + 0x86aec)" * (cast_expression "(int *)(pcVar21 + 0x86aec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86aec)" ( (binary_expression "pcVar21 + 0x86aec" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }\n    piVar8 = &iStack_dc;\n    iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;\n    ppuStack_f0 = &piStack_e0;\n    iStack_dc = iVar12;\n    piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);\n    if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }\n    puVar6 = puStack_d4;\n    piVar3 = piVar18;\n    pcVar22 = pcStack_e8;\n    if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }\n  }" { (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }" if (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2)" ( (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4)" * (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4)" ( (binary_expression "iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4" (binary_expression "iVar12 * 4 + *(int *)(pcVar21 + 0x86aec)" (binary_expression "iVar12 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar21 + 0x86aec)" * (cast_expression "(int *)(pcVar21 + 0x86aec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86aec)" ( (binary_expression "pcVar21 + 0x86aec" identifier + number_literal) ))))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }" { (expression_statement "(**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);" (call_expression "(**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968)" (parenthesized_expression "(**(code **)(pcVar21 + 0x87238))" ( (pointer_expression "**(code **)(pcVar21 + 0x87238)" * (pointer_expression "*(code **)(pcVar21 + 0x87238)" * (cast_expression "(code **)(pcVar21 + 0x87238)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x87238)" ( (binary_expression "pcVar21 + 0x87238" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968)" ( (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5814" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" * (cast_expression "(int *)(pcVar21 + 0x86aec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86aec)" ( (binary_expression "pcVar21 + 0x86aec" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5790" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" * (cast_expression "(int *)(pcVar21 + 0x86aec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86aec)" ( (binary_expression "pcVar21 + 0x86aec" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5968" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" * (cast_expression "(int *)(pcVar21 + 0x86aec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86aec)" ( (binary_expression "pcVar21 + 0x86aec" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_00020744;" goto statement_identifier ;) })) (expression_statement "piVar8 = &iStack_dc;" (assignment_expression "piVar8 = &iStack_dc" identifier = (pointer_expression "&iStack_dc" & identifier)) ;) (expression_statement "iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;" (assignment_expression "iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508" identifier = (binary_expression "*(int *)(pcVar21 + 0x86ad0) + -0x7508" (pointer_expression "*(int *)(pcVar21 + 0x86ad0)" * (cast_expression "(int *)(pcVar21 + 0x86ad0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86ad0)" ( (binary_expression "pcVar21 + 0x86ad0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "ppuStack_f0 = &piStack_e0;" (assignment_expression "ppuStack_f0 = &piStack_e0" identifier = (pointer_expression "&piStack_e0" & identifier)) ;) (expression_statement "iStack_dc = iVar12;" (assignment_expression "iStack_dc = iVar12" identifier = identifier) ;) (expression_statement "piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);" (assignment_expression "piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4)" identifier = (cast_expression "(int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x86bfc))" ( (pointer_expression "**(code **)(pcVar21 + 0x86bfc)" * (pointer_expression "*(code **)(pcVar21 + 0x86bfc)" * (cast_expression "(code **)(pcVar21 + 0x86bfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x86bfc)" ( (binary_expression "pcVar21 + 0x86bfc" identifier + number_literal) ))))) )) (argument_list "(*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4)" ( (pointer_expression "*puVar5" * identifier) , identifier , (binary_expression "*(int *)(pcVar21 + 0x86ac0) + -0x5ac" (pointer_expression "*(int *)(pcVar21 + 0x86ac0)" * (cast_expression "(int *)(pcVar21 + 0x86ac0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86ac0)" ( (binary_expression "pcVar21 + 0x86ac0" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (if_statement "if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }" { (labeled_statement "LAB_000206f0:\n      piVar4 = (int *)0x0;" statement_identifier : (expression_statement "piVar4 = (int *)0x0;" (assignment_expression "piVar4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }" else (compound_statement "{\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }" { (expression_statement "unaff_s4 = *piVar3;" (assignment_expression "unaff_s4 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (expression_statement "piVar8 = piStack_e0;" (assignment_expression "piVar8 = piStack_e0" identifier = identifier) ;) (if_statement "if (unaff_s4 != iVar12) goto LAB_000206f0;" if (parenthesized_expression "(unaff_s4 != iVar12)" ( (binary_expression "unaff_s4 != iVar12" identifier != identifier) )) (goto_statement "goto LAB_000206f0;" goto statement_identifier ;)) (expression_statement "piVar8 = (int *)((int)piVar18 + (int)piStack_e0);" (assignment_expression "piVar8 = (int *)((int)piVar18 + (int)piStack_e0)" identifier = (cast_expression "(int *)((int)piVar18 + (int)piStack_e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + (int)piStack_e0)" ( (binary_expression "(int)piVar18 + (int)piStack_e0" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)piStack_e0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);" (assignment_expression "piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5)" identifier = (cast_expression "(int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5)" (parenthesized_expression "(**(code **)(pcStack_e8 + -0x7ea4))" ( (pointer_expression "**(code **)(pcStack_e8 + -0x7ea4)" * (pointer_expression "*(code **)(pcStack_e8 + -0x7ea4)" * (cast_expression "(code **)(pcStack_e8 + -0x7ea4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e8 + -0x7ea4)" ( (binary_expression "pcStack_e8 + -0x7ea4" identifier + number_literal) ))))) )) (argument_list "(*puVar5)" ( (pointer_expression "*puVar5" * identifier) ))))) ;) (if_statement "if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;" if (parenthesized_expression "((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4))" ( (binary_expression "(piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)" (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar3 != unaff_s4)" ( (binary_expression "*piVar3 != unaff_s4" (pointer_expression "*piVar3" * identifier) != identifier) ))) )) (goto_statement "goto LAB_000206f0;" goto statement_identifier ;)) (expression_statement "piVar4 = (int *)piVar3[1];" (assignment_expression "piVar4 = (int *)piVar3[1]" identifier = (cast_expression "(int *)piVar3[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[1]" identifier [ number_literal ]))) ;) }))) (expression_statement "puVar6 = puStack_d4;" (assignment_expression "puVar6 = puStack_d4" identifier = identifier) ;) (expression_statement "piVar3 = piVar18;" (assignment_expression "piVar3 = piVar18" identifier = identifier) ;) (expression_statement "pcVar22 = pcStack_e8;" (assignment_expression "pcVar22 = pcStack_e8" identifier = identifier) ;) (if_statement "if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }" if (parenthesized_expression "(puStack_d4 == (undefined4 *)*piVar16)" ( (binary_expression "puStack_d4 == (undefined4 *)*piVar16" identifier == (cast_expression "(undefined4 *)*piVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) )) (compound_statement "{\n      return piVar4;\n    }" { (return_statement "return piVar4;" return identifier ;) })) }) (else_clause "else {\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }" else (compound_statement "{\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }" { (labeled_statement "LAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);" statement_identifier : (expression_statement "piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);" (assignment_expression "piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790)" identifier = (cast_expression "(int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar21 + 0x86aec) + 0x5790)" ( (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5790" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" * (cast_expression "(int *)(pcVar21 + 0x86aec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86aec)" ( (binary_expression "pcVar21 + 0x86aec" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);" (assignment_expression "puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar21 + 0x86aec) + 0x5834)" ( (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5834" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" * (cast_expression "(int *)(pcVar21 + 0x86aec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86aec)" ( (binary_expression "pcVar21 + 0x86aec" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);" (call_expression "(**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968)" (parenthesized_expression "(**(code **)(pcVar21 + 0x87238))" ( (pointer_expression "**(code **)(pcVar21 + 0x87238)" * (pointer_expression "*(code **)(pcVar21 + 0x87238)" * (cast_expression "(code **)(pcVar21 + 0x87238)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x87238)" ( (binary_expression "pcVar21 + 0x87238" identifier + number_literal) ))))) )) (argument_list "(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5968" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" * (cast_expression "(int *)(pcVar21 + 0x86aec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86aec)" ( (binary_expression "pcVar21 + 0x86aec" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x751c);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x751c)" identifier = (pointer_expression "*(code **)(pcVar22 + -0x751c)" * (cast_expression "(code **)(pcVar22 + -0x751c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x751c)" ( (binary_expression "pcVar22 + -0x751c" identifier + number_literal) ))))) ;) (expression_statement "pcVar21 = conf_get_filename;" (assignment_expression "pcVar21 = conf_get_filename" identifier = identifier) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar22 = pcVar20 + 0x8e91c;" (assignment_expression "pcVar22 = pcVar20 + 0x8e91c" identifier = (binary_expression "pcVar20 + 0x8e91c" identifier + number_literal)) ;) (expression_statement "piVar18 = *(int **)(pcVar20 + 0x87754);" (assignment_expression "piVar18 = *(int **)(pcVar20 + 0x87754)" identifier = (pointer_expression "*(int **)(pcVar20 + 0x87754)" * (cast_expression "(int **)(pcVar20 + 0x87754)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x87754)" ( (binary_expression "pcVar20 + 0x87754" identifier + number_literal) ))))) ;) (expression_statement "iStack_10c = *piVar18;" (assignment_expression "iStack_10c = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "pcStack_120 = pcVar22;" (assignment_expression "pcStack_120 = pcVar22" identifier = identifier) ;) (expression_statement "piStack_108 = piVar16;" (assignment_expression "piStack_108 = piVar16" identifier = identifier) ;) (expression_statement "pcStack_104 = pcVar21;" (assignment_expression "pcStack_104 = pcVar21" identifier = identifier) ;) (if_statement "if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0) {\n    if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }" if (parenthesized_expression "(*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0)" ( (binary_expression "*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0" (pointer_expression "*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4)" * (cast_expression "(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4)" ( (binary_expression "(int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4" (binary_expression "(int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980)" (binary_expression "(int)piVar8 * 4" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x86980)" * (cast_expression "(int *)(pcVar20 + 0x86980)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86980)" ( (binary_expression "pcVar20 + 0x86980" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }\n  }" { (if_statement "if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }" if (parenthesized_expression "(*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3)" ( (binary_expression "*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3" (pointer_expression "*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4)" * (cast_expression "(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4)" ( (binary_expression "(int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4" (binary_expression "(int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980)" (binary_expression "(int)piVar8 * 4" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x86980)" * (cast_expression "(int *)(pcVar20 + 0x86980)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86980)" ( (binary_expression "pcVar20 + 0x86980" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }" { (expression_statement "apiStack_114[0] = piVar8;" (assignment_expression "apiStack_114[0] = piVar8" (subscript_expression "apiStack_114[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);" (assignment_expression "iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0)" identifier = (call_expression "(**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86a84))" ( (pointer_expression "**(code **)(pcVar20 + 0x86a84)" * (pointer_expression "*(code **)(pcVar20 + 0x86a84)" * (cast_expression "(code **)(pcVar20 + 0x86a84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86a84)" ( (binary_expression "pcVar20 + 0x86a84" identifier + number_literal) ))))) )) (argument_list "(*puVar6,apiStack_114,0)" ( (pointer_expression "*puVar6" * identifier) , identifier , number_literal )))) ;) (expression_statement "pcVar22 = pcStack_120;" (assignment_expression "pcVar22 = pcStack_120" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }" { (if_statement "if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }" if (parenthesized_expression "(iStack_10c == *piVar18)" ( (binary_expression "iStack_10c == *piVar18" identifier == (pointer_expression "*piVar18" * identifier)) )) (compound_statement "{\n          return *(int **)(iVar2 + 8);\n        }" { (return_statement "return *(int **)(iVar2 + 8);" return (pointer_expression "*(int **)(iVar2 + 8)" * (cast_expression "(int **)(iVar2 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) ;) })) (goto_statement "goto LAB_00020834;" goto statement_identifier ;) })) (goto_statement "goto LAB_00020840;" goto statement_identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }" else (compound_statement "{\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }" { (expression_statement "(**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);" (call_expression "(**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954)" (parenthesized_expression "(**(code **)(pcVar20 + 0x870cc))" ( (pointer_expression "**(code **)(pcVar20 + 0x870cc)" * (pointer_expression "*(code **)(pcVar20 + 0x870cc)" * (cast_expression "(code **)(pcVar20 + 0x870cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x870cc)" ( (binary_expression "pcVar20 + 0x870cc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954)" ( (binary_expression "*(int *)(pcVar20 + 0x86980) + 0x57ac" (pointer_expression "*(int *)(pcVar20 + 0x86980)" * (cast_expression "(int *)(pcVar20 + 0x86980)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86980)" ( (binary_expression "pcVar20 + 0x86980" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar20 + 0x86980) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86980)" * (cast_expression "(int *)(pcVar20 + 0x86980)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86980)" ( (binary_expression "pcVar20 + 0x86980" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar20 + 0x86980) + 0x5954" (pointer_expression "*(int *)(pcVar20 + 0x86980)" * (cast_expression "(int *)(pcVar20 + 0x86980)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86980)" ( (binary_expression "pcVar20 + 0x86980" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();" statement_identifier : (expression_statement "(**(code **)(pcVar22 + -0x751c))();" (call_expression "(**(code **)(pcVar22 + -0x751c))()" (parenthesized_expression "(**(code **)(pcVar22 + -0x751c))" ( (pointer_expression "**(code **)(pcVar22 + -0x751c)" * (pointer_expression "*(code **)(pcVar22 + -0x751c)" * (cast_expression "(code **)(pcVar22 + -0x751c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x751c)" ( (binary_expression "pcVar22 + -0x751c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);" statement_identifier : (expression_statement "(**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);" (call_expression "(**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954)" (parenthesized_expression "(**(code **)(pcVar22 + -0x7850))" ( (pointer_expression "**(code **)(pcVar22 + -0x7850)" * (pointer_expression "*(code **)(pcVar22 + -0x7850)" * (cast_expression "(code **)(pcVar22 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7850)" ( (binary_expression "pcVar22 + -0x7850" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954)" ( (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x57a4" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5954" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) ))) ;)) }))) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" identifier = (pointer_expression "*(code **)(pcVar22 + -0x7850)" * (cast_expression "(code **)(pcVar22 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7850)" ( (binary_expression "pcVar22 + -0x7850" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar21 = conf_get_fontspec;" (assignment_expression "pcVar21 = conf_get_fontspec" identifier = identifier) ;) (expression_statement "puVar6 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c);" (assignment_expression "puVar6 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + -0x7f9c) + 0x585c)" ( (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x585c" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar20)(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954);" (call_expression "(*pcVar20)(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5954" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar22 = pcVar20 + 0x8e808;" (assignment_expression "pcVar22 = pcVar20 + 0x8e808" identifier = (binary_expression "pcVar20 + 0x8e808" identifier + number_literal)) ;) (expression_statement "piVar16 = *(int **)(pcVar20 + 0x87640);" (assignment_expression "piVar16 = *(int **)(pcVar20 + 0x87640)" identifier = (pointer_expression "*(int **)(pcVar20 + 0x87640)" * (cast_expression "(int **)(pcVar20 + 0x87640)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x87640)" ( (binary_expression "pcVar20 + 0x87640" identifier + number_literal) ))))) ;) (expression_statement "iStack_13c = *piVar16;" (assignment_expression "iStack_13c = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "pcStack_150 = pcVar22;" (assignment_expression "pcStack_150 = pcVar22" identifier = identifier) ;) (expression_statement "piStack_138 = piVar18;" (assignment_expression "piStack_138 = piVar18" identifier = identifier) ;) (expression_statement "pcStack_134 = pcVar21;" (assignment_expression "pcStack_134 = pcVar21" identifier = identifier) ;) (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }" if (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0)" ( (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4)" * (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4)" ( (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x8686c)" (binary_expression "iVar2 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x8686c)" * (cast_expression "(int *)(pcVar20 + 0x8686c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x8686c)" ( (binary_expression "pcVar20 + 0x8686c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }\n  }" { (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }" if (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4)" ( (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4)" * (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4)" ( (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x8686c)" (binary_expression "iVar2 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x8686c)" * (cast_expression "(int *)(pcVar20 + 0x8686c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x8686c)" ( (binary_expression "pcVar20 + 0x8686c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }" { (expression_statement "aiStack_144[0] = iVar2;" (assignment_expression "aiStack_144[0] = iVar2" (subscript_expression "aiStack_144[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);" (assignment_expression "iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0)" identifier = (call_expression "(**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86970))" ( (pointer_expression "**(code **)(pcVar20 + 0x86970)" * (pointer_expression "*(code **)(pcVar20 + 0x86970)" * (cast_expression "(code **)(pcVar20 + 0x86970)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86970)" ( (binary_expression "pcVar20 + 0x86970" identifier + number_literal) ))))) )) (argument_list "(*puVar6,aiStack_144,0)" ( (pointer_expression "*puVar6" * identifier) , identifier , number_literal )))) ;) (expression_statement "pcVar22 = pcStack_150;" (assignment_expression "pcVar22 = pcStack_150" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }" { (if_statement "if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }" if (parenthesized_expression "(iStack_13c == *piVar16)" ( (binary_expression "iStack_13c == *piVar16" identifier == (pointer_expression "*piVar16" * identifier)) )) (compound_statement "{\n          return *(int **)(iVar2 + 8);\n        }" { (return_statement "return *(int **)(iVar2 + 8);" return (pointer_expression "*(int **)(iVar2 + 8)" * (cast_expression "(int **)(iVar2 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) ;) })) (goto_statement "goto LAB_00020948;" goto statement_identifier ;) })) (goto_statement "goto LAB_00020954;" goto statement_identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }" else (compound_statement "{\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }" { (expression_statement "(**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);" (call_expression "(**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86fb8))" ( (pointer_expression "**(code **)(pcVar20 + 0x86fb8)" * (pointer_expression "*(code **)(pcVar20 + 0x86fb8)" * (cast_expression "(code **)(pcVar20 + 0x86fb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86fb8)" ( (binary_expression "pcVar20 + 0x86fb8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940)" ( (binary_expression "*(int *)(pcVar20 + 0x8686c) + 0x57ac" (pointer_expression "*(int *)(pcVar20 + 0x8686c)" * (cast_expression "(int *)(pcVar20 + 0x8686c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x8686c)" ( (binary_expression "pcVar20 + 0x8686c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar20 + 0x8686c) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x8686c)" * (cast_expression "(int *)(pcVar20 + 0x8686c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x8686c)" ( (binary_expression "pcVar20 + 0x8686c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar20 + 0x8686c) + 0x5940" (pointer_expression "*(int *)(pcVar20 + 0x8686c)" * (cast_expression "(int *)(pcVar20 + 0x8686c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x8686c)" ( (binary_expression "pcVar20 + 0x8686c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();" statement_identifier : (expression_statement "(**(code **)(pcVar22 + -0x751c))();" (call_expression "(**(code **)(pcVar22 + -0x751c))()" (parenthesized_expression "(**(code **)(pcVar22 + -0x751c))" ( (pointer_expression "**(code **)(pcVar22 + -0x751c)" * (pointer_expression "*(code **)(pcVar22 + -0x751c)" * (cast_expression "(code **)(pcVar22 + -0x751c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x751c)" ( (binary_expression "pcVar22 + -0x751c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);" statement_identifier : (expression_statement "(**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);" (call_expression "(**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940)" (parenthesized_expression "(**(code **)(pcVar22 + -0x7850))" ( (pointer_expression "**(code **)(pcVar22 + -0x7850)" * (pointer_expression "*(code **)(pcVar22 + -0x7850)" * (cast_expression "(code **)(pcVar22 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7850)" ( (binary_expression "pcVar22 + -0x7850" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940)" ( (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x57a4" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5940" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) ))) ;)) }))) (expression_statement "iVar13 = 0x17c;" (assignment_expression "iVar13 = 0x17c" identifier = number_literal) ;) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" identifier = (pointer_expression "*(code **)(pcVar22 + -0x7850)" * (cast_expression "(code **)(pcVar22 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7850)" ( (binary_expression "pcVar22 + -0x7850" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar21 = conf_set_int;" (assignment_expression "pcVar21 = conf_set_int" identifier = identifier) ;) (expression_statement "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5884;" (assignment_expression "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5884" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5884" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_178 = pcVar20 + 0x8e6f4;" (assignment_expression "pcStack_178 = pcVar20 + 0x8e6f4" identifier = (binary_expression "pcVar20 + 0x8e6f4" identifier + number_literal)) ;) (expression_statement "piStack_170 = piVar16;" (assignment_expression "piStack_170 = piVar16" identifier = identifier) ;) (expression_statement "piStack_16c = piVar3;" (assignment_expression "piStack_16c = piVar3" identifier = identifier) ;) (expression_statement "iStack_168 = iVar12;" (assignment_expression "iStack_168 = iVar12" identifier = identifier) ;) (expression_statement "pcStack_164 = pcVar21;" (assignment_expression "pcStack_164 = pcVar21" identifier = identifier) ;) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" identifier = (cast_expression "(int *)safemalloc(1,0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xc)" identifier (argument_list "(1,0xc)" ( number_literal , number_literal ))))) ;) (expression_statement "pcVar22 = pcStack_178;" (assignment_expression "pcVar22 = pcStack_178" identifier = identifier) ;) (if_statement "if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }" if (parenthesized_expression "(*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0)" ( (binary_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0" (pointer_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4)" * (cast_expression "(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4)" ( (binary_expression "iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4" (binary_expression "iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c)" (binary_expression "iVar9 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcStack_178 + -0x7f9c)" * (cast_expression "(int *)(pcStack_178 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7f9c)" ( (binary_expression "pcStack_178 + -0x7f9c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }" { (if_statement "if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" if (parenthesized_expression "(*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1)" ( (binary_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1" (pointer_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4)" * (cast_expression "(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4)" ( (binary_expression "iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4" (binary_expression "iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c)" (binary_expression "iVar9 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcStack_178 + -0x7f9c)" * (cast_expression "(int *)(pcStack_178 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7f9c)" ( (binary_expression "pcStack_178 + -0x7f9c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" { (expression_statement "*piVar18 = iVar9;" (assignment_expression "*piVar18 = iVar9" (pointer_expression "*piVar18" * identifier) = identifier) ;) (expression_statement "piVar18[2] = iVar13;" (assignment_expression "piVar18[2] = iVar13" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18)" identifier = (cast_expression "(int *)FUN_0001fc80(iVar2,piVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001fc80(iVar2,piVar18)" identifier (argument_list "(iVar2,piVar18)" ( identifier , identifier ))))) ;) (return_statement "return piVar18;" return identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }" else (compound_statement "{\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }" { (expression_statement "(**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);" (call_expression "(**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930)" (parenthesized_expression "(**(code **)(pcStack_178 + -0x7850))" ( (pointer_expression "**(code **)(pcStack_178 + -0x7850)" * (pointer_expression "*(code **)(pcStack_178 + -0x7850)" * (cast_expression "(code **)(pcStack_178 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_178 + -0x7850)" ( (binary_expression "pcStack_178 + -0x7850" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930)" ( (binary_expression "*(int *)(pcStack_178 + -0x7f9c) + 0x57ac" (pointer_expression "*(int *)(pcStack_178 + -0x7f9c)" * (cast_expression "(int *)(pcStack_178 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7f9c)" ( (binary_expression "pcStack_178 + -0x7f9c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_178 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcStack_178 + -0x7f9c)" * (cast_expression "(int *)(pcStack_178 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7f9c)" ( (binary_expression "pcStack_178 + -0x7f9c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcStack_178 + -0x7f9c) + 0x5930" (pointer_expression "*(int *)(pcStack_178 + -0x7f9c)" * (cast_expression "(int *)(pcStack_178 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7f9c)" ( (binary_expression "pcStack_178 + -0x7f9c" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "iVar14 = 0x188;" (assignment_expression "iVar14 = 0x188" identifier = number_literal) ;) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" identifier = (pointer_expression "*(code **)(pcVar22 + -0x7850)" * (cast_expression "(code **)(pcVar22 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7850)" ( (binary_expression "pcVar22 + -0x7850" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(pcVar22 + -0x7f9c) + 0x5930;" (assignment_expression "iVar17 = *(int *)(pcVar22 + -0x7f9c) + 0x5930" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5930" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar21 = conf_set_int_int;" (assignment_expression "pcVar21 = conf_set_int_int" identifier = identifier) ;) (expression_statement "iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;" (assignment_expression "iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x57d0" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_1a8 = pcVar20 + 0x8e608;" (assignment_expression "pcStack_1a8 = pcVar20 + 0x8e608" identifier = (binary_expression "pcVar20 + 0x8e608" identifier + number_literal)) ;) (expression_statement "iStack_19c = iVar2;" (assignment_expression "iStack_19c = iVar2" identifier = identifier) ;) (expression_statement "iStack_198 = iVar13;" (assignment_expression "iStack_198 = iVar13" identifier = identifier) ;) (expression_statement "iStack_194 = iVar9;" (assignment_expression "iStack_194 = iVar9" identifier = identifier) ;) (expression_statement "puStack_190 = puVar5;" (assignment_expression "puStack_190 = puVar5" identifier = identifier) ;) (expression_statement "pcStack_18c = pcVar21;" (assignment_expression "pcStack_18c = pcVar21" identifier = identifier) ;) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" identifier = (cast_expression "(int *)safemalloc(1,0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xc)" identifier (argument_list "(1,0xc)" ( number_literal , number_literal ))))) ;) (expression_statement "pcVar22 = pcStack_1a8;" (assignment_expression "pcVar22 = pcStack_1a8" identifier = identifier) ;) (if_statement "if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1) {\n    if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }" if (parenthesized_expression "(*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1)" ( (binary_expression "*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1" (pointer_expression "*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4)" * (cast_expression "(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4)" ( (binary_expression "iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4" (binary_expression "iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c)" (binary_expression "iVar10 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcStack_1a8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1a8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1a8 + -0x7f9c)" ( (binary_expression "pcStack_1a8 + -0x7f9c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }" { (if_statement "if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }" if (parenthesized_expression "(*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1)" ( (binary_expression "*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1" (pointer_expression "*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4)" * (cast_expression "(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4)" ( (binary_expression "iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4" (binary_expression "iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c)" (binary_expression "iVar10 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcStack_1a8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1a8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1a8 + -0x7f9c)" ( (binary_expression "pcStack_1a8 + -0x7f9c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }" { (expression_statement "*piVar18 = iVar10;" (assignment_expression "*piVar18 = iVar10" (pointer_expression "*piVar18" * identifier) = identifier) ;) (expression_statement "piVar18[1] = iVar14;" (assignment_expression "piVar18[1] = iVar14" (subscript_expression "piVar18[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18[2] = iVar17;" (assignment_expression "piVar18[2] = iVar17" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar12,piVar18)" identifier = (cast_expression "(int *)FUN_0001fc80(iVar12,piVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001fc80(iVar12,piVar18)" identifier (argument_list "(iVar12,piVar18)" ( identifier , identifier ))))) ;) (return_statement "return piVar18;" return identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }" else (compound_statement "{\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }" { (expression_statement "(**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);" (call_expression "(**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x7850))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x7850)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x7850)" * (cast_expression "(code **)(pcStack_1a8 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x7850)" ( (binary_expression "pcStack_1a8 + -0x7850" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910)" ( (binary_expression "*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0" (pointer_expression "*(int *)(pcStack_1a8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1a8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1a8 + -0x7f9c)" ( (binary_expression "pcStack_1a8 + -0x7f9c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcStack_1a8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1a8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1a8 + -0x7f9c)" ( (binary_expression "pcStack_1a8 + -0x7f9c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910" (pointer_expression "*(int *)(pcStack_1a8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1a8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1a8 + -0x7f9c)" ( (binary_expression "pcStack_1a8 + -0x7f9c" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "uVar11 = 0x193;" (assignment_expression "uVar11 = 0x193" identifier = number_literal) ;) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" identifier = (pointer_expression "*(code **)(pcVar22 + -0x7850)" * (cast_expression "(code **)(pcVar22 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7850)" ( (binary_expression "pcVar22 + -0x7850" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar21 = conf_set_str;" (assignment_expression "pcVar21 = conf_set_str" identifier = identifier) ;) (expression_statement "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;" (assignment_expression "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x57d0" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_1d8 = pcVar20 + 0x8e50c;" (assignment_expression "pcStack_1d8 = pcVar20 + 0x8e50c" identifier = (binary_expression "pcVar20 + 0x8e50c" identifier + number_literal)) ;) (expression_statement "iStack_1cc = iVar17;" (assignment_expression "iStack_1cc = iVar17" identifier = identifier) ;) (expression_statement "iStack_1c8 = iVar12;" (assignment_expression "iStack_1c8 = iVar12" identifier = identifier) ;) (expression_statement "iStack_1c4 = iVar14;" (assignment_expression "iStack_1c4 = iVar14" identifier = identifier) ;) (expression_statement "iStack_1c0 = iVar10;" (assignment_expression "iStack_1c0 = iVar10" identifier = identifier) ;) (expression_statement "pcStack_1bc = pcVar21;" (assignment_expression "pcStack_1bc = pcVar21" identifier = identifier) ;) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" identifier = (cast_expression "(int *)safemalloc(1,0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xc)" identifier (argument_list "(1,0xc)" ( number_literal , number_literal ))))) ;) (expression_statement "pcVar22 = pcStack_1d8;" (assignment_expression "pcVar22 = pcStack_1d8" identifier = identifier) ;) (if_statement "if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }" if (parenthesized_expression "(*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0)" ( (binary_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0" (pointer_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4)" * (cast_expression "(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4)" ( (binary_expression "iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4" (binary_expression "iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c)" (binary_expression "iVar9 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcStack_1d8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1d8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1d8 + -0x7f9c)" ( (binary_expression "pcStack_1d8 + -0x7f9c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }" { (if_statement "if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" if (parenthesized_expression "(*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2)" ( (binary_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2" (pointer_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4)" * (cast_expression "(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4)" ( (binary_expression "iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4" (binary_expression "iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c)" (binary_expression "iVar9 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcStack_1d8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1d8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1d8 + -0x7f9c)" ( (binary_expression "pcStack_1d8 + -0x7f9c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" { (expression_statement "*piVar18 = iVar9;" (assignment_expression "*piVar18 = iVar9" (pointer_expression "*piVar18" * identifier) = identifier) ;) (expression_statement "iVar12 = dupstr(uVar11);" (assignment_expression "iVar12 = dupstr(uVar11)" identifier = (call_expression "dupstr(uVar11)" identifier (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "piVar18[2] = iVar12;" (assignment_expression "piVar18[2] = iVar12" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18)" identifier = (cast_expression "(int *)FUN_0001fc80(iVar2,piVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001fc80(iVar2,piVar18)" identifier (argument_list "(iVar2,piVar18)" ( identifier , identifier ))))) ;) (return_statement "return piVar18;" return identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }" else (compound_statement "{\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }" { (expression_statement "(**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);" (call_expression "(**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900)" (parenthesized_expression "(**(code **)(pcStack_1d8 + -0x7850))" ( (pointer_expression "**(code **)(pcStack_1d8 + -0x7850)" * (pointer_expression "*(code **)(pcStack_1d8 + -0x7850)" * (cast_expression "(code **)(pcStack_1d8 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1d8 + -0x7850)" ( (binary_expression "pcStack_1d8 + -0x7850" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900)" ( (binary_expression "*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac" (pointer_expression "*(int *)(pcStack_1d8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1d8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1d8 + -0x7f9c)" ( (binary_expression "pcStack_1d8 + -0x7f9c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcStack_1d8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1d8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1d8 + -0x7f9c)" ( (binary_expression "pcStack_1d8 + -0x7f9c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900" (pointer_expression "*(int *)(pcStack_1d8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1d8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1d8 + -0x7f9c)" ( (binary_expression "pcStack_1d8 + -0x7f9c" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "uVar15 = 0x19f;" (assignment_expression "uVar15 = 0x19f" identifier = number_literal) ;) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" identifier = (pointer_expression "*(code **)(pcVar22 + -0x7850)" * (cast_expression "(code **)(pcVar22 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7850)" ( (binary_expression "pcVar22 + -0x7850" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5900;" (assignment_expression "iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5900" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5900" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar13 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar13 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar21 = conf_set_str_str;" (assignment_expression "pcVar21 = conf_set_str_str" identifier = identifier) ;) (expression_statement "iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x5814;" (assignment_expression "iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x5814" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5814" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_208 = pcVar20 + 0x8e404;" (assignment_expression "pcStack_208 = pcVar20 + 0x8e404" identifier = (binary_expression "pcVar20 + 0x8e404" identifier + number_literal)) ;) (expression_statement "piStack_200 = piVar18;" (assignment_expression "piStack_200 = piVar18" identifier = identifier) ;) (expression_statement "iStack_1fc = iVar2;" (assignment_expression "iStack_1fc = iVar2" identifier = identifier) ;) (expression_statement "uStack_1f8 = uVar11;" (assignment_expression "uStack_1f8 = uVar11" identifier = identifier) ;) (expression_statement "iStack_1f4 = iVar9;" (assignment_expression "iStack_1f4 = iVar9" identifier = identifier) ;) (expression_statement "iStack_1f0 = unaff_s4;" (assignment_expression "iStack_1f0 = unaff_s4" identifier = identifier) ;) (expression_statement "pcStack_1ec = pcVar21;" (assignment_expression "pcStack_1ec = pcVar21" identifier = identifier) ;) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" identifier = (cast_expression "(int *)safemalloc(1,0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xc)" identifier (argument_list "(1,0xc)" ( number_literal , number_literal ))))) ;) (expression_statement "pcVar22 = pcStack_208;" (assignment_expression "pcVar22 = pcStack_208" identifier = identifier) ;) (if_statement "if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }" if (parenthesized_expression "(*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2)" ( (binary_expression "*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2" (pointer_expression "*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4)" * (cast_expression "(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4)" ( (binary_expression "iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4" (binary_expression "iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c)" (binary_expression "iVar13 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcStack_208 + -0x7f9c)" * (cast_expression "(int *)(pcStack_208 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_208 + -0x7f9c)" ( (binary_expression "pcStack_208 + -0x7f9c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }" { (if_statement "if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }" if (parenthesized_expression "(*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2)" ( (binary_expression "*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2" (pointer_expression "*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4)" * (cast_expression "(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4)" ( (binary_expression "iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4" (binary_expression "iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c)" (binary_expression "iVar13 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcStack_208 + -0x7f9c)" * (cast_expression "(int *)(pcStack_208 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_208 + -0x7f9c)" ( (binary_expression "pcStack_208 + -0x7f9c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }" { (expression_statement "*piVar18 = iVar13;" (assignment_expression "*piVar18 = iVar13" (pointer_expression "*piVar18" * identifier) = identifier) ;) (expression_statement "iVar2 = dupstr(uVar15);" (assignment_expression "iVar2 = dupstr(uVar15)" identifier = (call_expression "dupstr(uVar15)" identifier (argument_list "(uVar15)" ( identifier )))) ;) (expression_statement "piVar18[1] = iVar2;" (assignment_expression "piVar18[1] = iVar2" (subscript_expression "piVar18[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = dupstr(iVar10);" (assignment_expression "iVar2 = dupstr(iVar10)" identifier = (call_expression "dupstr(iVar10)" identifier (argument_list "(iVar10)" ( identifier )))) ;) (expression_statement "piVar18[2] = iVar2;" (assignment_expression "piVar18[2] = iVar2" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar12,piVar18)" identifier = (cast_expression "(int *)FUN_0001fc80(iVar12,piVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001fc80(iVar12,piVar18)" identifier (argument_list "(iVar12,piVar18)" ( identifier , identifier ))))) ;) (return_statement "return piVar18;" return identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }" else (compound_statement "{\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }" { (expression_statement "(**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);" (call_expression "(**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec)" (parenthesized_expression "(**(code **)(pcStack_208 + -0x7850))" ( (pointer_expression "**(code **)(pcStack_208 + -0x7850)" * (pointer_expression "*(code **)(pcStack_208 + -0x7850)" * (cast_expression "(code **)(pcStack_208 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_208 + -0x7850)" ( (binary_expression "pcStack_208 + -0x7850" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec)" ( (binary_expression "*(int *)(pcStack_208 + -0x7f9c) + 0x5834" (pointer_expression "*(int *)(pcStack_208 + -0x7f9c)" * (cast_expression "(int *)(pcStack_208 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_208 + -0x7f9c)" ( (binary_expression "pcStack_208 + -0x7f9c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_208 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcStack_208 + -0x7f9c)" * (cast_expression "(int *)(pcStack_208 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_208 + -0x7f9c)" ( (binary_expression "pcStack_208 + -0x7f9c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcStack_208 + -0x7f9c) + 0x58ec" (pointer_expression "*(int *)(pcStack_208 + -0x7f9c)" * (cast_expression "(int *)(pcStack_208 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_208 + -0x7f9c)" ( (binary_expression "pcStack_208 + -0x7f9c" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "uVar11 = 0x1ab;" (assignment_expression "uVar11 = 0x1ab" identifier = number_literal) ;) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" identifier = (pointer_expression "*(code **)(pcVar22 + -0x7850)" * (cast_expression "(code **)(pcVar22 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7850)" ( (binary_expression "pcVar22 + -0x7850" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar21 = conf_del_str_str;" (assignment_expression "pcVar21 = conf_del_str_str" identifier = identifier) ;) (expression_statement "puVar5 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814);" (assignment_expression "puVar5 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + -0x7f9c) + 0x5814)" ( (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5814" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar3 = *(int **)(pcVar20 + 0x87114);" (assignment_expression "piVar3 = *(int **)(pcVar20 + 0x87114)" identifier = (pointer_expression "*(int **)(pcVar20 + 0x87114)" * (cast_expression "(int **)(pcVar20 + 0x87114)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x87114)" ( (binary_expression "pcVar20 + 0x87114" identifier + number_literal) ))))) ;) (expression_statement "piStack_22c = (int *)*piVar3;" (assignment_expression "piStack_22c = (int *)*piVar3" identifier = (cast_expression "(int *)*piVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar3" * identifier))) ;) (expression_statement "piStack_228 = piVar18;" (assignment_expression "piStack_228 = piVar18" identifier = identifier) ;) (expression_statement "iStack_224 = iVar12;" (assignment_expression "iStack_224 = iVar12" identifier = identifier) ;) (expression_statement "iStack_220 = iVar10;" (assignment_expression "iStack_220 = iVar10" identifier = identifier) ;) (expression_statement "pcStack_21c = pcVar21;" (assignment_expression "pcStack_21c = pcVar21" identifier = identifier) ;) (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;\n    iStack_234 = iVar2;\n    uStack_230 = uVar11;\n    iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);\n    if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }\n    piVar3 = (int *)*piVar3;\n    if (piStack_22c == piVar3) {\n      return piVar3;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }" if (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2)" ( (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4)" * (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4)" ( (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86340)" (binary_expression "iVar2 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x86340)" * (cast_expression "(int *)(pcVar20 + 0x86340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86340)" ( (binary_expression "pcVar20 + 0x86340" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;\n    iStack_234 = iVar2;\n    uStack_230 = uVar11;\n    iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);\n    if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }\n    piVar3 = (int *)*piVar3;\n    if (piStack_22c == piVar3) {\n      return piVar3;\n    }\n  }" { (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;" if (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2)" ( (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4)" * (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4)" ( (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86340)" (binary_expression "iVar2 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x86340)" * (cast_expression "(int *)(pcVar20 + 0x86340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86340)" ( (binary_expression "pcVar20 + 0x86340" identifier + number_literal) ))))) + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_00020ec4;" goto statement_identifier ;)) (expression_statement "iStack_234 = iVar2;" (assignment_expression "iStack_234 = iVar2" identifier = identifier) ;) (expression_statement "uStack_230 = uVar11;" (assignment_expression "uStack_230 = uVar11" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);" (assignment_expression "iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0)" identifier = (call_expression "(**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86444))" ( (pointer_expression "**(code **)(pcVar20 + 0x86444)" * (pointer_expression "*(code **)(pcVar20 + 0x86444)" * (cast_expression "(code **)(pcVar20 + 0x86444)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86444)" ( (binary_expression "pcVar20 + 0x86444" identifier + number_literal) ))))) )) (argument_list "(*puVar5,&iStack_234,0)" ( (pointer_expression "*puVar5" * identifier) , (pointer_expression "&iStack_234" & identifier) , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }" { (expression_statement "(**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);" (call_expression "(**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86428))" ( (pointer_expression "**(code **)(pcVar20 + 0x86428)" * (pointer_expression "*(code **)(pcVar20 + 0x86428)" * (cast_expression "(code **)(pcVar20 + 0x86428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86428)" ( (binary_expression "pcVar20 + 0x86428" identifier + number_literal) ))))) )) (argument_list "(*puVar5,iVar2)" ( (pointer_expression "*puVar5" * identifier) , identifier ))) ;) (expression_statement "FUN_0001fae8(iVar2);" (call_expression "FUN_0001fae8(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) })) (expression_statement "piVar3 = (int *)*piVar3;" (assignment_expression "piVar3 = (int *)*piVar3" identifier = (cast_expression "(int *)*piVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar3" * identifier))) ;) (if_statement "if (piStack_22c == piVar3) {\n      return piVar3;\n    }" if (parenthesized_expression "(piStack_22c == piVar3)" ( (binary_expression "piStack_22c == piVar3" identifier == identifier) )) (compound_statement "{\n      return piVar3;\n    }" { (return_statement "return piVar3;" return identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }" else (compound_statement "{\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }" { (expression_statement "(**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);" (call_expression "(**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86a8c))" ( (pointer_expression "**(code **)(pcVar20 + 0x86a8c)" * (pointer_expression "*(code **)(pcVar20 + 0x86a8c)" * (cast_expression "(code **)(pcVar20 + 0x86a8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86a8c)" ( (binary_expression "pcVar20 + 0x86a8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8)" ( (binary_expression "*(int *)(pcVar20 + 0x86340) + 0x5834" (pointer_expression "*(int *)(pcVar20 + 0x86340)" * (cast_expression "(int *)(pcVar20 + 0x86340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86340)" ( (binary_expression "pcVar20 + 0x86340" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar20 + 0x86340) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86340)" * (cast_expression "(int *)(pcVar20 + 0x86340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86340)" ( (binary_expression "pcVar20 + 0x86340" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar20 + 0x86340) + 0x58d8" (pointer_expression "*(int *)(pcVar20 + 0x86340)" * (cast_expression "(int *)(pcVar20 + 0x86340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86340)" ( (binary_expression "pcVar20 + 0x86340" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "(**(code **)(pcVar20 + 0x86dc0))();" (call_expression "(**(code **)(pcVar20 + 0x86dc0))()" (parenthesized_expression "(**(code **)(pcVar20 + 0x86dc0))" ( (pointer_expression "**(code **)(pcVar20 + 0x86dc0)" * (pointer_expression "*(code **)(pcVar20 + 0x86dc0)" * (cast_expression "(code **)(pcVar20 + 0x86dc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86dc0)" ( (binary_expression "pcVar20 + 0x86dc0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00020ec4:\n  uVar11 = 0x1b8;" statement_identifier : (expression_statement "uVar11 = 0x1b8;" (assignment_expression "uVar11 = 0x1b8" identifier = number_literal) ;)) (expression_statement "pcVar22 = *(code **)(pcVar20 + 0x86a8c);" (assignment_expression "pcVar22 = *(code **)(pcVar20 + 0x86a8c)" identifier = (pointer_expression "*(code **)(pcVar20 + 0x86a8c)" * (cast_expression "(code **)(pcVar20 + 0x86a8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86a8c)" ( (binary_expression "pcVar20 + 0x86a8c" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(pcVar20 + 0x86340) + 0x5790;" (assignment_expression "iVar12 = *(int *)(pcVar20 + 0x86340) + 0x5790" identifier = (binary_expression "*(int *)(pcVar20 + 0x86340) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86340)" * (cast_expression "(int *)(pcVar20 + 0x86340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86340)" ( (binary_expression "pcVar20 + 0x86340" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar2 = *(int *)(pcVar20 + 0x86340) + 0x5814;" (assignment_expression "iVar2 = *(int *)(pcVar20 + 0x86340) + 0x5814" identifier = (binary_expression "*(int *)(pcVar20 + 0x86340) + 0x5814" (pointer_expression "*(int *)(pcVar20 + 0x86340)" * (cast_expression "(int *)(pcVar20 + 0x86340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86340)" ( (binary_expression "pcVar20 + 0x86340" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" identifier = (cast_expression "(int *)safemalloc(1,0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xc)" identifier (argument_list "(1,0xc)" ( number_literal , number_literal ))))) ;) (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0) {\n    pcVar20 = *(code **)(pcVar22 + 0x86308);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }" if (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0)" ( (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4)" * (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4)" ( (binary_expression "iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4" (binary_expression "iVar12 * 4 + *(int *)(pcVar22 + 0x8620c)" (binary_expression "iVar12 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar22 + 0x8620c)" * (cast_expression "(int *)(pcVar22 + 0x8620c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x8620c)" ( (binary_expression "pcVar22 + 0x8620c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    pcVar20 = *(code **)(pcVar22 + 0x86308);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }" { (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86308);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86308)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x86308)" * (cast_expression "(code **)(pcVar22 + 0x86308)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x86308)" ( (binary_expression "pcVar22 + 0x86308" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" if (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3)" ( (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4)" * (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4)" ( (binary_expression "iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4" (binary_expression "iVar12 * 4 + *(int *)(pcVar22 + 0x8620c)" (binary_expression "iVar12 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar22 + 0x8620c)" * (cast_expression "(int *)(pcVar22 + 0x8620c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x8620c)" ( (binary_expression "pcVar22 + 0x8620c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" { (expression_statement "*piVar18 = iVar12;" (assignment_expression "*piVar18 = iVar12" (pointer_expression "*piVar18" * identifier) = identifier) ;) (expression_statement "iVar12 = (*pcVar20)(uVar11);" (assignment_expression "iVar12 = (*pcVar20)(uVar11)" identifier = (call_expression "(*pcVar20)(uVar11)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "piVar18[2] = iVar12;" (assignment_expression "piVar18[2] = iVar12" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18)" identifier = (cast_expression "(int *)FUN_0001fc80(iVar2,piVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001fc80(iVar2,piVar18)" identifier (argument_list "(iVar2,piVar18)" ( identifier , identifier ))))) ;) (return_statement "return piVar18;" return identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }" else (compound_statement "{\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }" { (expression_statement "(**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);" (call_expression "(**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4)" (parenthesized_expression "(**(code **)(pcVar22 + 0x86958))" ( (pointer_expression "**(code **)(pcVar22 + 0x86958)" * (pointer_expression "*(code **)(pcVar22 + 0x86958)" * (cast_expression "(code **)(pcVar22 + 0x86958)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x86958)" ( (binary_expression "pcVar22 + 0x86958" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4)" ( (binary_expression "*(int *)(pcVar22 + 0x8620c) + 0x57ac" (pointer_expression "*(int *)(pcVar22 + 0x8620c)" * (cast_expression "(int *)(pcVar22 + 0x8620c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x8620c)" ( (binary_expression "pcVar22 + 0x8620c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar22 + 0x8620c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + 0x8620c)" * (cast_expression "(int *)(pcVar22 + 0x8620c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x8620c)" ( (binary_expression "pcVar22 + 0x8620c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + 0x8620c) + 0x58c4" (pointer_expression "*(int *)(pcVar22 + 0x8620c)" * (cast_expression "(int *)(pcVar22 + 0x8620c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x8620c)" ( (binary_expression "pcVar22 + 0x8620c" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "uVar11 = 0x1c7;" (assignment_expression "uVar11 = 0x1c7" identifier = number_literal) ;) (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86958);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86958)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x86958)" * (cast_expression "(code **)(pcVar22 + 0x86958)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x86958)" ( (binary_expression "pcVar22 + 0x86958" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(pcVar22 + 0x8620c) + 0x5790;" (assignment_expression "iVar12 = *(int *)(pcVar22 + 0x8620c) + 0x5790" identifier = (binary_expression "*(int *)(pcVar22 + 0x8620c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + 0x8620c)" * (cast_expression "(int *)(pcVar22 + 0x8620c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x8620c)" ( (binary_expression "pcVar22 + 0x8620c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar2 = *(int *)(pcVar22 + 0x8620c) + 0x585c;" (assignment_expression "iVar2 = *(int *)(pcVar22 + 0x8620c) + 0x585c" identifier = (binary_expression "*(int *)(pcVar22 + 0x8620c) + 0x585c" (pointer_expression "*(int *)(pcVar22 + 0x8620c)" * (cast_expression "(int *)(pcVar22 + 0x8620c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x8620c)" ( (binary_expression "pcVar22 + 0x8620c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" identifier = (cast_expression "(int *)safemalloc(1,0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xc)" identifier (argument_list "(1,0xc)" ( number_literal , number_literal ))))) ;) (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0) {\n    pcVar22 = *(code **)(pcVar20 + 0x861f8);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }" if (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0)" ( (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4)" * (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4)" ( (binary_expression "iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4" (binary_expression "iVar12 * 4 + *(int *)(pcVar20 + 0x86104)" (binary_expression "iVar12 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x86104)" * (cast_expression "(int *)(pcVar20 + 0x86104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86104)" ( (binary_expression "pcVar20 + 0x86104" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    pcVar22 = *(code **)(pcVar20 + 0x861f8);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }" { (expression_statement "pcVar22 = *(code **)(pcVar20 + 0x861f8);" (assignment_expression "pcVar22 = *(code **)(pcVar20 + 0x861f8)" identifier = (pointer_expression "*(code **)(pcVar20 + 0x861f8)" * (cast_expression "(code **)(pcVar20 + 0x861f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x861f8)" ( (binary_expression "pcVar20 + 0x861f8" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" if (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4)" ( (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4)" * (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4)" ( (binary_expression "iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4" (binary_expression "iVar12 * 4 + *(int *)(pcVar20 + 0x86104)" (binary_expression "iVar12 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x86104)" * (cast_expression "(int *)(pcVar20 + 0x86104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86104)" ( (binary_expression "pcVar20 + 0x86104" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" { (expression_statement "*piVar18 = iVar12;" (assignment_expression "*piVar18 = iVar12" (pointer_expression "*piVar18" * identifier) = identifier) ;) (expression_statement "iVar12 = (*pcVar22)(uVar11);" (assignment_expression "iVar12 = (*pcVar22)(uVar11)" identifier = (call_expression "(*pcVar22)(uVar11)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "piVar18[2] = iVar12;" (assignment_expression "piVar18[2] = iVar12" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18)" identifier = (cast_expression "(int *)FUN_0001fc80(iVar2,piVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001fc80(iVar2,piVar18)" identifier (argument_list "(iVar2,piVar18)" ( identifier , identifier ))))) ;) (return_statement "return piVar18;" return identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }" else (compound_statement "{\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }" { (expression_statement "(**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);" (call_expression "(**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86850))" ( (pointer_expression "**(code **)(pcVar20 + 0x86850)" * (pointer_expression "*(code **)(pcVar20 + 0x86850)" * (cast_expression "(code **)(pcVar20 + 0x86850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86850)" ( (binary_expression "pcVar20 + 0x86850" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0)" ( (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x57ac" (pointer_expression "*(int *)(pcVar20 + 0x86104)" * (cast_expression "(int *)(pcVar20 + 0x86104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86104)" ( (binary_expression "pcVar20 + 0x86104" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86104)" * (cast_expression "(int *)(pcVar20 + 0x86104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86104)" ( (binary_expression "pcVar20 + 0x86104" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x58b0" (pointer_expression "*(int *)(pcVar20 + 0x86104)" * (cast_expression "(int *)(pcVar20 + 0x86104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86104)" ( (binary_expression "pcVar20 + 0x86104" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "pcVar22 = *(code **)(pcVar20 + 0x86850);" (assignment_expression "pcVar22 = *(code **)(pcVar20 + 0x86850)" identifier = (pointer_expression "*(code **)(pcVar20 + 0x86850)" * (cast_expression "(code **)(pcVar20 + 0x86850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86850)" ( (binary_expression "pcVar20 + 0x86850" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884);" (assignment_expression "puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar20 + 0x86104) + 0x5884)" ( (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x5884" (pointer_expression "*(int *)(pcVar20 + 0x86104)" * (cast_expression "(int *)(pcVar20 + 0x86104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86104)" ( (binary_expression "pcVar20 + 0x86104" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar22)(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)\n  ;" (call_expression "(*pcVar22)(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)" ( identifier , (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86104)" * (cast_expression "(int *)(pcVar20 + 0x86104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86104)" ( (binary_expression "pcVar20 + 0x86104" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x58b0" (pointer_expression "*(int *)(pcVar20 + 0x86104)" * (cast_expression "(int *)(pcVar20 + 0x86104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86104)" ( (binary_expression "pcVar20 + 0x86104" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (expression_statement "iVar12 = *(int *)(pcVar22 + 0x85ffc);" (assignment_expression "iVar12 = *(int *)(pcVar22 + 0x85ffc)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x85ffc)" * (cast_expression "(int *)(pcVar22 + 0x85ffc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x85ffc)" ( (binary_expression "pcVar22 + 0x85ffc" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(pcVar22 + 0x85ffc);" (assignment_expression "iVar9 = *(int *)(pcVar22 + 0x85ffc)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x85ffc)" * (cast_expression "(int *)(pcVar22 + 0x85ffc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x85ffc)" ( (binary_expression "pcVar22 + 0x85ffc" identifier + number_literal) ))))) ;) (expression_statement "piVar18 = (int *)0x0;" (assignment_expression "piVar18 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00021154:\n  while( true ) {\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }" statement_identifier : (while_statement "while( true ) {\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }" { (expression_statement "piVar16 = piVar18 + 1;" (assignment_expression "piVar16 = piVar18 + 1" identifier = (binary_expression "piVar18 + 1" identifier + number_literal)) ;) (expression_statement "piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);" (assignment_expression "piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2)" identifier = (cast_expression "(int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2)" (parenthesized_expression "(**(code **)(pcVar22 + 0x860f4))" ( (pointer_expression "**(code **)(pcVar22 + 0x860f4)" * (pointer_expression "*(code **)(pcVar22 + 0x860f4)" * (cast_expression "(code **)(pcVar22 + 0x860f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x860f4)" ( (binary_expression "pcVar22 + 0x860f4" identifier + number_literal) ))))) )) (argument_list "(*puVar5,iVar2)" ( (pointer_expression "*puVar5" * identifier) , identifier ))))) ;) (if_statement "if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return piVar16;\n    }" { (return_statement "return piVar16;" return identifier ;) })) (expression_statement "iVar10 = *piVar3 * 4;" (assignment_expression "iVar10 = *piVar3 * 4" identifier = (binary_expression "*piVar3 * 4" (pointer_expression "*piVar3" * identifier) * number_literal)) ;) (expression_statement "iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);" (assignment_expression "iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10)" identifier = (pointer_expression "*(int *)(iVar12 + 0x5cd4 + iVar10)" * (cast_expression "(int *)(iVar12 + 0x5cd4 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x5cd4 + iVar10)" ( (binary_expression "iVar12 + 0x5cd4 + iVar10" (binary_expression "iVar12 + 0x5cd4" identifier + number_literal) + identifier) ))))) ;) (if_statement "if (iVar13 == 1) break;" if (parenthesized_expression "(iVar13 == 1)" ( (binary_expression "iVar13 == 1" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }" if (parenthesized_expression "(iVar13 == 2)" ( (binary_expression "iVar13 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }" { (expression_statement "iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);" (assignment_expression "iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1])" identifier = (call_expression "(**(code **)(pcVar22 + 0x86ce4))(piVar3[1])" (parenthesized_expression "(**(code **)(pcVar22 + 0x86ce4))" ( (pointer_expression "**(code **)(pcVar22 + 0x86ce4)" * (pointer_expression "*(code **)(pcVar22 + 0x86ce4)" * (cast_expression "(code **)(pcVar22 + 0x86ce4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x86ce4)" ( (binary_expression "pcVar22 + 0x86ce4" identifier + number_literal) ))))) )) (argument_list "(piVar3[1])" ( (subscript_expression "piVar3[1]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar16 = (int *)((int)piVar18 + iVar13 + 5);" (assignment_expression "piVar16 = (int *)((int)piVar18 + iVar13 + 5)" identifier = (cast_expression "(int *)((int)piVar18 + iVar13 + 5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + iVar13 + 5)" ( (binary_expression "(int)piVar18 + iVar13 + 5" (binary_expression "(int)piVar18 + iVar13" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) })) (expression_statement "iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);" (assignment_expression "iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10)" identifier = (pointer_expression "*(int *)(iVar9 + 0x59f4 + iVar10)" * (cast_expression "(int *)(iVar9 + 0x59f4 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x59f4 + iVar10)" ( (binary_expression "iVar9 + 0x59f4 + iVar10" (binary_expression "iVar9 + 0x59f4" identifier + number_literal) + identifier) ))))) ;) (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86ce4);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86ce4)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x86ce4)" * (cast_expression "(code **)(pcVar22 + 0x86ce4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x86ce4)" ( (binary_expression "pcVar22 + 0x86ce4" identifier + number_literal) ))))) ;) (if_statement "if (iVar13 != 2) goto LAB_000211bc;" if (parenthesized_expression "(iVar13 != 2)" ( (binary_expression "iVar13 != 2" identifier != number_literal) )) (goto_statement "goto LAB_000211bc;" goto statement_identifier ;)) (labeled_statement "LAB_00021224:\n    iVar2 = iVar2 + 1;" statement_identifier : (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;)) (expression_statement "iVar13 = (*pcVar20)(piVar3[2]);" (assignment_expression "iVar13 = (*pcVar20)(piVar3[2])" identifier = (call_expression "(*pcVar20)(piVar3[2])" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(piVar3[2])" ( (subscript_expression "piVar3[2]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar18 = (int *)((int)piVar16 + iVar13 + 1);" (assignment_expression "piVar18 = (int *)((int)piVar16 + iVar13 + 1)" identifier = (cast_expression "(int *)((int)piVar16 + iVar13 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + iVar13 + 1)" ( (binary_expression "(int)piVar16 + iVar13 + 1" (binary_expression "(int)piVar16 + iVar13" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) }))) (expression_statement "iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);" (assignment_expression "iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10)" identifier = (pointer_expression "*(int *)(iVar9 + 0x59f4 + iVar10)" * (cast_expression "(int *)(iVar9 + 0x59f4 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x59f4 + iVar10)" ( (binary_expression "iVar9 + 0x59f4 + iVar10" (binary_expression "iVar9 + 0x59f4" identifier + number_literal) + identifier) ))))) ;) (expression_statement "piVar16 = piVar18 + 2;" (assignment_expression "piVar16 = piVar18 + 2" identifier = (binary_expression "piVar18 + 2" identifier + number_literal)) ;) (if_statement "if (iVar13 == 2) {\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    goto LAB_00021224;\n  }" if (parenthesized_expression "(iVar13 == 2)" ( (binary_expression "iVar13 == 2" identifier == number_literal) )) (compound_statement "{\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    goto LAB_00021224;\n  }" { (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86ce4);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86ce4)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x86ce4)" * (cast_expression "(code **)(pcVar22 + 0x86ce4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x86ce4)" ( (binary_expression "pcVar22 + 0x86ce4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00021224;" goto statement_identifier ;) })) (labeled_statement "LAB_000211bc:\n  if (iVar13 < 3) {\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }\n  else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }" statement_identifier : (if_statement "if (iVar13 < 3) {\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }\n  else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }" if (parenthesized_expression "(iVar13 < 3)" ( (binary_expression "iVar13 < 3" identifier < number_literal) )) (compound_statement "{\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }" { (if_statement "if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }" if (parenthesized_expression "(iVar13 == 1)" ( (binary_expression "iVar13 == 1" identifier == number_literal) )) (compound_statement "{\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }" { (expression_statement "piVar18 = piVar16 + 1;" (assignment_expression "piVar18 = piVar16 + 1" identifier = (binary_expression "piVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00021154;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }" else (compound_statement "{\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }" { (if_statement "if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }" if (parenthesized_expression "(iVar13 == 3)" ( (binary_expression "iVar13 == 3" identifier == number_literal) )) (compound_statement "{\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }" { (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86114);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86114)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x86114)" * (cast_expression "(code **)(pcVar22 + 0x86114)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x86114)" ( (binary_expression "pcVar22 + 0x86114" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }" else (compound_statement "{\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }" { (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86110);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86110)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x86110)" * (cast_expression "(code **)(pcVar22 + 0x86110)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x86110)" ( (binary_expression "pcVar22 + 0x86110" identifier + number_literal) ))))) ;) (if_statement "if (iVar13 != 4) goto LAB_000211ec;" if (parenthesized_expression "(iVar13 != 4)" ( (binary_expression "iVar13 != 4" identifier != number_literal) )) (goto_statement "goto LAB_000211ec;" goto statement_identifier ;)) }))) (expression_statement "iVar13 = (*pcVar20)(piVar3[2],0);" (assignment_expression "iVar13 = (*pcVar20)(piVar3[2],0)" identifier = (call_expression "(*pcVar20)(piVar3[2],0)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(piVar3[2],0)" ( (subscript_expression "piVar3[2]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "piVar16 = (int *)((int)piVar16 + iVar13);" (assignment_expression "piVar16 = (int *)((int)piVar16 + iVar13)" identifier = (cast_expression "(int *)((int)piVar16 + iVar13)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + iVar13)" ( (binary_expression "(int)piVar16 + iVar13" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })))) (labeled_statement "LAB_000211ec:\n  iVar2 = iVar2 + 1;" statement_identifier : (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;)) (expression_statement "piVar18 = piVar16;" (assignment_expression "piVar18 = piVar16" identifier = identifier) ;) (goto_statement "goto LAB_00021154;" goto statement_identifier ;) })))
(translation_unit "char * conf_get_str(Conf *conf,int primary)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  char *pcVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  undefined *puVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  undefined *puVar9;\n  code *pcVar10;\n  undefined *puStack_44;\n  undefined4 uStack_40;\n  int iStack_3c;\n  undefined *puStack_38;\n  code *pcStack_34;\n  key key;\n  \n  puVar1 = PTR___stack_chk_guard_000a7ec8;\n  iVar5 = *(int *)PTR___stack_chk_guard_000a7ec8;\n  if (*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x5cd4) == 0) {\n    if (*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x59f4) == 2) {\n      key.primary = primary;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(conf->tree,&key,0);\n      if (iVar2 != 0) {\n        if (iVar5 == *(int *)puVar1) {\n          return *(char **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57ac,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x123,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57a4,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x127,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);\n  }\n  uVar7 = 0x124;\n  puVar6 = PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790;\n  pcVar10 = conf_get_str_str_opt;\n  puVar4 = (undefined4 *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5814);\n  puVar9 = PTR___assert_fail_000a7840;\n  (*(code *)PTR___assert_fail_000a7840)();\n  puStack_38 = puVar1;\n  piVar8 = *(int **)(puVar9 + 0x87b74);\n  iStack_3c = *piVar8;\n  pcStack_34 = pcVar10;\n  if (*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x5cd4) == 2) {\n    if (*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x59f4) != 2) goto LAB_00020428;\n    puStack_44 = puVar6;\n    uStack_40 = uVar7;\n    pcVar3 = (char *)(**(code **)(puVar9 + 0x86ea4))(*puVar4,&puStack_44,0);\n    if (pcVar3 != (char *)0x0) {\n      pcVar3 = *(char **)(pcVar3 + 8);\n    }\n    if (iStack_3c == *piVar8) {\n      return pcVar3;\n    }\n  }\n  else {\n    (**(code **)(puVar9 + 0x874ec))\n              (*(int *)(puVar9 + 0x86da0) + 0x5834,*(int *)(puVar9 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar9 + 0x86da0) + 0x59a8);\n  }\n  (**(code **)(puVar9 + 0x87820))();\nLAB_00020428:\n  pcVar3 = (char *)(**(code **)(puVar9 + 0x874ec))\n                             (*(int *)(puVar9 + 0x86da0) + 0x5814,\n                              *(int *)(puVar9 + 0x86da0) + 0x5790,0x131,\n                              *(int *)(puVar9 + 0x86da0) + 0x59a8);\n  return pcVar3;\n}\n\n" (function_definition "char * conf_get_str(Conf *conf,int primary)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  char *pcVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  undefined *puVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  undefined *puVar9;\n  code *pcVar10;\n  undefined *puStack_44;\n  undefined4 uStack_40;\n  int iStack_3c;\n  undefined *puStack_38;\n  code *pcStack_34;\n  key key;\n  \n  puVar1 = PTR___stack_chk_guard_000a7ec8;\n  iVar5 = *(int *)PTR___stack_chk_guard_000a7ec8;\n  if (*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x5cd4) == 0) {\n    if (*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x59f4) == 2) {\n      key.primary = primary;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(conf->tree,&key,0);\n      if (iVar2 != 0) {\n        if (iVar5 == *(int *)puVar1) {\n          return *(char **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57ac,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x123,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57a4,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x127,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);\n  }\n  uVar7 = 0x124;\n  puVar6 = PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790;\n  pcVar10 = conf_get_str_str_opt;\n  puVar4 = (undefined4 *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5814);\n  puVar9 = PTR___assert_fail_000a7840;\n  (*(code *)PTR___assert_fail_000a7840)();\n  puStack_38 = puVar1;\n  piVar8 = *(int **)(puVar9 + 0x87b74);\n  iStack_3c = *piVar8;\n  pcStack_34 = pcVar10;\n  if (*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x5cd4) == 2) {\n    if (*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x59f4) != 2) goto LAB_00020428;\n    puStack_44 = puVar6;\n    uStack_40 = uVar7;\n    pcVar3 = (char *)(**(code **)(puVar9 + 0x86ea4))(*puVar4,&puStack_44,0);\n    if (pcVar3 != (char *)0x0) {\n      pcVar3 = *(char **)(pcVar3 + 8);\n    }\n    if (iStack_3c == *piVar8) {\n      return pcVar3;\n    }\n  }\n  else {\n    (**(code **)(puVar9 + 0x874ec))\n              (*(int *)(puVar9 + 0x86da0) + 0x5834,*(int *)(puVar9 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar9 + 0x86da0) + 0x59a8);\n  }\n  (**(code **)(puVar9 + 0x87820))();\nLAB_00020428:\n  pcVar3 = (char *)(**(code **)(puVar9 + 0x874ec))\n                             (*(int *)(puVar9 + 0x86da0) + 0x5814,\n                              *(int *)(puVar9 + 0x86da0) + 0x5790,0x131,\n                              *(int *)(puVar9 + 0x86da0) + 0x59a8);\n  return pcVar3;\n}" primitive_type (pointer_declarator "* conf_get_str(Conf *conf,int primary)" * (function_declarator "conf_get_str(Conf *conf,int primary)" identifier (parameter_list "(Conf *conf,int primary)" ( (parameter_declaration "Conf *conf" type_identifier (pointer_declarator "*conf" * identifier)) , (parameter_declaration "int primary" primitive_type identifier) )))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  char *pcVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  undefined *puVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  undefined *puVar9;\n  code *pcVar10;\n  undefined *puStack_44;\n  undefined4 uStack_40;\n  int iStack_3c;\n  undefined *puStack_38;\n  code *pcStack_34;\n  key key;\n  \n  puVar1 = PTR___stack_chk_guard_000a7ec8;\n  iVar5 = *(int *)PTR___stack_chk_guard_000a7ec8;\n  if (*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x5cd4) == 0) {\n    if (*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x59f4) == 2) {\n      key.primary = primary;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(conf->tree,&key,0);\n      if (iVar2 != 0) {\n        if (iVar5 == *(int *)puVar1) {\n          return *(char **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57ac,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x123,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57a4,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x127,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);\n  }\n  uVar7 = 0x124;\n  puVar6 = PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790;\n  pcVar10 = conf_get_str_str_opt;\n  puVar4 = (undefined4 *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5814);\n  puVar9 = PTR___assert_fail_000a7840;\n  (*(code *)PTR___assert_fail_000a7840)();\n  puStack_38 = puVar1;\n  piVar8 = *(int **)(puVar9 + 0x87b74);\n  iStack_3c = *piVar8;\n  pcStack_34 = pcVar10;\n  if (*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x5cd4) == 2) {\n    if (*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x59f4) != 2) goto LAB_00020428;\n    puStack_44 = puVar6;\n    uStack_40 = uVar7;\n    pcVar3 = (char *)(**(code **)(puVar9 + 0x86ea4))(*puVar4,&puStack_44,0);\n    if (pcVar3 != (char *)0x0) {\n      pcVar3 = *(char **)(pcVar3 + 8);\n    }\n    if (iStack_3c == *piVar8) {\n      return pcVar3;\n    }\n  }\n  else {\n    (**(code **)(puVar9 + 0x874ec))\n              (*(int *)(puVar9 + 0x86da0) + 0x5834,*(int *)(puVar9 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar9 + 0x86da0) + 0x59a8);\n  }\n  (**(code **)(puVar9 + 0x87820))();\nLAB_00020428:\n  pcVar3 = (char *)(**(code **)(puVar9 + 0x874ec))\n                             (*(int *)(puVar9 + 0x86da0) + 0x5814,\n                              *(int *)(puVar9 + 0x86da0) + 0x5790,0x131,\n                              *(int *)(puVar9 + 0x86da0) + 0x59a8);\n  return pcVar3;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined *puStack_44;" type_identifier (pointer_declarator "*puStack_44" * identifier) ;) (declaration "undefined4 uStack_40;" type_identifier identifier ;) (declaration "int iStack_3c;" primitive_type identifier ;) (declaration "undefined *puStack_38;" type_identifier (pointer_declarator "*puStack_38" * identifier) ;) (declaration "code *pcStack_34;" type_identifier (pointer_declarator "*pcStack_34" * identifier) ;) (declaration "key key;" type_identifier identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000a7ec8;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000a7ec8" identifier = identifier) ;) (expression_statement "iVar5 = *(int *)PTR___stack_chk_guard_000a7ec8;" (assignment_expression "iVar5 = *(int *)PTR___stack_chk_guard_000a7ec8" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000a7ec8" * (cast_expression "(int *)PTR___stack_chk_guard_000a7ec8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x5cd4) == 0) {\n    if (*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x59f4) == 2) {\n      key.primary = primary;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(conf->tree,&key,0);\n      if (iVar2 != 0) {\n        if (iVar5 == *(int *)puVar1) {\n          return *(char **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57ac,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x123,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57a4,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x127,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);\n  }" if (parenthesized_expression "(*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x5cd4) == 0)" ( (binary_expression "*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x5cd4) == 0" (pointer_expression "*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x5cd4)" * (cast_expression "(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x5cd4)" ( (binary_expression "PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x5cd4" (binary_expression "PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4" identifier + (binary_expression "primary * 4" identifier * number_literal)) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x59f4) == 2) {\n      key.primary = primary;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(conf->tree,&key,0);\n      if (iVar2 != 0) {\n        if (iVar5 == *(int *)puVar1) {\n          return *(char **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }" { (if_statement "if (*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x59f4) == 2) {\n      key.primary = primary;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(conf->tree,&key,0);\n      if (iVar2 != 0) {\n        if (iVar5 == *(int *)puVar1) {\n          return *(char **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }" if (parenthesized_expression "(*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x59f4) == 2)" ( (binary_expression "*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x59f4) == 2" (pointer_expression "*(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x59f4)" * (cast_expression "(int *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x59f4)" ( (binary_expression "PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4 + 0x59f4" (binary_expression "PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + primary * 4" identifier + (binary_expression "primary * 4" identifier * number_literal)) + number_literal) )))) == number_literal) )) (compound_statement "{\n      key.primary = primary;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(conf->tree,&key,0);\n      if (iVar2 != 0) {\n        if (iVar5 == *(int *)puVar1) {\n          return *(char **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }" { (expression_statement "key.primary = primary;" (assignment_expression "key.primary = primary" (field_expression "key.primary" identifier . field_identifier) = identifier) ;) (expression_statement "iVar2 = (*(code *)PTR_find234_000a71f8)(conf->tree,&key,0);" (assignment_expression "iVar2 = (*(code *)PTR_find234_000a71f8)(conf->tree,&key,0)" identifier = (call_expression "(*(code *)PTR_find234_000a71f8)(conf->tree,&key,0)" (parenthesized_expression "(*(code *)PTR_find234_000a71f8)" ( (pointer_expression "*(code *)PTR_find234_000a71f8" * (cast_expression "(code *)PTR_find234_000a71f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(conf->tree,&key,0)" ( (field_expression "conf->tree" identifier -> field_identifier) , (pointer_expression "&key" & identifier) , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n        if (iVar5 == *(int *)puVar1) {\n          return *(char **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        if (iVar5 == *(int *)puVar1) {\n          return *(char **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }" { (if_statement "if (iVar5 == *(int *)puVar1) {\n          return *(char **)(iVar2 + 8);\n        }" if (parenthesized_expression "(iVar5 == *(int *)puVar1)" ( (binary_expression "iVar5 == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n          return *(char **)(iVar2 + 8);\n        }" { (return_statement "return *(char **)(iVar2 + 8);" return (pointer_expression "*(char **)(iVar2 + 8)" * (cast_expression "(char **)(iVar2 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) ;) })) (goto_statement "goto LAB_00020300;" goto statement_identifier ;) })) (goto_statement "goto LAB_0002030c;" goto statement_identifier ;) })) }) (else_clause "else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57ac,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x123,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57a4,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x127,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);\n  }" else (compound_statement "{\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57ac,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x123,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57a4,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x127,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57ac,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x123,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);" (call_expression "(*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57ac,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x123,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0)" (parenthesized_expression "(*(code *)PTR___assert_fail_000a7840)" ( (pointer_expression "*(code *)PTR___assert_fail_000a7840" * (cast_expression "(code *)PTR___assert_fail_000a7840" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57ac,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x123,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0)" ( (binary_expression "PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57ac" identifier + number_literal) , (binary_expression "PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790" identifier + number_literal) , number_literal , (binary_expression "PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0" identifier + number_literal) ))) ;) (labeled_statement "LAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();" statement_identifier : (expression_statement "(*(code *)PTR___stack_chk_fail_000a7b74)();" (call_expression "(*(code *)PTR___stack_chk_fail_000a7b74)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000a7b74)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000a7b74" * (cast_expression "(code *)PTR___stack_chk_fail_000a7b74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57a4,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x127,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57a4,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x127,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0);" (call_expression "(*(code *)PTR___assert_fail_000a7840)\n              (PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57a4,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x127,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0)" (parenthesized_expression "(*(code *)PTR___assert_fail_000a7840)" ( (pointer_expression "*(code *)PTR___assert_fail_000a7840" * (cast_expression "(code *)PTR___assert_fail_000a7840" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57a4,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790,0x127,\n               PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0)" ( (binary_expression "PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x57a4" identifier + number_literal) , (binary_expression "PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790" identifier + number_literal) , number_literal , (binary_expression "PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x59c0" identifier + number_literal) ))) ;)) }))) (expression_statement "uVar7 = 0x124;" (assignment_expression "uVar7 = 0x124" identifier = number_literal) ;) (expression_statement "puVar6 = PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790;" (assignment_expression "puVar6 = PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790" identifier = (binary_expression "PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5790" identifier + number_literal)) ;) (expression_statement "pcVar10 = conf_get_str_str_opt;" (assignment_expression "pcVar10 = conf_get_str_str_opt" identifier = identifier) ;) (expression_statement "puVar4 = (undefined4 *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5814);" (assignment_expression "puVar4 = (undefined4 *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5814)" identifier = (cast_expression "(undefined4 *)(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5814)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5814)" ( (binary_expression "PTR_data_CS_CP437_sbcs2ucs_219__000a70f4 + 0x5814" identifier + number_literal) )))) ;) (expression_statement "puVar9 = PTR___assert_fail_000a7840;" (assignment_expression "puVar9 = PTR___assert_fail_000a7840" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_000a7840)();" (call_expression "(*(code *)PTR___assert_fail_000a7840)()" (parenthesized_expression "(*(code *)PTR___assert_fail_000a7840)" ( (pointer_expression "*(code *)PTR___assert_fail_000a7840" * (cast_expression "(code *)PTR___assert_fail_000a7840" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_38 = puVar1;" (assignment_expression "puStack_38 = puVar1" identifier = identifier) ;) (expression_statement "piVar8 = *(int **)(puVar9 + 0x87b74);" (assignment_expression "piVar8 = *(int **)(puVar9 + 0x87b74)" identifier = (pointer_expression "*(int **)(puVar9 + 0x87b74)" * (cast_expression "(int **)(puVar9 + 0x87b74)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x87b74)" ( (binary_expression "puVar9 + 0x87b74" identifier + number_literal) ))))) ;) (expression_statement "iStack_3c = *piVar8;" (assignment_expression "iStack_3c = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "pcStack_34 = pcVar10;" (assignment_expression "pcStack_34 = pcVar10" identifier = identifier) ;) (if_statement "if (*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x5cd4) == 2) {\n    if (*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x59f4) != 2) goto LAB_00020428;\n    puStack_44 = puVar6;\n    uStack_40 = uVar7;\n    pcVar3 = (char *)(**(code **)(puVar9 + 0x86ea4))(*puVar4,&puStack_44,0);\n    if (pcVar3 != (char *)0x0) {\n      pcVar3 = *(char **)(pcVar3 + 8);\n    }\n    if (iStack_3c == *piVar8) {\n      return pcVar3;\n    }\n  }\n  else {\n    (**(code **)(puVar9 + 0x874ec))\n              (*(int *)(puVar9 + 0x86da0) + 0x5834,*(int *)(puVar9 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar9 + 0x86da0) + 0x59a8);\n  }" if (parenthesized_expression "(*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x5cd4) == 2)" ( (binary_expression "*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x5cd4) == 2" (pointer_expression "*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x5cd4)" * (cast_expression "(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x5cd4)" ( (binary_expression "(int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x5cd4" (binary_expression "(int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0)" (binary_expression "(int)puVar6 * 4" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + (pointer_expression "*(int *)(puVar9 + 0x86da0)" * (cast_expression "(int *)(puVar9 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x86da0)" ( (binary_expression "puVar9 + 0x86da0" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x59f4) != 2) goto LAB_00020428;\n    puStack_44 = puVar6;\n    uStack_40 = uVar7;\n    pcVar3 = (char *)(**(code **)(puVar9 + 0x86ea4))(*puVar4,&puStack_44,0);\n    if (pcVar3 != (char *)0x0) {\n      pcVar3 = *(char **)(pcVar3 + 8);\n    }\n    if (iStack_3c == *piVar8) {\n      return pcVar3;\n    }\n  }" { (if_statement "if (*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x59f4) != 2) goto LAB_00020428;" if (parenthesized_expression "(*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x59f4) != 2)" ( (binary_expression "*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x59f4) != 2" (pointer_expression "*(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x59f4)" * (cast_expression "(int *)((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x59f4)" ( (binary_expression "(int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0) + 0x59f4" (binary_expression "(int)puVar6 * 4 + *(int *)(puVar9 + 0x86da0)" (binary_expression "(int)puVar6 * 4" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + (pointer_expression "*(int *)(puVar9 + 0x86da0)" * (cast_expression "(int *)(puVar9 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x86da0)" ( (binary_expression "puVar9 + 0x86da0" identifier + number_literal) ))))) + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_00020428;" goto statement_identifier ;)) (expression_statement "puStack_44 = puVar6;" (assignment_expression "puStack_44 = puVar6" identifier = identifier) ;) (expression_statement "uStack_40 = uVar7;" (assignment_expression "uStack_40 = uVar7" identifier = identifier) ;) (expression_statement "pcVar3 = (char *)(**(code **)(puVar9 + 0x86ea4))(*puVar4,&puStack_44,0);" (assignment_expression "pcVar3 = (char *)(**(code **)(puVar9 + 0x86ea4))(*puVar4,&puStack_44,0)" identifier = (cast_expression "(char *)(**(code **)(puVar9 + 0x86ea4))(*puVar4,&puStack_44,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar9 + 0x86ea4))(*puVar4,&puStack_44,0)" (parenthesized_expression "(**(code **)(puVar9 + 0x86ea4))" ( (pointer_expression "**(code **)(puVar9 + 0x86ea4)" * (pointer_expression "*(code **)(puVar9 + 0x86ea4)" * (cast_expression "(code **)(puVar9 + 0x86ea4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x86ea4)" ( (binary_expression "puVar9 + 0x86ea4" identifier + number_literal) ))))) )) (argument_list "(*puVar4,&puStack_44,0)" ( (pointer_expression "*puVar4" * identifier) , (pointer_expression "&puStack_44" & identifier) , number_literal ))))) ;) (if_statement "if (pcVar3 != (char *)0x0) {\n      pcVar3 = *(char **)(pcVar3 + 8);\n    }" if (parenthesized_expression "(pcVar3 != (char *)0x0)" ( (binary_expression "pcVar3 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar3 = *(char **)(pcVar3 + 8);\n    }" { (expression_statement "pcVar3 = *(char **)(pcVar3 + 8);" (assignment_expression "pcVar3 = *(char **)(pcVar3 + 8)" identifier = (pointer_expression "*(char **)(pcVar3 + 8)" * (cast_expression "(char **)(pcVar3 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar3 + 8)" ( (binary_expression "pcVar3 + 8" identifier + number_literal) ))))) ;) })) (if_statement "if (iStack_3c == *piVar8) {\n      return pcVar3;\n    }" if (parenthesized_expression "(iStack_3c == *piVar8)" ( (binary_expression "iStack_3c == *piVar8" identifier == (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n      return pcVar3;\n    }" { (return_statement "return pcVar3;" return identifier ;) })) }) (else_clause "else {\n    (**(code **)(puVar9 + 0x874ec))\n              (*(int *)(puVar9 + 0x86da0) + 0x5834,*(int *)(puVar9 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar9 + 0x86da0) + 0x59a8);\n  }" else (compound_statement "{\n    (**(code **)(puVar9 + 0x874ec))\n              (*(int *)(puVar9 + 0x86da0) + 0x5834,*(int *)(puVar9 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar9 + 0x86da0) + 0x59a8);\n  }" { (expression_statement "(**(code **)(puVar9 + 0x874ec))\n              (*(int *)(puVar9 + 0x86da0) + 0x5834,*(int *)(puVar9 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar9 + 0x86da0) + 0x59a8);" (call_expression "(**(code **)(puVar9 + 0x874ec))\n              (*(int *)(puVar9 + 0x86da0) + 0x5834,*(int *)(puVar9 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar9 + 0x86da0) + 0x59a8)" (parenthesized_expression "(**(code **)(puVar9 + 0x874ec))" ( (pointer_expression "**(code **)(puVar9 + 0x874ec)" * (pointer_expression "*(code **)(puVar9 + 0x874ec)" * (cast_expression "(code **)(puVar9 + 0x874ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x874ec)" ( (binary_expression "puVar9 + 0x874ec" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar9 + 0x86da0) + 0x5834,*(int *)(puVar9 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar9 + 0x86da0) + 0x59a8)" ( (binary_expression "*(int *)(puVar9 + 0x86da0) + 0x5834" (pointer_expression "*(int *)(puVar9 + 0x86da0)" * (cast_expression "(int *)(puVar9 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x86da0)" ( (binary_expression "puVar9 + 0x86da0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar9 + 0x86da0) + 0x5790" (pointer_expression "*(int *)(puVar9 + 0x86da0)" * (cast_expression "(int *)(puVar9 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x86da0)" ( (binary_expression "puVar9 + 0x86da0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar9 + 0x86da0) + 0x59a8" (pointer_expression "*(int *)(puVar9 + 0x86da0)" * (cast_expression "(int *)(puVar9 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x86da0)" ( (binary_expression "puVar9 + 0x86da0" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "(**(code **)(puVar9 + 0x87820))();" (call_expression "(**(code **)(puVar9 + 0x87820))()" (parenthesized_expression "(**(code **)(puVar9 + 0x87820))" ( (pointer_expression "**(code **)(puVar9 + 0x87820)" * (pointer_expression "*(code **)(puVar9 + 0x87820)" * (cast_expression "(code **)(puVar9 + 0x87820)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x87820)" ( (binary_expression "puVar9 + 0x87820" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00020428:\n  pcVar3 = (char *)(**(code **)(puVar9 + 0x874ec))\n                             (*(int *)(puVar9 + 0x86da0) + 0x5814,\n                              *(int *)(puVar9 + 0x86da0) + 0x5790,0x131,\n                              *(int *)(puVar9 + 0x86da0) + 0x59a8);" statement_identifier : (expression_statement "pcVar3 = (char *)(**(code **)(puVar9 + 0x874ec))\n                             (*(int *)(puVar9 + 0x86da0) + 0x5814,\n                              *(int *)(puVar9 + 0x86da0) + 0x5790,0x131,\n                              *(int *)(puVar9 + 0x86da0) + 0x59a8);" (assignment_expression "pcVar3 = (char *)(**(code **)(puVar9 + 0x874ec))\n                             (*(int *)(puVar9 + 0x86da0) + 0x5814,\n                              *(int *)(puVar9 + 0x86da0) + 0x5790,0x131,\n                              *(int *)(puVar9 + 0x86da0) + 0x59a8)" identifier = (cast_expression "(char *)(**(code **)(puVar9 + 0x874ec))\n                             (*(int *)(puVar9 + 0x86da0) + 0x5814,\n                              *(int *)(puVar9 + 0x86da0) + 0x5790,0x131,\n                              *(int *)(puVar9 + 0x86da0) + 0x59a8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar9 + 0x874ec))\n                             (*(int *)(puVar9 + 0x86da0) + 0x5814,\n                              *(int *)(puVar9 + 0x86da0) + 0x5790,0x131,\n                              *(int *)(puVar9 + 0x86da0) + 0x59a8)" (parenthesized_expression "(**(code **)(puVar9 + 0x874ec))" ( (pointer_expression "**(code **)(puVar9 + 0x874ec)" * (pointer_expression "*(code **)(puVar9 + 0x874ec)" * (cast_expression "(code **)(puVar9 + 0x874ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x874ec)" ( (binary_expression "puVar9 + 0x874ec" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar9 + 0x86da0) + 0x5814,\n                              *(int *)(puVar9 + 0x86da0) + 0x5790,0x131,\n                              *(int *)(puVar9 + 0x86da0) + 0x59a8)" ( (binary_expression "*(int *)(puVar9 + 0x86da0) + 0x5814" (pointer_expression "*(int *)(puVar9 + 0x86da0)" * (cast_expression "(int *)(puVar9 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x86da0)" ( (binary_expression "puVar9 + 0x86da0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar9 + 0x86da0) + 0x5790" (pointer_expression "*(int *)(puVar9 + 0x86da0)" * (cast_expression "(int *)(puVar9 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x86da0)" ( (binary_expression "puVar9 + 0x86da0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar9 + 0x86da0) + 0x59a8" (pointer_expression "*(int *)(puVar9 + 0x86da0)" * (cast_expression "(int *)(puVar9 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x86da0)" ( (binary_expression "puVar9 + 0x86da0" identifier + number_literal) )))) + number_literal) ))))) ;)) (return_statement "return pcVar3;" return identifier ;) })))
(translation_unit "int * conf_get_str(undefined4 *param_1,int param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int *piVar3;\n  int *piVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  undefined4 uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  undefined4 uVar15;\n  int *piVar16;\n  int iVar17;\n  int *piVar18;\n  int *unaff_s2;\n  int unaff_s4;\n  undefined *puVar19;\n  code *pcVar20;\n  code *pcVar21;\n  code *pcVar22;\n  int iStack_234;\n  undefined4 uStack_230;\n  int *piStack_22c;\n  int *piStack_228;\n  int iStack_224;\n  int iStack_220;\n  code *pcStack_21c;\n  code *pcStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  int iStack_1f0;\n  code *pcStack_1ec;\n  code *pcStack_1d8;\n  int iStack_1cc;\n  int iStack_1c8;\n  int iStack_1c4;\n  int iStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  int iStack_19c;\n  int iStack_198;\n  int iStack_194;\n  undefined4 *puStack_190;\n  code *pcStack_18c;\n  code *pcStack_178;\n  int *piStack_170;\n  int *piStack_16c;\n  int iStack_168;\n  code *pcStack_164;\n  code *pcStack_150;\n  int aiStack_144 [2];\n  int iStack_13c;\n  int *piStack_138;\n  code *pcStack_134;\n  code *pcStack_120;\n  int *apiStack_114 [2];\n  int iStack_10c;\n  int *piStack_108;\n  code *pcStack_104;\n  undefined4 **ppuStack_f0;\n  code *pcStack_e8;\n  int *piStack_e0;\n  int iStack_dc;\n  int iStack_d8;\n  undefined4 *puStack_d4;\n  int iStack_d0;\n  int *piStack_cc;\n  int *piStack_c8;\n  int iStack_9c;\n  int iStack_98;\n  int iStack_94;\n  int *piStack_90;\n  undefined *puStack_44;\n  undefined4 uStack_40;\n  int iStack_3c;\n  undefined *puStack_38;\n  code *pcStack_34;\n  int local_14 [2];\n  int local_c;\n  \n  puVar1 = PTR___stack_chk_guard_000a7ec8;\n  local_c = *(int *)PTR___stack_chk_guard_000a7ec8;\n  if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0) {\n    if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }\n  uVar11 = 0x124;\n  puVar7 = PTR_DAT_000a70f4 + 0x5790;\n  pcVar22 = conf_get_str_str_opt;\n  puVar5 = (undefined4 *)(PTR_DAT_000a70f4 + 0x5814);\n  puVar19 = PTR___assert_fail_000a7840;\n  (*(code *)PTR___assert_fail_000a7840)();\n  puStack_38 = puVar1;\n  piVar18 = *(int **)(puVar19 + 0x87b74);\n  iStack_3c = *piVar18;\n  pcStack_34 = pcVar22;\n  if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2) {\n    if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }\n  }\n  else {\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }\n  pcVar22 = *(code **)(puVar19 + 0x874ec);\n  (*pcVar22)(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8);\n  piVar3 = (int *)conf_get_str_str_opt();\n  if (piVar3 != (int *)0x0) {\n    return piVar3;\n  }\n  iVar12 = 0x13b;\n  pcVar20 = *(code **)(pcVar22 + 0x873f4);\n  piVar16 = (int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994);\n  iVar2 = *(int *)(pcVar22 + 0x86ca8) + 0x5790;\n  puVar5 = (undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858);\n  (*pcVar20)();\n  piVar3 = *(int **)(pcVar20 + 0x87a20);\n  iStack_94 = *piVar3;\n  piStack_90 = piVar18;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }\n    (**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);\n  }\n  piVar18 = (int *)0x145;\n  pcVar21 = *(code **)(pcVar20 + 0x87398);\n  iVar12 = *(int *)(pcVar20 + 0x86c4c) + 0x5790;\n  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834);\n  (*pcVar21)();\n  pcVar22 = pcVar21 + 0x8ea88;\n  piVar16 = *(int **)(pcVar21 + 0x878c0);\n  puStack_d4 = (undefined4 *)*piVar16;\n  pcStack_e8 = pcVar22;\n  iStack_d0 = iVar2;\n  piStack_cc = piVar3;\n  piStack_c8 = unaff_s2;\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2) {\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }\n    piVar8 = &iStack_dc;\n    iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;\n    ppuStack_f0 = &piStack_e0;\n    iStack_dc = iVar12;\n    piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);\n    if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }\n    puVar6 = puStack_d4;\n    piVar3 = piVar18;\n    pcVar22 = pcStack_e8;\n    if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }\n  }\n  else {\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }\n  pcVar20 = *(code **)(pcVar22 + -0x751c);\n  pcVar21 = conf_get_filename;\n  (*pcVar20)();\n  pcVar22 = pcVar20 + 0x8e91c;\n  piVar18 = *(int **)(pcVar20 + 0x87754);\n  iStack_10c = *piVar18;\n  pcStack_120 = pcVar22;\n  piStack_108 = piVar16;\n  pcStack_104 = pcVar21;\n  if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0) {\n    if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_get_fontspec;\n  puVar6 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c);\n  (*pcVar20)(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  pcVar22 = pcVar20 + 0x8e808;\n  piVar16 = *(int **)(pcVar20 + 0x87640);\n  iStack_13c = *piVar16;\n  pcStack_150 = pcVar22;\n  piStack_138 = piVar18;\n  pcStack_134 = pcVar21;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }\n  iVar13 = 0x17c;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_int;\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5884;\n  (*pcVar20)();\n  pcStack_178 = pcVar20 + 0x8e6f4;\n  piStack_170 = piVar16;\n  piStack_16c = piVar3;\n  iStack_168 = iVar12;\n  pcStack_164 = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_178;\n  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }\n  iVar14 = 0x188;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar17 = *(int *)(pcVar22 + -0x7f9c) + 0x5930;\n  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_int_int;\n  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;\n  (*pcVar20)();\n  pcStack_1a8 = pcVar20 + 0x8e608;\n  iStack_19c = iVar2;\n  iStack_198 = iVar13;\n  iStack_194 = iVar9;\n  puStack_190 = puVar5;\n  pcStack_18c = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_1a8;\n  if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1) {\n    if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }\n  uVar11 = 0x193;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_str;\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;\n  (*pcVar20)();\n  pcStack_1d8 = pcVar20 + 0x8e50c;\n  iStack_1cc = iVar17;\n  iStack_1c8 = iVar12;\n  iStack_1c4 = iVar14;\n  iStack_1c0 = iVar10;\n  pcStack_1bc = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_1d8;\n  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }\n  uVar15 = 0x19f;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5900;\n  iVar13 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_str_str;\n  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x5814;\n  (*pcVar20)();\n  pcStack_208 = pcVar20 + 0x8e404;\n  piStack_200 = piVar18;\n  iStack_1fc = iVar2;\n  uStack_1f8 = uVar11;\n  iStack_1f4 = iVar9;\n  iStack_1f0 = unaff_s4;\n  pcStack_1ec = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_208;\n  if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }\n  uVar11 = 0x1ab;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_del_str_str;\n  puVar5 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814);\n  (*pcVar20)();\n  piVar3 = *(int **)(pcVar20 + 0x87114);\n  piStack_22c = (int *)*piVar3;\n  piStack_228 = piVar18;\n  iStack_224 = iVar12;\n  iStack_220 = iVar10;\n  pcStack_21c = pcVar21;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;\n    iStack_234 = iVar2;\n    uStack_230 = uVar11;\n    iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);\n    if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }\n    piVar3 = (int *)*piVar3;\n    if (piStack_22c == piVar3) {\n      return piVar3;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }\n  (**(code **)(pcVar20 + 0x86dc0))();\nLAB_00020ec4:\n  uVar11 = 0x1b8;\n  pcVar22 = *(code **)(pcVar20 + 0x86a8c);\n  iVar12 = *(int *)(pcVar20 + 0x86340) + 0x5790;\n  iVar2 = *(int *)(pcVar20 + 0x86340) + 0x5814;\n  (*pcVar22)();\n  piVar18 = (int *)safemalloc(1,0xc);\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0) {\n    pcVar20 = *(code **)(pcVar22 + 0x86308);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }\n  uVar11 = 0x1c7;\n  pcVar20 = *(code **)(pcVar22 + 0x86958);\n  iVar12 = *(int *)(pcVar22 + 0x8620c) + 0x5790;\n  iVar2 = *(int *)(pcVar22 + 0x8620c) + 0x585c;\n  (*pcVar20)();\n  piVar18 = (int *)safemalloc(1,0xc);\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0) {\n    pcVar22 = *(code **)(pcVar20 + 0x861f8);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }\n  pcVar22 = *(code **)(pcVar20 + 0x86850);\n  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884);\n  (*pcVar22)(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)\n  ;\n  iVar2 = 0;\n  iVar12 = *(int *)(pcVar22 + 0x85ffc);\n  iVar9 = *(int *)(pcVar22 + 0x85ffc);\n  piVar18 = (int *)0x0;\nLAB_00021154:\n  while( true ) {\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }\n  iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n  piVar16 = piVar18 + 2;\n  if (iVar13 == 2) {\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    goto LAB_00021224;\n  }\nLAB_000211bc:\n  if (iVar13 < 3) {\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }\n  else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }\nLAB_000211ec:\n  iVar2 = iVar2 + 1;\n  piVar18 = piVar16;\n  goto LAB_00021154;\n}\n\n" (function_definition "int * conf_get_str(undefined4 *param_1,int param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int *piVar3;\n  int *piVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  undefined4 uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  undefined4 uVar15;\n  int *piVar16;\n  int iVar17;\n  int *piVar18;\n  int *unaff_s2;\n  int unaff_s4;\n  undefined *puVar19;\n  code *pcVar20;\n  code *pcVar21;\n  code *pcVar22;\n  int iStack_234;\n  undefined4 uStack_230;\n  int *piStack_22c;\n  int *piStack_228;\n  int iStack_224;\n  int iStack_220;\n  code *pcStack_21c;\n  code *pcStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  int iStack_1f0;\n  code *pcStack_1ec;\n  code *pcStack_1d8;\n  int iStack_1cc;\n  int iStack_1c8;\n  int iStack_1c4;\n  int iStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  int iStack_19c;\n  int iStack_198;\n  int iStack_194;\n  undefined4 *puStack_190;\n  code *pcStack_18c;\n  code *pcStack_178;\n  int *piStack_170;\n  int *piStack_16c;\n  int iStack_168;\n  code *pcStack_164;\n  code *pcStack_150;\n  int aiStack_144 [2];\n  int iStack_13c;\n  int *piStack_138;\n  code *pcStack_134;\n  code *pcStack_120;\n  int *apiStack_114 [2];\n  int iStack_10c;\n  int *piStack_108;\n  code *pcStack_104;\n  undefined4 **ppuStack_f0;\n  code *pcStack_e8;\n  int *piStack_e0;\n  int iStack_dc;\n  int iStack_d8;\n  undefined4 *puStack_d4;\n  int iStack_d0;\n  int *piStack_cc;\n  int *piStack_c8;\n  int iStack_9c;\n  int iStack_98;\n  int iStack_94;\n  int *piStack_90;\n  undefined *puStack_44;\n  undefined4 uStack_40;\n  int iStack_3c;\n  undefined *puStack_38;\n  code *pcStack_34;\n  int local_14 [2];\n  int local_c;\n  \n  puVar1 = PTR___stack_chk_guard_000a7ec8;\n  local_c = *(int *)PTR___stack_chk_guard_000a7ec8;\n  if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0) {\n    if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }\n  uVar11 = 0x124;\n  puVar7 = PTR_DAT_000a70f4 + 0x5790;\n  pcVar22 = conf_get_str_str_opt;\n  puVar5 = (undefined4 *)(PTR_DAT_000a70f4 + 0x5814);\n  puVar19 = PTR___assert_fail_000a7840;\n  (*(code *)PTR___assert_fail_000a7840)();\n  puStack_38 = puVar1;\n  piVar18 = *(int **)(puVar19 + 0x87b74);\n  iStack_3c = *piVar18;\n  pcStack_34 = pcVar22;\n  if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2) {\n    if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }\n  }\n  else {\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }\n  pcVar22 = *(code **)(puVar19 + 0x874ec);\n  (*pcVar22)(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8);\n  piVar3 = (int *)conf_get_str_str_opt();\n  if (piVar3 != (int *)0x0) {\n    return piVar3;\n  }\n  iVar12 = 0x13b;\n  pcVar20 = *(code **)(pcVar22 + 0x873f4);\n  piVar16 = (int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994);\n  iVar2 = *(int *)(pcVar22 + 0x86ca8) + 0x5790;\n  puVar5 = (undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858);\n  (*pcVar20)();\n  piVar3 = *(int **)(pcVar20 + 0x87a20);\n  iStack_94 = *piVar3;\n  piStack_90 = piVar18;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }\n    (**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);\n  }\n  piVar18 = (int *)0x145;\n  pcVar21 = *(code **)(pcVar20 + 0x87398);\n  iVar12 = *(int *)(pcVar20 + 0x86c4c) + 0x5790;\n  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834);\n  (*pcVar21)();\n  pcVar22 = pcVar21 + 0x8ea88;\n  piVar16 = *(int **)(pcVar21 + 0x878c0);\n  puStack_d4 = (undefined4 *)*piVar16;\n  pcStack_e8 = pcVar22;\n  iStack_d0 = iVar2;\n  piStack_cc = piVar3;\n  piStack_c8 = unaff_s2;\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2) {\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }\n    piVar8 = &iStack_dc;\n    iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;\n    ppuStack_f0 = &piStack_e0;\n    iStack_dc = iVar12;\n    piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);\n    if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }\n    puVar6 = puStack_d4;\n    piVar3 = piVar18;\n    pcVar22 = pcStack_e8;\n    if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }\n  }\n  else {\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }\n  pcVar20 = *(code **)(pcVar22 + -0x751c);\n  pcVar21 = conf_get_filename;\n  (*pcVar20)();\n  pcVar22 = pcVar20 + 0x8e91c;\n  piVar18 = *(int **)(pcVar20 + 0x87754);\n  iStack_10c = *piVar18;\n  pcStack_120 = pcVar22;\n  piStack_108 = piVar16;\n  pcStack_104 = pcVar21;\n  if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0) {\n    if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_get_fontspec;\n  puVar6 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c);\n  (*pcVar20)(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  pcVar22 = pcVar20 + 0x8e808;\n  piVar16 = *(int **)(pcVar20 + 0x87640);\n  iStack_13c = *piVar16;\n  pcStack_150 = pcVar22;\n  piStack_138 = piVar18;\n  pcStack_134 = pcVar21;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }\n  iVar13 = 0x17c;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_int;\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5884;\n  (*pcVar20)();\n  pcStack_178 = pcVar20 + 0x8e6f4;\n  piStack_170 = piVar16;\n  piStack_16c = piVar3;\n  iStack_168 = iVar12;\n  pcStack_164 = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_178;\n  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }\n  iVar14 = 0x188;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar17 = *(int *)(pcVar22 + -0x7f9c) + 0x5930;\n  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_int_int;\n  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;\n  (*pcVar20)();\n  pcStack_1a8 = pcVar20 + 0x8e608;\n  iStack_19c = iVar2;\n  iStack_198 = iVar13;\n  iStack_194 = iVar9;\n  puStack_190 = puVar5;\n  pcStack_18c = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_1a8;\n  if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1) {\n    if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }\n  uVar11 = 0x193;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_str;\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;\n  (*pcVar20)();\n  pcStack_1d8 = pcVar20 + 0x8e50c;\n  iStack_1cc = iVar17;\n  iStack_1c8 = iVar12;\n  iStack_1c4 = iVar14;\n  iStack_1c0 = iVar10;\n  pcStack_1bc = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_1d8;\n  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }\n  uVar15 = 0x19f;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5900;\n  iVar13 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_str_str;\n  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x5814;\n  (*pcVar20)();\n  pcStack_208 = pcVar20 + 0x8e404;\n  piStack_200 = piVar18;\n  iStack_1fc = iVar2;\n  uStack_1f8 = uVar11;\n  iStack_1f4 = iVar9;\n  iStack_1f0 = unaff_s4;\n  pcStack_1ec = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_208;\n  if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }\n  uVar11 = 0x1ab;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_del_str_str;\n  puVar5 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814);\n  (*pcVar20)();\n  piVar3 = *(int **)(pcVar20 + 0x87114);\n  piStack_22c = (int *)*piVar3;\n  piStack_228 = piVar18;\n  iStack_224 = iVar12;\n  iStack_220 = iVar10;\n  pcStack_21c = pcVar21;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;\n    iStack_234 = iVar2;\n    uStack_230 = uVar11;\n    iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);\n    if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }\n    piVar3 = (int *)*piVar3;\n    if (piStack_22c == piVar3) {\n      return piVar3;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }\n  (**(code **)(pcVar20 + 0x86dc0))();\nLAB_00020ec4:\n  uVar11 = 0x1b8;\n  pcVar22 = *(code **)(pcVar20 + 0x86a8c);\n  iVar12 = *(int *)(pcVar20 + 0x86340) + 0x5790;\n  iVar2 = *(int *)(pcVar20 + 0x86340) + 0x5814;\n  (*pcVar22)();\n  piVar18 = (int *)safemalloc(1,0xc);\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0) {\n    pcVar20 = *(code **)(pcVar22 + 0x86308);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }\n  uVar11 = 0x1c7;\n  pcVar20 = *(code **)(pcVar22 + 0x86958);\n  iVar12 = *(int *)(pcVar22 + 0x8620c) + 0x5790;\n  iVar2 = *(int *)(pcVar22 + 0x8620c) + 0x585c;\n  (*pcVar20)();\n  piVar18 = (int *)safemalloc(1,0xc);\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0) {\n    pcVar22 = *(code **)(pcVar20 + 0x861f8);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }\n  pcVar22 = *(code **)(pcVar20 + 0x86850);\n  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884);\n  (*pcVar22)(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)\n  ;\n  iVar2 = 0;\n  iVar12 = *(int *)(pcVar22 + 0x85ffc);\n  iVar9 = *(int *)(pcVar22 + 0x85ffc);\n  piVar18 = (int *)0x0;\nLAB_00021154:\n  while( true ) {\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }\n  iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n  piVar16 = piVar18 + 2;\n  if (iVar13 == 2) {\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    goto LAB_00021224;\n  }\nLAB_000211bc:\n  if (iVar13 < 3) {\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }\n  else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }\nLAB_000211ec:\n  iVar2 = iVar2 + 1;\n  piVar18 = piVar16;\n  goto LAB_00021154;\n}" primitive_type (pointer_declarator "* conf_get_str(undefined4 *param_1,int param_2)" * (function_declarator "conf_get_str(undefined4 *param_1,int param_2)" identifier (parameter_list "(undefined4 *param_1,int param_2)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) )))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int *piVar3;\n  int *piVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  undefined4 uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  undefined4 uVar15;\n  int *piVar16;\n  int iVar17;\n  int *piVar18;\n  int *unaff_s2;\n  int unaff_s4;\n  undefined *puVar19;\n  code *pcVar20;\n  code *pcVar21;\n  code *pcVar22;\n  int iStack_234;\n  undefined4 uStack_230;\n  int *piStack_22c;\n  int *piStack_228;\n  int iStack_224;\n  int iStack_220;\n  code *pcStack_21c;\n  code *pcStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  int iStack_1f0;\n  code *pcStack_1ec;\n  code *pcStack_1d8;\n  int iStack_1cc;\n  int iStack_1c8;\n  int iStack_1c4;\n  int iStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  int iStack_19c;\n  int iStack_198;\n  int iStack_194;\n  undefined4 *puStack_190;\n  code *pcStack_18c;\n  code *pcStack_178;\n  int *piStack_170;\n  int *piStack_16c;\n  int iStack_168;\n  code *pcStack_164;\n  code *pcStack_150;\n  int aiStack_144 [2];\n  int iStack_13c;\n  int *piStack_138;\n  code *pcStack_134;\n  code *pcStack_120;\n  int *apiStack_114 [2];\n  int iStack_10c;\n  int *piStack_108;\n  code *pcStack_104;\n  undefined4 **ppuStack_f0;\n  code *pcStack_e8;\n  int *piStack_e0;\n  int iStack_dc;\n  int iStack_d8;\n  undefined4 *puStack_d4;\n  int iStack_d0;\n  int *piStack_cc;\n  int *piStack_c8;\n  int iStack_9c;\n  int iStack_98;\n  int iStack_94;\n  int *piStack_90;\n  undefined *puStack_44;\n  undefined4 uStack_40;\n  int iStack_3c;\n  undefined *puStack_38;\n  code *pcStack_34;\n  int local_14 [2];\n  int local_c;\n  \n  puVar1 = PTR___stack_chk_guard_000a7ec8;\n  local_c = *(int *)PTR___stack_chk_guard_000a7ec8;\n  if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0) {\n    if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }\n  uVar11 = 0x124;\n  puVar7 = PTR_DAT_000a70f4 + 0x5790;\n  pcVar22 = conf_get_str_str_opt;\n  puVar5 = (undefined4 *)(PTR_DAT_000a70f4 + 0x5814);\n  puVar19 = PTR___assert_fail_000a7840;\n  (*(code *)PTR___assert_fail_000a7840)();\n  puStack_38 = puVar1;\n  piVar18 = *(int **)(puVar19 + 0x87b74);\n  iStack_3c = *piVar18;\n  pcStack_34 = pcVar22;\n  if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2) {\n    if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }\n  }\n  else {\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }\n  pcVar22 = *(code **)(puVar19 + 0x874ec);\n  (*pcVar22)(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8);\n  piVar3 = (int *)conf_get_str_str_opt();\n  if (piVar3 != (int *)0x0) {\n    return piVar3;\n  }\n  iVar12 = 0x13b;\n  pcVar20 = *(code **)(pcVar22 + 0x873f4);\n  piVar16 = (int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994);\n  iVar2 = *(int *)(pcVar22 + 0x86ca8) + 0x5790;\n  puVar5 = (undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858);\n  (*pcVar20)();\n  piVar3 = *(int **)(pcVar20 + 0x87a20);\n  iStack_94 = *piVar3;\n  piStack_90 = piVar18;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }\n    (**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);\n  }\n  piVar18 = (int *)0x145;\n  pcVar21 = *(code **)(pcVar20 + 0x87398);\n  iVar12 = *(int *)(pcVar20 + 0x86c4c) + 0x5790;\n  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834);\n  (*pcVar21)();\n  pcVar22 = pcVar21 + 0x8ea88;\n  piVar16 = *(int **)(pcVar21 + 0x878c0);\n  puStack_d4 = (undefined4 *)*piVar16;\n  pcStack_e8 = pcVar22;\n  iStack_d0 = iVar2;\n  piStack_cc = piVar3;\n  piStack_c8 = unaff_s2;\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2) {\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }\n    piVar8 = &iStack_dc;\n    iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;\n    ppuStack_f0 = &piStack_e0;\n    iStack_dc = iVar12;\n    piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);\n    if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }\n    puVar6 = puStack_d4;\n    piVar3 = piVar18;\n    pcVar22 = pcStack_e8;\n    if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }\n  }\n  else {\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }\n  pcVar20 = *(code **)(pcVar22 + -0x751c);\n  pcVar21 = conf_get_filename;\n  (*pcVar20)();\n  pcVar22 = pcVar20 + 0x8e91c;\n  piVar18 = *(int **)(pcVar20 + 0x87754);\n  iStack_10c = *piVar18;\n  pcStack_120 = pcVar22;\n  piStack_108 = piVar16;\n  pcStack_104 = pcVar21;\n  if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0) {\n    if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_get_fontspec;\n  puVar6 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c);\n  (*pcVar20)(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  pcVar22 = pcVar20 + 0x8e808;\n  piVar16 = *(int **)(pcVar20 + 0x87640);\n  iStack_13c = *piVar16;\n  pcStack_150 = pcVar22;\n  piStack_138 = piVar18;\n  pcStack_134 = pcVar21;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }\n  iVar13 = 0x17c;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_int;\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5884;\n  (*pcVar20)();\n  pcStack_178 = pcVar20 + 0x8e6f4;\n  piStack_170 = piVar16;\n  piStack_16c = piVar3;\n  iStack_168 = iVar12;\n  pcStack_164 = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_178;\n  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }\n  iVar14 = 0x188;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar17 = *(int *)(pcVar22 + -0x7f9c) + 0x5930;\n  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_int_int;\n  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;\n  (*pcVar20)();\n  pcStack_1a8 = pcVar20 + 0x8e608;\n  iStack_19c = iVar2;\n  iStack_198 = iVar13;\n  iStack_194 = iVar9;\n  puStack_190 = puVar5;\n  pcStack_18c = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_1a8;\n  if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1) {\n    if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }\n  uVar11 = 0x193;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_str;\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;\n  (*pcVar20)();\n  pcStack_1d8 = pcVar20 + 0x8e50c;\n  iStack_1cc = iVar17;\n  iStack_1c8 = iVar12;\n  iStack_1c4 = iVar14;\n  iStack_1c0 = iVar10;\n  pcStack_1bc = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_1d8;\n  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }\n  uVar15 = 0x19f;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5900;\n  iVar13 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_str_str;\n  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x5814;\n  (*pcVar20)();\n  pcStack_208 = pcVar20 + 0x8e404;\n  piStack_200 = piVar18;\n  iStack_1fc = iVar2;\n  uStack_1f8 = uVar11;\n  iStack_1f4 = iVar9;\n  iStack_1f0 = unaff_s4;\n  pcStack_1ec = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_208;\n  if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }\n  uVar11 = 0x1ab;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_del_str_str;\n  puVar5 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814);\n  (*pcVar20)();\n  piVar3 = *(int **)(pcVar20 + 0x87114);\n  piStack_22c = (int *)*piVar3;\n  piStack_228 = piVar18;\n  iStack_224 = iVar12;\n  iStack_220 = iVar10;\n  pcStack_21c = pcVar21;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;\n    iStack_234 = iVar2;\n    uStack_230 = uVar11;\n    iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);\n    if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }\n    piVar3 = (int *)*piVar3;\n    if (piStack_22c == piVar3) {\n      return piVar3;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }\n  (**(code **)(pcVar20 + 0x86dc0))();\nLAB_00020ec4:\n  uVar11 = 0x1b8;\n  pcVar22 = *(code **)(pcVar20 + 0x86a8c);\n  iVar12 = *(int *)(pcVar20 + 0x86340) + 0x5790;\n  iVar2 = *(int *)(pcVar20 + 0x86340) + 0x5814;\n  (*pcVar22)();\n  piVar18 = (int *)safemalloc(1,0xc);\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0) {\n    pcVar20 = *(code **)(pcVar22 + 0x86308);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }\n  uVar11 = 0x1c7;\n  pcVar20 = *(code **)(pcVar22 + 0x86958);\n  iVar12 = *(int *)(pcVar22 + 0x8620c) + 0x5790;\n  iVar2 = *(int *)(pcVar22 + 0x8620c) + 0x585c;\n  (*pcVar20)();\n  piVar18 = (int *)safemalloc(1,0xc);\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0) {\n    pcVar22 = *(code **)(pcVar20 + 0x861f8);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }\n  pcVar22 = *(code **)(pcVar20 + 0x86850);\n  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884);\n  (*pcVar22)(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)\n  ;\n  iVar2 = 0;\n  iVar12 = *(int *)(pcVar22 + 0x85ffc);\n  iVar9 = *(int *)(pcVar22 + 0x85ffc);\n  piVar18 = (int *)0x0;\nLAB_00021154:\n  while( true ) {\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }\n  iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n  piVar16 = piVar18 + 2;\n  if (iVar13 == 2) {\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    goto LAB_00021224;\n  }\nLAB_000211bc:\n  if (iVar13 < 3) {\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }\n  else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }\nLAB_000211ec:\n  iVar2 = iVar2 + 1;\n  piVar18 = piVar16;\n  goto LAB_00021154;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "int *unaff_s2;" primitive_type (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int unaff_s4;" primitive_type identifier ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "code *pcVar21;" type_identifier (pointer_declarator "*pcVar21" * identifier) ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "int iStack_234;" primitive_type identifier ;) (declaration "undefined4 uStack_230;" type_identifier identifier ;) (declaration "int *piStack_22c;" primitive_type (pointer_declarator "*piStack_22c" * identifier) ;) (declaration "int *piStack_228;" primitive_type (pointer_declarator "*piStack_228" * identifier) ;) (declaration "int iStack_224;" primitive_type identifier ;) (declaration "int iStack_220;" primitive_type identifier ;) (declaration "code *pcStack_21c;" type_identifier (pointer_declarator "*pcStack_21c" * identifier) ;) (declaration "code *pcStack_208;" type_identifier (pointer_declarator "*pcStack_208" * identifier) ;) (declaration "int *piStack_200;" primitive_type (pointer_declarator "*piStack_200" * identifier) ;) (declaration "int iStack_1fc;" primitive_type identifier ;) (declaration "undefined4 uStack_1f8;" type_identifier identifier ;) (declaration "int iStack_1f4;" primitive_type identifier ;) (declaration "int iStack_1f0;" primitive_type identifier ;) (declaration "code *pcStack_1ec;" type_identifier (pointer_declarator "*pcStack_1ec" * identifier) ;) (declaration "code *pcStack_1d8;" type_identifier (pointer_declarator "*pcStack_1d8" * identifier) ;) (declaration "int iStack_1cc;" primitive_type identifier ;) (declaration "int iStack_1c8;" primitive_type identifier ;) (declaration "int iStack_1c4;" primitive_type identifier ;) (declaration "int iStack_1c0;" primitive_type identifier ;) (declaration "code *pcStack_1bc;" type_identifier (pointer_declarator "*pcStack_1bc" * identifier) ;) (declaration "code *pcStack_1a8;" type_identifier (pointer_declarator "*pcStack_1a8" * identifier) ;) (declaration "int iStack_19c;" primitive_type identifier ;) (declaration "int iStack_198;" primitive_type identifier ;) (declaration "int iStack_194;" primitive_type identifier ;) (declaration "undefined4 *puStack_190;" type_identifier (pointer_declarator "*puStack_190" * identifier) ;) (declaration "code *pcStack_18c;" type_identifier (pointer_declarator "*pcStack_18c" * identifier) ;) (declaration "code *pcStack_178;" type_identifier (pointer_declarator "*pcStack_178" * identifier) ;) (declaration "int *piStack_170;" primitive_type (pointer_declarator "*piStack_170" * identifier) ;) (declaration "int *piStack_16c;" primitive_type (pointer_declarator "*piStack_16c" * identifier) ;) (declaration "int iStack_168;" primitive_type identifier ;) (declaration "code *pcStack_164;" type_identifier (pointer_declarator "*pcStack_164" * identifier) ;) (declaration "code *pcStack_150;" type_identifier (pointer_declarator "*pcStack_150" * identifier) ;) (declaration "int aiStack_144 [2];" primitive_type (array_declarator "aiStack_144 [2]" identifier [ number_literal ]) ;) (declaration "int iStack_13c;" primitive_type identifier ;) (declaration "int *piStack_138;" primitive_type (pointer_declarator "*piStack_138" * identifier) ;) (declaration "code *pcStack_134;" type_identifier (pointer_declarator "*pcStack_134" * identifier) ;) (declaration "code *pcStack_120;" type_identifier (pointer_declarator "*pcStack_120" * identifier) ;) (declaration "int *apiStack_114 [2];" primitive_type (pointer_declarator "*apiStack_114 [2]" * (array_declarator "apiStack_114 [2]" identifier [ number_literal ])) ;) (declaration "int iStack_10c;" primitive_type identifier ;) (declaration "int *piStack_108;" primitive_type (pointer_declarator "*piStack_108" * identifier) ;) (declaration "code *pcStack_104;" type_identifier (pointer_declarator "*pcStack_104" * identifier) ;) (declaration "undefined4 **ppuStack_f0;" type_identifier (pointer_declarator "**ppuStack_f0" * (pointer_declarator "*ppuStack_f0" * identifier)) ;) (declaration "code *pcStack_e8;" type_identifier (pointer_declarator "*pcStack_e8" * identifier) ;) (declaration "int *piStack_e0;" primitive_type (pointer_declarator "*piStack_e0" * identifier) ;) (declaration "int iStack_dc;" primitive_type identifier ;) (declaration "int iStack_d8;" primitive_type identifier ;) (declaration "undefined4 *puStack_d4;" type_identifier (pointer_declarator "*puStack_d4" * identifier) ;) (declaration "int iStack_d0;" primitive_type identifier ;) (declaration "int *piStack_cc;" primitive_type (pointer_declarator "*piStack_cc" * identifier) ;) (declaration "int *piStack_c8;" primitive_type (pointer_declarator "*piStack_c8" * identifier) ;) (declaration "int iStack_9c;" primitive_type identifier ;) (declaration "int iStack_98;" primitive_type identifier ;) (declaration "int iStack_94;" primitive_type identifier ;) (declaration "int *piStack_90;" primitive_type (pointer_declarator "*piStack_90" * identifier) ;) (declaration "undefined *puStack_44;" type_identifier (pointer_declarator "*puStack_44" * identifier) ;) (declaration "undefined4 uStack_40;" type_identifier identifier ;) (declaration "int iStack_3c;" primitive_type identifier ;) (declaration "undefined *puStack_38;" type_identifier (pointer_declarator "*puStack_38" * identifier) ;) (declaration "code *pcStack_34;" type_identifier (pointer_declarator "*pcStack_34" * identifier) ;) (declaration "int local_14 [2];" primitive_type (array_declarator "local_14 [2]" identifier [ number_literal ]) ;) (declaration "int local_c;" primitive_type identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000a7ec8;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000a7ec8" identifier = identifier) ;) (expression_statement "local_c = *(int *)PTR___stack_chk_guard_000a7ec8;" (assignment_expression "local_c = *(int *)PTR___stack_chk_guard_000a7ec8" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000a7ec8" * (cast_expression "(int *)PTR___stack_chk_guard_000a7ec8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0) {\n    if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }" if (parenthesized_expression "(*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0)" ( (binary_expression "*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0" (pointer_expression "*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4)" * (cast_expression "(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4)" ( (binary_expression "PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4" (binary_expression "PTR_DAT_000a70f4 + param_2 * 4" identifier + (binary_expression "param_2 * 4" identifier * number_literal)) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }" { (if_statement "if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }" if (parenthesized_expression "(*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2)" ( (binary_expression "*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2" (pointer_expression "*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4)" * (cast_expression "(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4)" ( (binary_expression "PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4" (binary_expression "PTR_DAT_000a70f4 + param_2 * 4" identifier + (binary_expression "param_2 * 4" identifier * number_literal)) + number_literal) )))) == number_literal) )) (compound_statement "{\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }" { (expression_statement "local_14[0] = param_2;" (assignment_expression "local_14[0] = param_2" (subscript_expression "local_14[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);" (assignment_expression "iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0)" identifier = (call_expression "(*(code *)PTR_find234_000a71f8)(*param_1,local_14,0)" (parenthesized_expression "(*(code *)PTR_find234_000a71f8)" ( (pointer_expression "*(code *)PTR_find234_000a71f8" * (cast_expression "(code *)PTR_find234_000a71f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*param_1,local_14,0)" ( (pointer_expression "*param_1" * identifier) , identifier , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }" { (if_statement "if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }" if (parenthesized_expression "(local_c == *(int *)puVar1)" ( (binary_expression "local_c == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n          return *(int **)(iVar2 + 8);\n        }" { (return_statement "return *(int **)(iVar2 + 8);" return (pointer_expression "*(int **)(iVar2 + 8)" * (cast_expression "(int **)(iVar2 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) ;) })) (goto_statement "goto LAB_00020300;" goto statement_identifier ;) })) (goto_statement "goto LAB_0002030c;" goto statement_identifier ;) })) }) (else_clause "else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }" else (compound_statement "{\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);" (call_expression "(*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0)" (parenthesized_expression "(*(code *)PTR___assert_fail_000a7840)" ( (pointer_expression "*(code *)PTR___assert_fail_000a7840" * (cast_expression "(code *)PTR___assert_fail_000a7840" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0)" ( (binary_expression "PTR_DAT_000a70f4 + 0x57ac" identifier + number_literal) , (binary_expression "PTR_DAT_000a70f4 + 0x5790" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_000a70f4 + 0x59c0" identifier + number_literal) ))) ;) (labeled_statement "LAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();" statement_identifier : (expression_statement "(*(code *)PTR___stack_chk_fail_000a7b74)();" (call_expression "(*(code *)PTR___stack_chk_fail_000a7b74)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000a7b74)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000a7b74" * (cast_expression "(code *)PTR___stack_chk_fail_000a7b74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);" (call_expression "(*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0)" (parenthesized_expression "(*(code *)PTR___assert_fail_000a7840)" ( (pointer_expression "*(code *)PTR___assert_fail_000a7840" * (cast_expression "(code *)PTR___assert_fail_000a7840" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0)" ( (binary_expression "PTR_DAT_000a70f4 + 0x57a4" identifier + number_literal) , (binary_expression "PTR_DAT_000a70f4 + 0x5790" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_000a70f4 + 0x59c0" identifier + number_literal) ))) ;)) }))) (expression_statement "uVar11 = 0x124;" (assignment_expression "uVar11 = 0x124" identifier = number_literal) ;) (expression_statement "puVar7 = PTR_DAT_000a70f4 + 0x5790;" (assignment_expression "puVar7 = PTR_DAT_000a70f4 + 0x5790" identifier = (binary_expression "PTR_DAT_000a70f4 + 0x5790" identifier + number_literal)) ;) (expression_statement "pcVar22 = conf_get_str_str_opt;" (assignment_expression "pcVar22 = conf_get_str_str_opt" identifier = identifier) ;) (expression_statement "puVar5 = (undefined4 *)(PTR_DAT_000a70f4 + 0x5814);" (assignment_expression "puVar5 = (undefined4 *)(PTR_DAT_000a70f4 + 0x5814)" identifier = (cast_expression "(undefined4 *)(PTR_DAT_000a70f4 + 0x5814)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000a70f4 + 0x5814)" ( (binary_expression "PTR_DAT_000a70f4 + 0x5814" identifier + number_literal) )))) ;) (expression_statement "puVar19 = PTR___assert_fail_000a7840;" (assignment_expression "puVar19 = PTR___assert_fail_000a7840" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_000a7840)();" (call_expression "(*(code *)PTR___assert_fail_000a7840)()" (parenthesized_expression "(*(code *)PTR___assert_fail_000a7840)" ( (pointer_expression "*(code *)PTR___assert_fail_000a7840" * (cast_expression "(code *)PTR___assert_fail_000a7840" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_38 = puVar1;" (assignment_expression "puStack_38 = puVar1" identifier = identifier) ;) (expression_statement "piVar18 = *(int **)(puVar19 + 0x87b74);" (assignment_expression "piVar18 = *(int **)(puVar19 + 0x87b74)" identifier = (pointer_expression "*(int **)(puVar19 + 0x87b74)" * (cast_expression "(int **)(puVar19 + 0x87b74)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x87b74)" ( (binary_expression "puVar19 + 0x87b74" identifier + number_literal) ))))) ;) (expression_statement "iStack_3c = *piVar18;" (assignment_expression "iStack_3c = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "pcStack_34 = pcVar22;" (assignment_expression "pcStack_34 = pcVar22" identifier = identifier) ;) (if_statement "if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2) {\n    if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }\n  }\n  else {\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }" if (parenthesized_expression "(*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2)" ( (binary_expression "*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2" (pointer_expression "*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4)" * (cast_expression "(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4)" ( (binary_expression "(int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4" (binary_expression "(int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0)" (binary_expression "(int)puVar7 * 4" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + (pointer_expression "*(int *)(puVar19 + 0x86da0)" * (cast_expression "(int *)(puVar19 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x86da0)" ( (binary_expression "puVar19 + 0x86da0" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }\n  }" { (if_statement "if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }" if (parenthesized_expression "(*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2)" ( (binary_expression "*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2" (pointer_expression "*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4)" * (cast_expression "(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4)" ( (binary_expression "(int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4" (binary_expression "(int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0)" (binary_expression "(int)puVar7 * 4" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + (pointer_expression "*(int *)(puVar19 + 0x86da0)" * (cast_expression "(int *)(puVar19 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x86da0)" ( (binary_expression "puVar19 + 0x86da0" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }" { (expression_statement "puStack_44 = puVar7;" (assignment_expression "puStack_44 = puVar7" identifier = identifier) ;) (expression_statement "uStack_40 = uVar11;" (assignment_expression "uStack_40 = uVar11" identifier = identifier) ;) (expression_statement "piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);" (assignment_expression "piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0)" identifier = (cast_expression "(int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0)" (parenthesized_expression "(**(code **)(puVar19 + 0x86ea4))" ( (pointer_expression "**(code **)(puVar19 + 0x86ea4)" * (pointer_expression "*(code **)(puVar19 + 0x86ea4)" * (cast_expression "(code **)(puVar19 + 0x86ea4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x86ea4)" ( (binary_expression "puVar19 + 0x86ea4" identifier + number_literal) ))))) )) (argument_list "(*puVar5,&puStack_44,0)" ( (pointer_expression "*puVar5" * identifier) , (pointer_expression "&puStack_44" & identifier) , number_literal ))))) ;) (if_statement "if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }" if (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar3 = (int *)piVar3[2];\n      }" { (expression_statement "piVar3 = (int *)piVar3[2];" (assignment_expression "piVar3 = (int *)piVar3[2]" identifier = (cast_expression "(int *)piVar3[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[2]" identifier [ number_literal ]))) ;) })) (if_statement "if (iStack_3c == *piVar18) {\n        return piVar3;\n      }" if (parenthesized_expression "(iStack_3c == *piVar18)" ( (binary_expression "iStack_3c == *piVar18" identifier == (pointer_expression "*piVar18" * identifier)) )) (compound_statement "{\n        return piVar3;\n      }" { (return_statement "return piVar3;" return identifier ;) })) (goto_statement "goto LAB_0002041c;" goto statement_identifier ;) })) }) (else_clause "else {\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }" else (compound_statement "{\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }" { (expression_statement "(**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);" (call_expression "(**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8)" (parenthesized_expression "(**(code **)(puVar19 + 0x874ec))" ( (pointer_expression "**(code **)(puVar19 + 0x874ec)" * (pointer_expression "*(code **)(puVar19 + 0x874ec)" * (cast_expression "(code **)(puVar19 + 0x874ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x874ec)" ( (binary_expression "puVar19 + 0x874ec" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8)" ( (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x5834" (pointer_expression "*(int *)(puVar19 + 0x86da0)" * (cast_expression "(int *)(puVar19 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x86da0)" ( (binary_expression "puVar19 + 0x86da0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x5790" (pointer_expression "*(int *)(puVar19 + 0x86da0)" * (cast_expression "(int *)(puVar19 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x86da0)" ( (binary_expression "puVar19 + 0x86da0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x59a8" (pointer_expression "*(int *)(puVar19 + 0x86da0)" * (cast_expression "(int *)(puVar19 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x86da0)" ( (binary_expression "puVar19 + 0x86da0" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();" statement_identifier : (expression_statement "(**(code **)(puVar19 + 0x87820))();" (call_expression "(**(code **)(puVar19 + 0x87820))()" (parenthesized_expression "(**(code **)(puVar19 + 0x87820))" ( (pointer_expression "**(code **)(puVar19 + 0x87820)" * (pointer_expression "*(code **)(puVar19 + 0x87820)" * (cast_expression "(code **)(puVar19 + 0x87820)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x87820)" ( (binary_expression "puVar19 + 0x87820" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;)) }))) (expression_statement "pcVar22 = *(code **)(puVar19 + 0x874ec);" (assignment_expression "pcVar22 = *(code **)(puVar19 + 0x874ec)" identifier = (pointer_expression "*(code **)(puVar19 + 0x874ec)" * (cast_expression "(code **)(puVar19 + 0x874ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x874ec)" ( (binary_expression "puVar19 + 0x874ec" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar22)(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8);" (call_expression "(*pcVar22)(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8)" ( (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x5814" (pointer_expression "*(int *)(puVar19 + 0x86da0)" * (cast_expression "(int *)(puVar19 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x86da0)" ( (binary_expression "puVar19 + 0x86da0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x5790" (pointer_expression "*(int *)(puVar19 + 0x86da0)" * (cast_expression "(int *)(puVar19 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x86da0)" ( (binary_expression "puVar19 + 0x86da0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x59a8" (pointer_expression "*(int *)(puVar19 + 0x86da0)" * (cast_expression "(int *)(puVar19 + 0x86da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x86da0)" ( (binary_expression "puVar19 + 0x86da0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar3 = (int *)conf_get_str_str_opt();" (assignment_expression "piVar3 = (int *)conf_get_str_str_opt()" identifier = (cast_expression "(int *)conf_get_str_str_opt()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "conf_get_str_str_opt()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (piVar3 != (int *)0x0) {\n    return piVar3;\n  }" if (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return piVar3;\n  }" { (return_statement "return piVar3;" return identifier ;) })) (expression_statement "iVar12 = 0x13b;" (assignment_expression "iVar12 = 0x13b" identifier = number_literal) ;) (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x873f4);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x873f4)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x873f4)" * (cast_expression "(code **)(pcVar22 + 0x873f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x873f4)" ( (binary_expression "pcVar22 + 0x873f4" identifier + number_literal) ))))) ;) (expression_statement "piVar16 = (int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994);" (assignment_expression "piVar16 = (int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994)" identifier = (cast_expression "(int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x86ca8) + 0x5994)" ( (binary_expression "*(int *)(pcVar22 + 0x86ca8) + 0x5994" (pointer_expression "*(int *)(pcVar22 + 0x86ca8)" * (cast_expression "(int *)(pcVar22 + 0x86ca8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x86ca8)" ( (binary_expression "pcVar22 + 0x86ca8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar2 = *(int *)(pcVar22 + 0x86ca8) + 0x5790;" (assignment_expression "iVar2 = *(int *)(pcVar22 + 0x86ca8) + 0x5790" identifier = (binary_expression "*(int *)(pcVar22 + 0x86ca8) + 0x5790" (pointer_expression "*(int *)(pcVar22 + 0x86ca8)" * (cast_expression "(int *)(pcVar22 + 0x86ca8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x86ca8)" ( (binary_expression "pcVar22 + 0x86ca8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar5 = (undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858);" (assignment_expression "puVar5 = (undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x86ca8) + 0x5858)" ( (binary_expression "*(int *)(pcVar22 + 0x86ca8) + 0x5858" (pointer_expression "*(int *)(pcVar22 + 0x86ca8)" * (cast_expression "(int *)(pcVar22 + 0x86ca8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x86ca8)" ( (binary_expression "pcVar22 + 0x86ca8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar3 = *(int **)(pcVar20 + 0x87a20);" (assignment_expression "piVar3 = *(int **)(pcVar20 + 0x87a20)" identifier = (pointer_expression "*(int **)(pcVar20 + 0x87a20)" * (cast_expression "(int **)(pcVar20 + 0x87a20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x87a20)" ( (binary_expression "pcVar20 + 0x87a20" identifier + number_literal) ))))) ;) (expression_statement "iStack_94 = *piVar3;" (assignment_expression "iStack_94 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (expression_statement "piStack_90 = piVar18;" (assignment_expression "piStack_90 = piVar18" identifier = identifier) ;) (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }\n    (**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);\n  }" if (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2)" ( (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4)" * (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4)" ( (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c)" (binary_expression "iVar2 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" * (cast_expression "(int *)(pcVar20 + 0x86c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c4c)" ( (binary_expression "pcVar20 + 0x86c4c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }\n    (**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);\n  }" { (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }" if (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2)" ( (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4)" * (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4)" ( (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c)" (binary_expression "iVar2 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" * (cast_expression "(int *)(pcVar20 + 0x86c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c4c)" ( (binary_expression "pcVar20 + 0x86c4c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }" { (expression_statement "iStack_9c = iVar2;" (assignment_expression "iStack_9c = iVar2" identifier = identifier) ;) (if_statement "if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }" { (expression_statement "iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;" (assignment_expression "iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508" identifier = (binary_expression "*(int *)(pcVar20 + 0x86c30) + -0x7508" (pointer_expression "*(int *)(pcVar20 + 0x86c30)" * (cast_expression "(int *)(pcVar20 + 0x86c30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c30)" ( (binary_expression "pcVar20 + 0x86c30" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);" (assignment_expression "piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4)" identifier = (cast_expression "(int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86d58))" ( (pointer_expression "**(code **)(pcVar20 + 0x86d58)" * (pointer_expression "*(code **)(pcVar20 + 0x86d58)" * (cast_expression "(code **)(pcVar20 + 0x86d58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86d58)" ( (binary_expression "pcVar20 + 0x86d58" identifier + number_literal) ))))) )) (argument_list "(*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4)" ( (pointer_expression "*puVar5" * identifier) , (pointer_expression "&iStack_9c" & identifier) , (binary_expression "*(int *)(pcVar20 + 0x86c20) + -0x5ac" (pointer_expression "*(int *)(pcVar20 + 0x86c20)" * (cast_expression "(int *)(pcVar20 + 0x86c20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c20)" ( (binary_expression "pcVar20 + 0x86c20" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) }) (else_clause "else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }" else (compound_statement "{\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }" { (expression_statement "iStack_98 = iVar12;" (assignment_expression "iStack_98 = iVar12" identifier = identifier) ;) (expression_statement "piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);" (assignment_expression "piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3)" identifier = (cast_expression "(int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86d58))" ( (pointer_expression "**(code **)(pcVar20 + 0x86d58)" * (pointer_expression "*(code **)(pcVar20 + 0x86d58)" * (cast_expression "(code **)(pcVar20 + 0x86d58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86d58)" ( (binary_expression "pcVar20 + 0x86d58" identifier + number_literal) ))))) )) (argument_list "(*puVar5,&iStack_9c,0,3)" ( (pointer_expression "*puVar5" * identifier) , (pointer_expression "&iStack_9c" & identifier) , number_literal , number_literal ))))) ;) }))) (if_statement "if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }" if (parenthesized_expression "(piVar18 != (int *)0x0)" ( (binary_expression "piVar18 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }" { (if_statement "if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }" if (parenthesized_expression "(*piVar18 == iVar2)" ( (binary_expression "*piVar18 == iVar2" (pointer_expression "*piVar18" * identifier) == identifier) )) (compound_statement "{\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }" { (expression_statement "*piVar16 = piVar18[1];" (assignment_expression "*piVar16 = piVar18[1]" (pointer_expression "*piVar16" * identifier) = (subscript_expression "piVar18[1]" identifier [ number_literal ])) ;) (expression_statement "piVar18 = (int *)piVar18[2];" (assignment_expression "piVar18 = (int *)piVar18[2]" identifier = (cast_expression "(int *)piVar18[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[2]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          piVar18 = (int *)0x0;\n        }" else (compound_statement "{\n          piVar18 = (int *)0x0;\n        }" { (expression_statement "piVar18 = (int *)0x0;" (assignment_expression "piVar18 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) })) (if_statement "if (iStack_94 == *piVar3) {\n        return piVar18;\n      }" if (parenthesized_expression "(iStack_94 == *piVar3)" ( (binary_expression "iStack_94 == *piVar3" identifier == (pointer_expression "*piVar3" * identifier)) )) (compound_statement "{\n        return piVar18;\n      }" { (return_statement "return piVar18;" return identifier ;) })) (expression_statement "(**(code **)(pcVar20 + 0x876cc))();" (call_expression "(**(code **)(pcVar20 + 0x876cc))()" (parenthesized_expression "(**(code **)(pcVar20 + 0x876cc))" ( (pointer_expression "**(code **)(pcVar20 + 0x876cc)" * (pointer_expression "*(code **)(pcVar20 + 0x876cc)" * (cast_expression "(code **)(pcVar20 + 0x876cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x876cc)" ( (binary_expression "pcVar20 + 0x876cc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "unaff_s2 = piVar16;" (assignment_expression "unaff_s2 = piVar16" identifier = identifier) ;) })) (expression_statement "(**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);" (call_expression "(**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980)" (parenthesized_expression "(**(code **)(pcVar20 + 0x87398))" ( (pointer_expression "**(code **)(pcVar20 + 0x87398)" * (pointer_expression "*(code **)(pcVar20 + 0x87398)" * (cast_expression "(code **)(pcVar20 + 0x87398)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x87398)" ( (binary_expression "pcVar20 + 0x87398" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980)" ( (binary_expression "*(int *)(pcVar20 + 0x86c4c) + 0x5814" (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" * (cast_expression "(int *)(pcVar20 + 0x86c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c4c)" ( (binary_expression "pcVar20 + 0x86c4c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar20 + 0x86c4c) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" * (cast_expression "(int *)(pcVar20 + 0x86c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c4c)" ( (binary_expression "pcVar20 + 0x86c4c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar20 + 0x86c4c) + 0x5980" (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" * (cast_expression "(int *)(pcVar20 + 0x86c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c4c)" ( (binary_expression "pcVar20 + 0x86c4c" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "piVar18 = (int *)0x145;" (assignment_expression "piVar18 = (int *)0x145" identifier = (cast_expression "(int *)0x145" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar21 = *(code **)(pcVar20 + 0x87398);" (assignment_expression "pcVar21 = *(code **)(pcVar20 + 0x87398)" identifier = (pointer_expression "*(code **)(pcVar20 + 0x87398)" * (cast_expression "(code **)(pcVar20 + 0x87398)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x87398)" ( (binary_expression "pcVar20 + 0x87398" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(pcVar20 + 0x86c4c) + 0x5790;" (assignment_expression "iVar12 = *(int *)(pcVar20 + 0x86c4c) + 0x5790" identifier = (binary_expression "*(int *)(pcVar20 + 0x86c4c) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" * (cast_expression "(int *)(pcVar20 + 0x86c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c4c)" ( (binary_expression "pcVar20 + 0x86c4c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834);" (assignment_expression "puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar20 + 0x86c4c) + 0x5834)" ( (binary_expression "*(int *)(pcVar20 + 0x86c4c) + 0x5834" (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" * (cast_expression "(int *)(pcVar20 + 0x86c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86c4c)" ( (binary_expression "pcVar20 + 0x86c4c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar22 = pcVar21 + 0x8ea88;" (assignment_expression "pcVar22 = pcVar21 + 0x8ea88" identifier = (binary_expression "pcVar21 + 0x8ea88" identifier + number_literal)) ;) (expression_statement "piVar16 = *(int **)(pcVar21 + 0x878c0);" (assignment_expression "piVar16 = *(int **)(pcVar21 + 0x878c0)" identifier = (pointer_expression "*(int **)(pcVar21 + 0x878c0)" * (cast_expression "(int **)(pcVar21 + 0x878c0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x878c0)" ( (binary_expression "pcVar21 + 0x878c0" identifier + number_literal) ))))) ;) (expression_statement "puStack_d4 = (undefined4 *)*piVar16;" (assignment_expression "puStack_d4 = (undefined4 *)*piVar16" identifier = (cast_expression "(undefined4 *)*piVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) ;) (expression_statement "pcStack_e8 = pcVar22;" (assignment_expression "pcStack_e8 = pcVar22" identifier = identifier) ;) (expression_statement "iStack_d0 = iVar2;" (assignment_expression "iStack_d0 = iVar2" identifier = identifier) ;) (expression_statement "piStack_cc = piVar3;" (assignment_expression "piStack_cc = piVar3" identifier = identifier) ;) (expression_statement "piStack_c8 = unaff_s2;" (assignment_expression "piStack_c8 = unaff_s2" identifier = identifier) ;) (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2) {\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }\n    piVar8 = &iStack_dc;\n    iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;\n    ppuStack_f0 = &piStack_e0;\n    iStack_dc = iVar12;\n    piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);\n    if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }\n    puVar6 = puStack_d4;\n    piVar3 = piVar18;\n    pcVar22 = pcStack_e8;\n    if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }\n  }\n  else {\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }" if (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2)" ( (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4)" * (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4)" ( (binary_expression "iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4" (binary_expression "iVar12 * 4 + *(int *)(pcVar21 + 0x86aec)" (binary_expression "iVar12 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar21 + 0x86aec)" * (cast_expression "(int *)(pcVar21 + 0x86aec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86aec)" ( (binary_expression "pcVar21 + 0x86aec" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }\n    piVar8 = &iStack_dc;\n    iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;\n    ppuStack_f0 = &piStack_e0;\n    iStack_dc = iVar12;\n    piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);\n    if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }\n    puVar6 = puStack_d4;\n    piVar3 = piVar18;\n    pcVar22 = pcStack_e8;\n    if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }\n  }" { (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }" if (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2)" ( (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4)" * (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4)" ( (binary_expression "iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4" (binary_expression "iVar12 * 4 + *(int *)(pcVar21 + 0x86aec)" (binary_expression "iVar12 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar21 + 0x86aec)" * (cast_expression "(int *)(pcVar21 + 0x86aec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86aec)" ( (binary_expression "pcVar21 + 0x86aec" identifier + number_literal) ))))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }" { (expression_statement "(**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);" (call_expression "(**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968)" (parenthesized_expression "(**(code **)(pcVar21 + 0x87238))" ( (pointer_expression "**(code **)(pcVar21 + 0x87238)" * (pointer_expression "*(code **)(pcVar21 + 0x87238)" * (cast_expression "(code **)(pcVar21 + 0x87238)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x87238)" ( (binary_expression "pcVar21 + 0x87238" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968)" ( (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5814" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" * (cast_expression "(int *)(pcVar21 + 0x86aec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86aec)" ( (binary_expression "pcVar21 + 0x86aec" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5790" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" * (cast_expression "(int *)(pcVar21 + 0x86aec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86aec)" ( (binary_expression "pcVar21 + 0x86aec" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5968" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" * (cast_expression "(int *)(pcVar21 + 0x86aec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86aec)" ( (binary_expression "pcVar21 + 0x86aec" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_00020744;" goto statement_identifier ;) })) (expression_statement "piVar8 = &iStack_dc;" (assignment_expression "piVar8 = &iStack_dc" identifier = (pointer_expression "&iStack_dc" & identifier)) ;) (expression_statement "iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;" (assignment_expression "iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508" identifier = (binary_expression "*(int *)(pcVar21 + 0x86ad0) + -0x7508" (pointer_expression "*(int *)(pcVar21 + 0x86ad0)" * (cast_expression "(int *)(pcVar21 + 0x86ad0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86ad0)" ( (binary_expression "pcVar21 + 0x86ad0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "ppuStack_f0 = &piStack_e0;" (assignment_expression "ppuStack_f0 = &piStack_e0" identifier = (pointer_expression "&piStack_e0" & identifier)) ;) (expression_statement "iStack_dc = iVar12;" (assignment_expression "iStack_dc = iVar12" identifier = identifier) ;) (expression_statement "piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);" (assignment_expression "piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4)" identifier = (cast_expression "(int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x86bfc))" ( (pointer_expression "**(code **)(pcVar21 + 0x86bfc)" * (pointer_expression "*(code **)(pcVar21 + 0x86bfc)" * (cast_expression "(code **)(pcVar21 + 0x86bfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x86bfc)" ( (binary_expression "pcVar21 + 0x86bfc" identifier + number_literal) ))))) )) (argument_list "(*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4)" ( (pointer_expression "*puVar5" * identifier) , identifier , (binary_expression "*(int *)(pcVar21 + 0x86ac0) + -0x5ac" (pointer_expression "*(int *)(pcVar21 + 0x86ac0)" * (cast_expression "(int *)(pcVar21 + 0x86ac0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86ac0)" ( (binary_expression "pcVar21 + 0x86ac0" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (if_statement "if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }" { (labeled_statement "LAB_000206f0:\n      piVar4 = (int *)0x0;" statement_identifier : (expression_statement "piVar4 = (int *)0x0;" (assignment_expression "piVar4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }" else (compound_statement "{\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }" { (expression_statement "unaff_s4 = *piVar3;" (assignment_expression "unaff_s4 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (expression_statement "piVar8 = piStack_e0;" (assignment_expression "piVar8 = piStack_e0" identifier = identifier) ;) (if_statement "if (unaff_s4 != iVar12) goto LAB_000206f0;" if (parenthesized_expression "(unaff_s4 != iVar12)" ( (binary_expression "unaff_s4 != iVar12" identifier != identifier) )) (goto_statement "goto LAB_000206f0;" goto statement_identifier ;)) (expression_statement "piVar8 = (int *)((int)piVar18 + (int)piStack_e0);" (assignment_expression "piVar8 = (int *)((int)piVar18 + (int)piStack_e0)" identifier = (cast_expression "(int *)((int)piVar18 + (int)piStack_e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + (int)piStack_e0)" ( (binary_expression "(int)piVar18 + (int)piStack_e0" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)piStack_e0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);" (assignment_expression "piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5)" identifier = (cast_expression "(int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5)" (parenthesized_expression "(**(code **)(pcStack_e8 + -0x7ea4))" ( (pointer_expression "**(code **)(pcStack_e8 + -0x7ea4)" * (pointer_expression "*(code **)(pcStack_e8 + -0x7ea4)" * (cast_expression "(code **)(pcStack_e8 + -0x7ea4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e8 + -0x7ea4)" ( (binary_expression "pcStack_e8 + -0x7ea4" identifier + number_literal) ))))) )) (argument_list "(*puVar5)" ( (pointer_expression "*puVar5" * identifier) ))))) ;) (if_statement "if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;" if (parenthesized_expression "((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4))" ( (binary_expression "(piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)" (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar3 != unaff_s4)" ( (binary_expression "*piVar3 != unaff_s4" (pointer_expression "*piVar3" * identifier) != identifier) ))) )) (goto_statement "goto LAB_000206f0;" goto statement_identifier ;)) (expression_statement "piVar4 = (int *)piVar3[1];" (assignment_expression "piVar4 = (int *)piVar3[1]" identifier = (cast_expression "(int *)piVar3[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[1]" identifier [ number_literal ]))) ;) }))) (expression_statement "puVar6 = puStack_d4;" (assignment_expression "puVar6 = puStack_d4" identifier = identifier) ;) (expression_statement "piVar3 = piVar18;" (assignment_expression "piVar3 = piVar18" identifier = identifier) ;) (expression_statement "pcVar22 = pcStack_e8;" (assignment_expression "pcVar22 = pcStack_e8" identifier = identifier) ;) (if_statement "if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }" if (parenthesized_expression "(puStack_d4 == (undefined4 *)*piVar16)" ( (binary_expression "puStack_d4 == (undefined4 *)*piVar16" identifier == (cast_expression "(undefined4 *)*piVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) )) (compound_statement "{\n      return piVar4;\n    }" { (return_statement "return piVar4;" return identifier ;) })) }) (else_clause "else {\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }" else (compound_statement "{\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }" { (labeled_statement "LAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);" statement_identifier : (expression_statement "piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);" (assignment_expression "piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790)" identifier = (cast_expression "(int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar21 + 0x86aec) + 0x5790)" ( (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5790" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" * (cast_expression "(int *)(pcVar21 + 0x86aec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86aec)" ( (binary_expression "pcVar21 + 0x86aec" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);" (assignment_expression "puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar21 + 0x86aec) + 0x5834)" ( (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5834" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" * (cast_expression "(int *)(pcVar21 + 0x86aec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86aec)" ( (binary_expression "pcVar21 + 0x86aec" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);" (call_expression "(**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968)" (parenthesized_expression "(**(code **)(pcVar21 + 0x87238))" ( (pointer_expression "**(code **)(pcVar21 + 0x87238)" * (pointer_expression "*(code **)(pcVar21 + 0x87238)" * (cast_expression "(code **)(pcVar21 + 0x87238)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x87238)" ( (binary_expression "pcVar21 + 0x87238" identifier + number_literal) ))))) )) (argument_list "(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5968" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" * (cast_expression "(int *)(pcVar21 + 0x86aec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x86aec)" ( (binary_expression "pcVar21 + 0x86aec" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x751c);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x751c)" identifier = (pointer_expression "*(code **)(pcVar22 + -0x751c)" * (cast_expression "(code **)(pcVar22 + -0x751c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x751c)" ( (binary_expression "pcVar22 + -0x751c" identifier + number_literal) ))))) ;) (expression_statement "pcVar21 = conf_get_filename;" (assignment_expression "pcVar21 = conf_get_filename" identifier = identifier) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar22 = pcVar20 + 0x8e91c;" (assignment_expression "pcVar22 = pcVar20 + 0x8e91c" identifier = (binary_expression "pcVar20 + 0x8e91c" identifier + number_literal)) ;) (expression_statement "piVar18 = *(int **)(pcVar20 + 0x87754);" (assignment_expression "piVar18 = *(int **)(pcVar20 + 0x87754)" identifier = (pointer_expression "*(int **)(pcVar20 + 0x87754)" * (cast_expression "(int **)(pcVar20 + 0x87754)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x87754)" ( (binary_expression "pcVar20 + 0x87754" identifier + number_literal) ))))) ;) (expression_statement "iStack_10c = *piVar18;" (assignment_expression "iStack_10c = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "pcStack_120 = pcVar22;" (assignment_expression "pcStack_120 = pcVar22" identifier = identifier) ;) (expression_statement "piStack_108 = piVar16;" (assignment_expression "piStack_108 = piVar16" identifier = identifier) ;) (expression_statement "pcStack_104 = pcVar21;" (assignment_expression "pcStack_104 = pcVar21" identifier = identifier) ;) (if_statement "if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0) {\n    if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }" if (parenthesized_expression "(*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0)" ( (binary_expression "*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0" (pointer_expression "*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4)" * (cast_expression "(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4)" ( (binary_expression "(int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4" (binary_expression "(int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980)" (binary_expression "(int)piVar8 * 4" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x86980)" * (cast_expression "(int *)(pcVar20 + 0x86980)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86980)" ( (binary_expression "pcVar20 + 0x86980" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }\n  }" { (if_statement "if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }" if (parenthesized_expression "(*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3)" ( (binary_expression "*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3" (pointer_expression "*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4)" * (cast_expression "(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4)" ( (binary_expression "(int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4" (binary_expression "(int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980)" (binary_expression "(int)piVar8 * 4" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x86980)" * (cast_expression "(int *)(pcVar20 + 0x86980)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86980)" ( (binary_expression "pcVar20 + 0x86980" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }" { (expression_statement "apiStack_114[0] = piVar8;" (assignment_expression "apiStack_114[0] = piVar8" (subscript_expression "apiStack_114[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);" (assignment_expression "iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0)" identifier = (call_expression "(**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86a84))" ( (pointer_expression "**(code **)(pcVar20 + 0x86a84)" * (pointer_expression "*(code **)(pcVar20 + 0x86a84)" * (cast_expression "(code **)(pcVar20 + 0x86a84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86a84)" ( (binary_expression "pcVar20 + 0x86a84" identifier + number_literal) ))))) )) (argument_list "(*puVar6,apiStack_114,0)" ( (pointer_expression "*puVar6" * identifier) , identifier , number_literal )))) ;) (expression_statement "pcVar22 = pcStack_120;" (assignment_expression "pcVar22 = pcStack_120" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }" { (if_statement "if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }" if (parenthesized_expression "(iStack_10c == *piVar18)" ( (binary_expression "iStack_10c == *piVar18" identifier == (pointer_expression "*piVar18" * identifier)) )) (compound_statement "{\n          return *(int **)(iVar2 + 8);\n        }" { (return_statement "return *(int **)(iVar2 + 8);" return (pointer_expression "*(int **)(iVar2 + 8)" * (cast_expression "(int **)(iVar2 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) ;) })) (goto_statement "goto LAB_00020834;" goto statement_identifier ;) })) (goto_statement "goto LAB_00020840;" goto statement_identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }" else (compound_statement "{\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }" { (expression_statement "(**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);" (call_expression "(**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954)" (parenthesized_expression "(**(code **)(pcVar20 + 0x870cc))" ( (pointer_expression "**(code **)(pcVar20 + 0x870cc)" * (pointer_expression "*(code **)(pcVar20 + 0x870cc)" * (cast_expression "(code **)(pcVar20 + 0x870cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x870cc)" ( (binary_expression "pcVar20 + 0x870cc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954)" ( (binary_expression "*(int *)(pcVar20 + 0x86980) + 0x57ac" (pointer_expression "*(int *)(pcVar20 + 0x86980)" * (cast_expression "(int *)(pcVar20 + 0x86980)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86980)" ( (binary_expression "pcVar20 + 0x86980" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar20 + 0x86980) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86980)" * (cast_expression "(int *)(pcVar20 + 0x86980)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86980)" ( (binary_expression "pcVar20 + 0x86980" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar20 + 0x86980) + 0x5954" (pointer_expression "*(int *)(pcVar20 + 0x86980)" * (cast_expression "(int *)(pcVar20 + 0x86980)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86980)" ( (binary_expression "pcVar20 + 0x86980" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();" statement_identifier : (expression_statement "(**(code **)(pcVar22 + -0x751c))();" (call_expression "(**(code **)(pcVar22 + -0x751c))()" (parenthesized_expression "(**(code **)(pcVar22 + -0x751c))" ( (pointer_expression "**(code **)(pcVar22 + -0x751c)" * (pointer_expression "*(code **)(pcVar22 + -0x751c)" * (cast_expression "(code **)(pcVar22 + -0x751c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x751c)" ( (binary_expression "pcVar22 + -0x751c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);" statement_identifier : (expression_statement "(**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);" (call_expression "(**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954)" (parenthesized_expression "(**(code **)(pcVar22 + -0x7850))" ( (pointer_expression "**(code **)(pcVar22 + -0x7850)" * (pointer_expression "*(code **)(pcVar22 + -0x7850)" * (cast_expression "(code **)(pcVar22 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7850)" ( (binary_expression "pcVar22 + -0x7850" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954)" ( (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x57a4" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5954" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) ))) ;)) }))) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" identifier = (pointer_expression "*(code **)(pcVar22 + -0x7850)" * (cast_expression "(code **)(pcVar22 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7850)" ( (binary_expression "pcVar22 + -0x7850" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar21 = conf_get_fontspec;" (assignment_expression "pcVar21 = conf_get_fontspec" identifier = identifier) ;) (expression_statement "puVar6 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c);" (assignment_expression "puVar6 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + -0x7f9c) + 0x585c)" ( (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x585c" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar20)(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954);" (call_expression "(*pcVar20)(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5954" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar22 = pcVar20 + 0x8e808;" (assignment_expression "pcVar22 = pcVar20 + 0x8e808" identifier = (binary_expression "pcVar20 + 0x8e808" identifier + number_literal)) ;) (expression_statement "piVar16 = *(int **)(pcVar20 + 0x87640);" (assignment_expression "piVar16 = *(int **)(pcVar20 + 0x87640)" identifier = (pointer_expression "*(int **)(pcVar20 + 0x87640)" * (cast_expression "(int **)(pcVar20 + 0x87640)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x87640)" ( (binary_expression "pcVar20 + 0x87640" identifier + number_literal) ))))) ;) (expression_statement "iStack_13c = *piVar16;" (assignment_expression "iStack_13c = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "pcStack_150 = pcVar22;" (assignment_expression "pcStack_150 = pcVar22" identifier = identifier) ;) (expression_statement "piStack_138 = piVar18;" (assignment_expression "piStack_138 = piVar18" identifier = identifier) ;) (expression_statement "pcStack_134 = pcVar21;" (assignment_expression "pcStack_134 = pcVar21" identifier = identifier) ;) (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }" if (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0)" ( (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4)" * (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4)" ( (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x8686c)" (binary_expression "iVar2 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x8686c)" * (cast_expression "(int *)(pcVar20 + 0x8686c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x8686c)" ( (binary_expression "pcVar20 + 0x8686c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }\n  }" { (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }" if (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4)" ( (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4)" * (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4)" ( (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x8686c)" (binary_expression "iVar2 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x8686c)" * (cast_expression "(int *)(pcVar20 + 0x8686c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x8686c)" ( (binary_expression "pcVar20 + 0x8686c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }" { (expression_statement "aiStack_144[0] = iVar2;" (assignment_expression "aiStack_144[0] = iVar2" (subscript_expression "aiStack_144[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);" (assignment_expression "iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0)" identifier = (call_expression "(**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86970))" ( (pointer_expression "**(code **)(pcVar20 + 0x86970)" * (pointer_expression "*(code **)(pcVar20 + 0x86970)" * (cast_expression "(code **)(pcVar20 + 0x86970)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86970)" ( (binary_expression "pcVar20 + 0x86970" identifier + number_literal) ))))) )) (argument_list "(*puVar6,aiStack_144,0)" ( (pointer_expression "*puVar6" * identifier) , identifier , number_literal )))) ;) (expression_statement "pcVar22 = pcStack_150;" (assignment_expression "pcVar22 = pcStack_150" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }" { (if_statement "if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }" if (parenthesized_expression "(iStack_13c == *piVar16)" ( (binary_expression "iStack_13c == *piVar16" identifier == (pointer_expression "*piVar16" * identifier)) )) (compound_statement "{\n          return *(int **)(iVar2 + 8);\n        }" { (return_statement "return *(int **)(iVar2 + 8);" return (pointer_expression "*(int **)(iVar2 + 8)" * (cast_expression "(int **)(iVar2 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) ;) })) (goto_statement "goto LAB_00020948;" goto statement_identifier ;) })) (goto_statement "goto LAB_00020954;" goto statement_identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }" else (compound_statement "{\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }" { (expression_statement "(**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);" (call_expression "(**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86fb8))" ( (pointer_expression "**(code **)(pcVar20 + 0x86fb8)" * (pointer_expression "*(code **)(pcVar20 + 0x86fb8)" * (cast_expression "(code **)(pcVar20 + 0x86fb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86fb8)" ( (binary_expression "pcVar20 + 0x86fb8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940)" ( (binary_expression "*(int *)(pcVar20 + 0x8686c) + 0x57ac" (pointer_expression "*(int *)(pcVar20 + 0x8686c)" * (cast_expression "(int *)(pcVar20 + 0x8686c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x8686c)" ( (binary_expression "pcVar20 + 0x8686c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar20 + 0x8686c) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x8686c)" * (cast_expression "(int *)(pcVar20 + 0x8686c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x8686c)" ( (binary_expression "pcVar20 + 0x8686c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar20 + 0x8686c) + 0x5940" (pointer_expression "*(int *)(pcVar20 + 0x8686c)" * (cast_expression "(int *)(pcVar20 + 0x8686c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x8686c)" ( (binary_expression "pcVar20 + 0x8686c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();" statement_identifier : (expression_statement "(**(code **)(pcVar22 + -0x751c))();" (call_expression "(**(code **)(pcVar22 + -0x751c))()" (parenthesized_expression "(**(code **)(pcVar22 + -0x751c))" ( (pointer_expression "**(code **)(pcVar22 + -0x751c)" * (pointer_expression "*(code **)(pcVar22 + -0x751c)" * (cast_expression "(code **)(pcVar22 + -0x751c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x751c)" ( (binary_expression "pcVar22 + -0x751c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);" statement_identifier : (expression_statement "(**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);" (call_expression "(**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940)" (parenthesized_expression "(**(code **)(pcVar22 + -0x7850))" ( (pointer_expression "**(code **)(pcVar22 + -0x7850)" * (pointer_expression "*(code **)(pcVar22 + -0x7850)" * (cast_expression "(code **)(pcVar22 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7850)" ( (binary_expression "pcVar22 + -0x7850" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940)" ( (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x57a4" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5940" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) ))) ;)) }))) (expression_statement "iVar13 = 0x17c;" (assignment_expression "iVar13 = 0x17c" identifier = number_literal) ;) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" identifier = (pointer_expression "*(code **)(pcVar22 + -0x7850)" * (cast_expression "(code **)(pcVar22 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7850)" ( (binary_expression "pcVar22 + -0x7850" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar21 = conf_set_int;" (assignment_expression "pcVar21 = conf_set_int" identifier = identifier) ;) (expression_statement "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5884;" (assignment_expression "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5884" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5884" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_178 = pcVar20 + 0x8e6f4;" (assignment_expression "pcStack_178 = pcVar20 + 0x8e6f4" identifier = (binary_expression "pcVar20 + 0x8e6f4" identifier + number_literal)) ;) (expression_statement "piStack_170 = piVar16;" (assignment_expression "piStack_170 = piVar16" identifier = identifier) ;) (expression_statement "piStack_16c = piVar3;" (assignment_expression "piStack_16c = piVar3" identifier = identifier) ;) (expression_statement "iStack_168 = iVar12;" (assignment_expression "iStack_168 = iVar12" identifier = identifier) ;) (expression_statement "pcStack_164 = pcVar21;" (assignment_expression "pcStack_164 = pcVar21" identifier = identifier) ;) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" identifier = (cast_expression "(int *)safemalloc(1,0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xc)" identifier (argument_list "(1,0xc)" ( number_literal , number_literal ))))) ;) (expression_statement "pcVar22 = pcStack_178;" (assignment_expression "pcVar22 = pcStack_178" identifier = identifier) ;) (if_statement "if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }" if (parenthesized_expression "(*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0)" ( (binary_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0" (pointer_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4)" * (cast_expression "(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4)" ( (binary_expression "iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4" (binary_expression "iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c)" (binary_expression "iVar9 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcStack_178 + -0x7f9c)" * (cast_expression "(int *)(pcStack_178 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7f9c)" ( (binary_expression "pcStack_178 + -0x7f9c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }" { (if_statement "if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" if (parenthesized_expression "(*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1)" ( (binary_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1" (pointer_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4)" * (cast_expression "(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4)" ( (binary_expression "iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4" (binary_expression "iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c)" (binary_expression "iVar9 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcStack_178 + -0x7f9c)" * (cast_expression "(int *)(pcStack_178 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7f9c)" ( (binary_expression "pcStack_178 + -0x7f9c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" { (expression_statement "*piVar18 = iVar9;" (assignment_expression "*piVar18 = iVar9" (pointer_expression "*piVar18" * identifier) = identifier) ;) (expression_statement "piVar18[2] = iVar13;" (assignment_expression "piVar18[2] = iVar13" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18)" identifier = (cast_expression "(int *)FUN_0001fc80(iVar2,piVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001fc80(iVar2,piVar18)" identifier (argument_list "(iVar2,piVar18)" ( identifier , identifier ))))) ;) (return_statement "return piVar18;" return identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }" else (compound_statement "{\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }" { (expression_statement "(**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);" (call_expression "(**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930)" (parenthesized_expression "(**(code **)(pcStack_178 + -0x7850))" ( (pointer_expression "**(code **)(pcStack_178 + -0x7850)" * (pointer_expression "*(code **)(pcStack_178 + -0x7850)" * (cast_expression "(code **)(pcStack_178 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_178 + -0x7850)" ( (binary_expression "pcStack_178 + -0x7850" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930)" ( (binary_expression "*(int *)(pcStack_178 + -0x7f9c) + 0x57ac" (pointer_expression "*(int *)(pcStack_178 + -0x7f9c)" * (cast_expression "(int *)(pcStack_178 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7f9c)" ( (binary_expression "pcStack_178 + -0x7f9c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_178 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcStack_178 + -0x7f9c)" * (cast_expression "(int *)(pcStack_178 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7f9c)" ( (binary_expression "pcStack_178 + -0x7f9c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcStack_178 + -0x7f9c) + 0x5930" (pointer_expression "*(int *)(pcStack_178 + -0x7f9c)" * (cast_expression "(int *)(pcStack_178 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7f9c)" ( (binary_expression "pcStack_178 + -0x7f9c" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "iVar14 = 0x188;" (assignment_expression "iVar14 = 0x188" identifier = number_literal) ;) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" identifier = (pointer_expression "*(code **)(pcVar22 + -0x7850)" * (cast_expression "(code **)(pcVar22 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7850)" ( (binary_expression "pcVar22 + -0x7850" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(pcVar22 + -0x7f9c) + 0x5930;" (assignment_expression "iVar17 = *(int *)(pcVar22 + -0x7f9c) + 0x5930" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5930" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar21 = conf_set_int_int;" (assignment_expression "pcVar21 = conf_set_int_int" identifier = identifier) ;) (expression_statement "iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;" (assignment_expression "iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x57d0" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_1a8 = pcVar20 + 0x8e608;" (assignment_expression "pcStack_1a8 = pcVar20 + 0x8e608" identifier = (binary_expression "pcVar20 + 0x8e608" identifier + number_literal)) ;) (expression_statement "iStack_19c = iVar2;" (assignment_expression "iStack_19c = iVar2" identifier = identifier) ;) (expression_statement "iStack_198 = iVar13;" (assignment_expression "iStack_198 = iVar13" identifier = identifier) ;) (expression_statement "iStack_194 = iVar9;" (assignment_expression "iStack_194 = iVar9" identifier = identifier) ;) (expression_statement "puStack_190 = puVar5;" (assignment_expression "puStack_190 = puVar5" identifier = identifier) ;) (expression_statement "pcStack_18c = pcVar21;" (assignment_expression "pcStack_18c = pcVar21" identifier = identifier) ;) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" identifier = (cast_expression "(int *)safemalloc(1,0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xc)" identifier (argument_list "(1,0xc)" ( number_literal , number_literal ))))) ;) (expression_statement "pcVar22 = pcStack_1a8;" (assignment_expression "pcVar22 = pcStack_1a8" identifier = identifier) ;) (if_statement "if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1) {\n    if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }" if (parenthesized_expression "(*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1)" ( (binary_expression "*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1" (pointer_expression "*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4)" * (cast_expression "(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4)" ( (binary_expression "iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4" (binary_expression "iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c)" (binary_expression "iVar10 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcStack_1a8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1a8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1a8 + -0x7f9c)" ( (binary_expression "pcStack_1a8 + -0x7f9c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }" { (if_statement "if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }" if (parenthesized_expression "(*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1)" ( (binary_expression "*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1" (pointer_expression "*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4)" * (cast_expression "(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4)" ( (binary_expression "iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4" (binary_expression "iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c)" (binary_expression "iVar10 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcStack_1a8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1a8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1a8 + -0x7f9c)" ( (binary_expression "pcStack_1a8 + -0x7f9c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }" { (expression_statement "*piVar18 = iVar10;" (assignment_expression "*piVar18 = iVar10" (pointer_expression "*piVar18" * identifier) = identifier) ;) (expression_statement "piVar18[1] = iVar14;" (assignment_expression "piVar18[1] = iVar14" (subscript_expression "piVar18[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18[2] = iVar17;" (assignment_expression "piVar18[2] = iVar17" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar12,piVar18)" identifier = (cast_expression "(int *)FUN_0001fc80(iVar12,piVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001fc80(iVar12,piVar18)" identifier (argument_list "(iVar12,piVar18)" ( identifier , identifier ))))) ;) (return_statement "return piVar18;" return identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }" else (compound_statement "{\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }" { (expression_statement "(**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);" (call_expression "(**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x7850))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x7850)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x7850)" * (cast_expression "(code **)(pcStack_1a8 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x7850)" ( (binary_expression "pcStack_1a8 + -0x7850" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910)" ( (binary_expression "*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0" (pointer_expression "*(int *)(pcStack_1a8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1a8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1a8 + -0x7f9c)" ( (binary_expression "pcStack_1a8 + -0x7f9c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcStack_1a8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1a8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1a8 + -0x7f9c)" ( (binary_expression "pcStack_1a8 + -0x7f9c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910" (pointer_expression "*(int *)(pcStack_1a8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1a8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1a8 + -0x7f9c)" ( (binary_expression "pcStack_1a8 + -0x7f9c" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "uVar11 = 0x193;" (assignment_expression "uVar11 = 0x193" identifier = number_literal) ;) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" identifier = (pointer_expression "*(code **)(pcVar22 + -0x7850)" * (cast_expression "(code **)(pcVar22 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7850)" ( (binary_expression "pcVar22 + -0x7850" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar21 = conf_set_str;" (assignment_expression "pcVar21 = conf_set_str" identifier = identifier) ;) (expression_statement "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;" (assignment_expression "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x57d0" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_1d8 = pcVar20 + 0x8e50c;" (assignment_expression "pcStack_1d8 = pcVar20 + 0x8e50c" identifier = (binary_expression "pcVar20 + 0x8e50c" identifier + number_literal)) ;) (expression_statement "iStack_1cc = iVar17;" (assignment_expression "iStack_1cc = iVar17" identifier = identifier) ;) (expression_statement "iStack_1c8 = iVar12;" (assignment_expression "iStack_1c8 = iVar12" identifier = identifier) ;) (expression_statement "iStack_1c4 = iVar14;" (assignment_expression "iStack_1c4 = iVar14" identifier = identifier) ;) (expression_statement "iStack_1c0 = iVar10;" (assignment_expression "iStack_1c0 = iVar10" identifier = identifier) ;) (expression_statement "pcStack_1bc = pcVar21;" (assignment_expression "pcStack_1bc = pcVar21" identifier = identifier) ;) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" identifier = (cast_expression "(int *)safemalloc(1,0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xc)" identifier (argument_list "(1,0xc)" ( number_literal , number_literal ))))) ;) (expression_statement "pcVar22 = pcStack_1d8;" (assignment_expression "pcVar22 = pcStack_1d8" identifier = identifier) ;) (if_statement "if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }" if (parenthesized_expression "(*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0)" ( (binary_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0" (pointer_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4)" * (cast_expression "(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4)" ( (binary_expression "iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4" (binary_expression "iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c)" (binary_expression "iVar9 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcStack_1d8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1d8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1d8 + -0x7f9c)" ( (binary_expression "pcStack_1d8 + -0x7f9c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }" { (if_statement "if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" if (parenthesized_expression "(*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2)" ( (binary_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2" (pointer_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4)" * (cast_expression "(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4)" ( (binary_expression "iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4" (binary_expression "iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c)" (binary_expression "iVar9 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcStack_1d8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1d8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1d8 + -0x7f9c)" ( (binary_expression "pcStack_1d8 + -0x7f9c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" { (expression_statement "*piVar18 = iVar9;" (assignment_expression "*piVar18 = iVar9" (pointer_expression "*piVar18" * identifier) = identifier) ;) (expression_statement "iVar12 = dupstr(uVar11);" (assignment_expression "iVar12 = dupstr(uVar11)" identifier = (call_expression "dupstr(uVar11)" identifier (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "piVar18[2] = iVar12;" (assignment_expression "piVar18[2] = iVar12" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18)" identifier = (cast_expression "(int *)FUN_0001fc80(iVar2,piVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001fc80(iVar2,piVar18)" identifier (argument_list "(iVar2,piVar18)" ( identifier , identifier ))))) ;) (return_statement "return piVar18;" return identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }" else (compound_statement "{\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }" { (expression_statement "(**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);" (call_expression "(**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900)" (parenthesized_expression "(**(code **)(pcStack_1d8 + -0x7850))" ( (pointer_expression "**(code **)(pcStack_1d8 + -0x7850)" * (pointer_expression "*(code **)(pcStack_1d8 + -0x7850)" * (cast_expression "(code **)(pcStack_1d8 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1d8 + -0x7850)" ( (binary_expression "pcStack_1d8 + -0x7850" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900)" ( (binary_expression "*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac" (pointer_expression "*(int *)(pcStack_1d8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1d8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1d8 + -0x7f9c)" ( (binary_expression "pcStack_1d8 + -0x7f9c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcStack_1d8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1d8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1d8 + -0x7f9c)" ( (binary_expression "pcStack_1d8 + -0x7f9c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900" (pointer_expression "*(int *)(pcStack_1d8 + -0x7f9c)" * (cast_expression "(int *)(pcStack_1d8 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1d8 + -0x7f9c)" ( (binary_expression "pcStack_1d8 + -0x7f9c" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "uVar15 = 0x19f;" (assignment_expression "uVar15 = 0x19f" identifier = number_literal) ;) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" identifier = (pointer_expression "*(code **)(pcVar22 + -0x7850)" * (cast_expression "(code **)(pcVar22 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7850)" ( (binary_expression "pcVar22 + -0x7850" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5900;" (assignment_expression "iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5900" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5900" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar13 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar13 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar21 = conf_set_str_str;" (assignment_expression "pcVar21 = conf_set_str_str" identifier = identifier) ;) (expression_statement "iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x5814;" (assignment_expression "iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x5814" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5814" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_208 = pcVar20 + 0x8e404;" (assignment_expression "pcStack_208 = pcVar20 + 0x8e404" identifier = (binary_expression "pcVar20 + 0x8e404" identifier + number_literal)) ;) (expression_statement "piStack_200 = piVar18;" (assignment_expression "piStack_200 = piVar18" identifier = identifier) ;) (expression_statement "iStack_1fc = iVar2;" (assignment_expression "iStack_1fc = iVar2" identifier = identifier) ;) (expression_statement "uStack_1f8 = uVar11;" (assignment_expression "uStack_1f8 = uVar11" identifier = identifier) ;) (expression_statement "iStack_1f4 = iVar9;" (assignment_expression "iStack_1f4 = iVar9" identifier = identifier) ;) (expression_statement "iStack_1f0 = unaff_s4;" (assignment_expression "iStack_1f0 = unaff_s4" identifier = identifier) ;) (expression_statement "pcStack_1ec = pcVar21;" (assignment_expression "pcStack_1ec = pcVar21" identifier = identifier) ;) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" identifier = (cast_expression "(int *)safemalloc(1,0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xc)" identifier (argument_list "(1,0xc)" ( number_literal , number_literal ))))) ;) (expression_statement "pcVar22 = pcStack_208;" (assignment_expression "pcVar22 = pcStack_208" identifier = identifier) ;) (if_statement "if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }" if (parenthesized_expression "(*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2)" ( (binary_expression "*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2" (pointer_expression "*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4)" * (cast_expression "(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4)" ( (binary_expression "iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4" (binary_expression "iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c)" (binary_expression "iVar13 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcStack_208 + -0x7f9c)" * (cast_expression "(int *)(pcStack_208 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_208 + -0x7f9c)" ( (binary_expression "pcStack_208 + -0x7f9c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }" { (if_statement "if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }" if (parenthesized_expression "(*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2)" ( (binary_expression "*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2" (pointer_expression "*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4)" * (cast_expression "(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4)" ( (binary_expression "iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4" (binary_expression "iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c)" (binary_expression "iVar13 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcStack_208 + -0x7f9c)" * (cast_expression "(int *)(pcStack_208 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_208 + -0x7f9c)" ( (binary_expression "pcStack_208 + -0x7f9c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }" { (expression_statement "*piVar18 = iVar13;" (assignment_expression "*piVar18 = iVar13" (pointer_expression "*piVar18" * identifier) = identifier) ;) (expression_statement "iVar2 = dupstr(uVar15);" (assignment_expression "iVar2 = dupstr(uVar15)" identifier = (call_expression "dupstr(uVar15)" identifier (argument_list "(uVar15)" ( identifier )))) ;) (expression_statement "piVar18[1] = iVar2;" (assignment_expression "piVar18[1] = iVar2" (subscript_expression "piVar18[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = dupstr(iVar10);" (assignment_expression "iVar2 = dupstr(iVar10)" identifier = (call_expression "dupstr(iVar10)" identifier (argument_list "(iVar10)" ( identifier )))) ;) (expression_statement "piVar18[2] = iVar2;" (assignment_expression "piVar18[2] = iVar2" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar12,piVar18)" identifier = (cast_expression "(int *)FUN_0001fc80(iVar12,piVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001fc80(iVar12,piVar18)" identifier (argument_list "(iVar12,piVar18)" ( identifier , identifier ))))) ;) (return_statement "return piVar18;" return identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }" else (compound_statement "{\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }" { (expression_statement "(**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);" (call_expression "(**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec)" (parenthesized_expression "(**(code **)(pcStack_208 + -0x7850))" ( (pointer_expression "**(code **)(pcStack_208 + -0x7850)" * (pointer_expression "*(code **)(pcStack_208 + -0x7850)" * (cast_expression "(code **)(pcStack_208 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_208 + -0x7850)" ( (binary_expression "pcStack_208 + -0x7850" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec)" ( (binary_expression "*(int *)(pcStack_208 + -0x7f9c) + 0x5834" (pointer_expression "*(int *)(pcStack_208 + -0x7f9c)" * (cast_expression "(int *)(pcStack_208 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_208 + -0x7f9c)" ( (binary_expression "pcStack_208 + -0x7f9c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_208 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcStack_208 + -0x7f9c)" * (cast_expression "(int *)(pcStack_208 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_208 + -0x7f9c)" ( (binary_expression "pcStack_208 + -0x7f9c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcStack_208 + -0x7f9c) + 0x58ec" (pointer_expression "*(int *)(pcStack_208 + -0x7f9c)" * (cast_expression "(int *)(pcStack_208 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_208 + -0x7f9c)" ( (binary_expression "pcStack_208 + -0x7f9c" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "uVar11 = 0x1ab;" (assignment_expression "uVar11 = 0x1ab" identifier = number_literal) ;) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" identifier = (pointer_expression "*(code **)(pcVar22 + -0x7850)" * (cast_expression "(code **)(pcVar22 + -0x7850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + -0x7850)" ( (binary_expression "pcVar22 + -0x7850" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" identifier = (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar21 = conf_del_str_str;" (assignment_expression "pcVar21 = conf_del_str_str" identifier = identifier) ;) (expression_statement "puVar5 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814);" (assignment_expression "puVar5 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + -0x7f9c) + 0x5814)" ( (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5814" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" * (cast_expression "(int *)(pcVar22 + -0x7f9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + -0x7f9c)" ( (binary_expression "pcVar22 + -0x7f9c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar3 = *(int **)(pcVar20 + 0x87114);" (assignment_expression "piVar3 = *(int **)(pcVar20 + 0x87114)" identifier = (pointer_expression "*(int **)(pcVar20 + 0x87114)" * (cast_expression "(int **)(pcVar20 + 0x87114)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x87114)" ( (binary_expression "pcVar20 + 0x87114" identifier + number_literal) ))))) ;) (expression_statement "piStack_22c = (int *)*piVar3;" (assignment_expression "piStack_22c = (int *)*piVar3" identifier = (cast_expression "(int *)*piVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar3" * identifier))) ;) (expression_statement "piStack_228 = piVar18;" (assignment_expression "piStack_228 = piVar18" identifier = identifier) ;) (expression_statement "iStack_224 = iVar12;" (assignment_expression "iStack_224 = iVar12" identifier = identifier) ;) (expression_statement "iStack_220 = iVar10;" (assignment_expression "iStack_220 = iVar10" identifier = identifier) ;) (expression_statement "pcStack_21c = pcVar21;" (assignment_expression "pcStack_21c = pcVar21" identifier = identifier) ;) (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;\n    iStack_234 = iVar2;\n    uStack_230 = uVar11;\n    iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);\n    if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }\n    piVar3 = (int *)*piVar3;\n    if (piStack_22c == piVar3) {\n      return piVar3;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }" if (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2)" ( (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4)" * (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4)" ( (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86340)" (binary_expression "iVar2 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x86340)" * (cast_expression "(int *)(pcVar20 + 0x86340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86340)" ( (binary_expression "pcVar20 + 0x86340" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;\n    iStack_234 = iVar2;\n    uStack_230 = uVar11;\n    iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);\n    if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }\n    piVar3 = (int *)*piVar3;\n    if (piStack_22c == piVar3) {\n      return piVar3;\n    }\n  }" { (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;" if (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2)" ( (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4)" * (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4)" ( (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86340)" (binary_expression "iVar2 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x86340)" * (cast_expression "(int *)(pcVar20 + 0x86340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86340)" ( (binary_expression "pcVar20 + 0x86340" identifier + number_literal) ))))) + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_00020ec4;" goto statement_identifier ;)) (expression_statement "iStack_234 = iVar2;" (assignment_expression "iStack_234 = iVar2" identifier = identifier) ;) (expression_statement "uStack_230 = uVar11;" (assignment_expression "uStack_230 = uVar11" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);" (assignment_expression "iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0)" identifier = (call_expression "(**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86444))" ( (pointer_expression "**(code **)(pcVar20 + 0x86444)" * (pointer_expression "*(code **)(pcVar20 + 0x86444)" * (cast_expression "(code **)(pcVar20 + 0x86444)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86444)" ( (binary_expression "pcVar20 + 0x86444" identifier + number_literal) ))))) )) (argument_list "(*puVar5,&iStack_234,0)" ( (pointer_expression "*puVar5" * identifier) , (pointer_expression "&iStack_234" & identifier) , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }" { (expression_statement "(**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);" (call_expression "(**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86428))" ( (pointer_expression "**(code **)(pcVar20 + 0x86428)" * (pointer_expression "*(code **)(pcVar20 + 0x86428)" * (cast_expression "(code **)(pcVar20 + 0x86428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86428)" ( (binary_expression "pcVar20 + 0x86428" identifier + number_literal) ))))) )) (argument_list "(*puVar5,iVar2)" ( (pointer_expression "*puVar5" * identifier) , identifier ))) ;) (expression_statement "FUN_0001fae8(iVar2);" (call_expression "FUN_0001fae8(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) })) (expression_statement "piVar3 = (int *)*piVar3;" (assignment_expression "piVar3 = (int *)*piVar3" identifier = (cast_expression "(int *)*piVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar3" * identifier))) ;) (if_statement "if (piStack_22c == piVar3) {\n      return piVar3;\n    }" if (parenthesized_expression "(piStack_22c == piVar3)" ( (binary_expression "piStack_22c == piVar3" identifier == identifier) )) (compound_statement "{\n      return piVar3;\n    }" { (return_statement "return piVar3;" return identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }" else (compound_statement "{\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }" { (expression_statement "(**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);" (call_expression "(**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86a8c))" ( (pointer_expression "**(code **)(pcVar20 + 0x86a8c)" * (pointer_expression "*(code **)(pcVar20 + 0x86a8c)" * (cast_expression "(code **)(pcVar20 + 0x86a8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86a8c)" ( (binary_expression "pcVar20 + 0x86a8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8)" ( (binary_expression "*(int *)(pcVar20 + 0x86340) + 0x5834" (pointer_expression "*(int *)(pcVar20 + 0x86340)" * (cast_expression "(int *)(pcVar20 + 0x86340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86340)" ( (binary_expression "pcVar20 + 0x86340" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar20 + 0x86340) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86340)" * (cast_expression "(int *)(pcVar20 + 0x86340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86340)" ( (binary_expression "pcVar20 + 0x86340" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar20 + 0x86340) + 0x58d8" (pointer_expression "*(int *)(pcVar20 + 0x86340)" * (cast_expression "(int *)(pcVar20 + 0x86340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86340)" ( (binary_expression "pcVar20 + 0x86340" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "(**(code **)(pcVar20 + 0x86dc0))();" (call_expression "(**(code **)(pcVar20 + 0x86dc0))()" (parenthesized_expression "(**(code **)(pcVar20 + 0x86dc0))" ( (pointer_expression "**(code **)(pcVar20 + 0x86dc0)" * (pointer_expression "*(code **)(pcVar20 + 0x86dc0)" * (cast_expression "(code **)(pcVar20 + 0x86dc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86dc0)" ( (binary_expression "pcVar20 + 0x86dc0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00020ec4:\n  uVar11 = 0x1b8;" statement_identifier : (expression_statement "uVar11 = 0x1b8;" (assignment_expression "uVar11 = 0x1b8" identifier = number_literal) ;)) (expression_statement "pcVar22 = *(code **)(pcVar20 + 0x86a8c);" (assignment_expression "pcVar22 = *(code **)(pcVar20 + 0x86a8c)" identifier = (pointer_expression "*(code **)(pcVar20 + 0x86a8c)" * (cast_expression "(code **)(pcVar20 + 0x86a8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86a8c)" ( (binary_expression "pcVar20 + 0x86a8c" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(pcVar20 + 0x86340) + 0x5790;" (assignment_expression "iVar12 = *(int *)(pcVar20 + 0x86340) + 0x5790" identifier = (binary_expression "*(int *)(pcVar20 + 0x86340) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86340)" * (cast_expression "(int *)(pcVar20 + 0x86340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86340)" ( (binary_expression "pcVar20 + 0x86340" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar2 = *(int *)(pcVar20 + 0x86340) + 0x5814;" (assignment_expression "iVar2 = *(int *)(pcVar20 + 0x86340) + 0x5814" identifier = (binary_expression "*(int *)(pcVar20 + 0x86340) + 0x5814" (pointer_expression "*(int *)(pcVar20 + 0x86340)" * (cast_expression "(int *)(pcVar20 + 0x86340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86340)" ( (binary_expression "pcVar20 + 0x86340" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" identifier = (cast_expression "(int *)safemalloc(1,0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xc)" identifier (argument_list "(1,0xc)" ( number_literal , number_literal ))))) ;) (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0) {\n    pcVar20 = *(code **)(pcVar22 + 0x86308);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }" if (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0)" ( (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4)" * (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4)" ( (binary_expression "iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4" (binary_expression "iVar12 * 4 + *(int *)(pcVar22 + 0x8620c)" (binary_expression "iVar12 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar22 + 0x8620c)" * (cast_expression "(int *)(pcVar22 + 0x8620c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x8620c)" ( (binary_expression "pcVar22 + 0x8620c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    pcVar20 = *(code **)(pcVar22 + 0x86308);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }" { (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86308);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86308)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x86308)" * (cast_expression "(code **)(pcVar22 + 0x86308)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x86308)" ( (binary_expression "pcVar22 + 0x86308" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" if (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3)" ( (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4)" * (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4)" ( (binary_expression "iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4" (binary_expression "iVar12 * 4 + *(int *)(pcVar22 + 0x8620c)" (binary_expression "iVar12 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar22 + 0x8620c)" * (cast_expression "(int *)(pcVar22 + 0x8620c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x8620c)" ( (binary_expression "pcVar22 + 0x8620c" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" { (expression_statement "*piVar18 = iVar12;" (assignment_expression "*piVar18 = iVar12" (pointer_expression "*piVar18" * identifier) = identifier) ;) (expression_statement "iVar12 = (*pcVar20)(uVar11);" (assignment_expression "iVar12 = (*pcVar20)(uVar11)" identifier = (call_expression "(*pcVar20)(uVar11)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "piVar18[2] = iVar12;" (assignment_expression "piVar18[2] = iVar12" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18)" identifier = (cast_expression "(int *)FUN_0001fc80(iVar2,piVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001fc80(iVar2,piVar18)" identifier (argument_list "(iVar2,piVar18)" ( identifier , identifier ))))) ;) (return_statement "return piVar18;" return identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }" else (compound_statement "{\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }" { (expression_statement "(**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);" (call_expression "(**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4)" (parenthesized_expression "(**(code **)(pcVar22 + 0x86958))" ( (pointer_expression "**(code **)(pcVar22 + 0x86958)" * (pointer_expression "*(code **)(pcVar22 + 0x86958)" * (cast_expression "(code **)(pcVar22 + 0x86958)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x86958)" ( (binary_expression "pcVar22 + 0x86958" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4)" ( (binary_expression "*(int *)(pcVar22 + 0x8620c) + 0x57ac" (pointer_expression "*(int *)(pcVar22 + 0x8620c)" * (cast_expression "(int *)(pcVar22 + 0x8620c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x8620c)" ( (binary_expression "pcVar22 + 0x8620c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar22 + 0x8620c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + 0x8620c)" * (cast_expression "(int *)(pcVar22 + 0x8620c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x8620c)" ( (binary_expression "pcVar22 + 0x8620c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + 0x8620c) + 0x58c4" (pointer_expression "*(int *)(pcVar22 + 0x8620c)" * (cast_expression "(int *)(pcVar22 + 0x8620c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x8620c)" ( (binary_expression "pcVar22 + 0x8620c" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "uVar11 = 0x1c7;" (assignment_expression "uVar11 = 0x1c7" identifier = number_literal) ;) (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86958);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86958)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x86958)" * (cast_expression "(code **)(pcVar22 + 0x86958)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x86958)" ( (binary_expression "pcVar22 + 0x86958" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(pcVar22 + 0x8620c) + 0x5790;" (assignment_expression "iVar12 = *(int *)(pcVar22 + 0x8620c) + 0x5790" identifier = (binary_expression "*(int *)(pcVar22 + 0x8620c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + 0x8620c)" * (cast_expression "(int *)(pcVar22 + 0x8620c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x8620c)" ( (binary_expression "pcVar22 + 0x8620c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar2 = *(int *)(pcVar22 + 0x8620c) + 0x585c;" (assignment_expression "iVar2 = *(int *)(pcVar22 + 0x8620c) + 0x585c" identifier = (binary_expression "*(int *)(pcVar22 + 0x8620c) + 0x585c" (pointer_expression "*(int *)(pcVar22 + 0x8620c)" * (cast_expression "(int *)(pcVar22 + 0x8620c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x8620c)" ( (binary_expression "pcVar22 + 0x8620c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" identifier = (cast_expression "(int *)safemalloc(1,0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xc)" identifier (argument_list "(1,0xc)" ( number_literal , number_literal ))))) ;) (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0) {\n    pcVar22 = *(code **)(pcVar20 + 0x861f8);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }" if (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0)" ( (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4)" * (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4)" ( (binary_expression "iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4" (binary_expression "iVar12 * 4 + *(int *)(pcVar20 + 0x86104)" (binary_expression "iVar12 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x86104)" * (cast_expression "(int *)(pcVar20 + 0x86104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86104)" ( (binary_expression "pcVar20 + 0x86104" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    pcVar22 = *(code **)(pcVar20 + 0x861f8);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }" { (expression_statement "pcVar22 = *(code **)(pcVar20 + 0x861f8);" (assignment_expression "pcVar22 = *(code **)(pcVar20 + 0x861f8)" identifier = (pointer_expression "*(code **)(pcVar20 + 0x861f8)" * (cast_expression "(code **)(pcVar20 + 0x861f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x861f8)" ( (binary_expression "pcVar20 + 0x861f8" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" if (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4)" ( (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4)" * (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4)" ( (binary_expression "iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4" (binary_expression "iVar12 * 4 + *(int *)(pcVar20 + 0x86104)" (binary_expression "iVar12 * 4" identifier * number_literal) + (pointer_expression "*(int *)(pcVar20 + 0x86104)" * (cast_expression "(int *)(pcVar20 + 0x86104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86104)" ( (binary_expression "pcVar20 + 0x86104" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" { (expression_statement "*piVar18 = iVar12;" (assignment_expression "*piVar18 = iVar12" (pointer_expression "*piVar18" * identifier) = identifier) ;) (expression_statement "iVar12 = (*pcVar22)(uVar11);" (assignment_expression "iVar12 = (*pcVar22)(uVar11)" identifier = (call_expression "(*pcVar22)(uVar11)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "piVar18[2] = iVar12;" (assignment_expression "piVar18[2] = iVar12" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18)" identifier = (cast_expression "(int *)FUN_0001fc80(iVar2,piVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001fc80(iVar2,piVar18)" identifier (argument_list "(iVar2,piVar18)" ( identifier , identifier ))))) ;) (return_statement "return piVar18;" return identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }" else (compound_statement "{\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }" { (expression_statement "(**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);" (call_expression "(**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86850))" ( (pointer_expression "**(code **)(pcVar20 + 0x86850)" * (pointer_expression "*(code **)(pcVar20 + 0x86850)" * (cast_expression "(code **)(pcVar20 + 0x86850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86850)" ( (binary_expression "pcVar20 + 0x86850" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0)" ( (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x57ac" (pointer_expression "*(int *)(pcVar20 + 0x86104)" * (cast_expression "(int *)(pcVar20 + 0x86104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86104)" ( (binary_expression "pcVar20 + 0x86104" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86104)" * (cast_expression "(int *)(pcVar20 + 0x86104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86104)" ( (binary_expression "pcVar20 + 0x86104" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x58b0" (pointer_expression "*(int *)(pcVar20 + 0x86104)" * (cast_expression "(int *)(pcVar20 + 0x86104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86104)" ( (binary_expression "pcVar20 + 0x86104" identifier + number_literal) )))) + number_literal) ))) ;) }))) (expression_statement "pcVar22 = *(code **)(pcVar20 + 0x86850);" (assignment_expression "pcVar22 = *(code **)(pcVar20 + 0x86850)" identifier = (pointer_expression "*(code **)(pcVar20 + 0x86850)" * (cast_expression "(code **)(pcVar20 + 0x86850)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x86850)" ( (binary_expression "pcVar20 + 0x86850" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884);" (assignment_expression "puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar20 + 0x86104) + 0x5884)" ( (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x5884" (pointer_expression "*(int *)(pcVar20 + 0x86104)" * (cast_expression "(int *)(pcVar20 + 0x86104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86104)" ( (binary_expression "pcVar20 + 0x86104" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar22)(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)\n  ;" (call_expression "(*pcVar22)(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)" ( identifier , (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86104)" * (cast_expression "(int *)(pcVar20 + 0x86104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86104)" ( (binary_expression "pcVar20 + 0x86104" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x58b0" (pointer_expression "*(int *)(pcVar20 + 0x86104)" * (cast_expression "(int *)(pcVar20 + 0x86104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x86104)" ( (binary_expression "pcVar20 + 0x86104" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (expression_statement "iVar12 = *(int *)(pcVar22 + 0x85ffc);" (assignment_expression "iVar12 = *(int *)(pcVar22 + 0x85ffc)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x85ffc)" * (cast_expression "(int *)(pcVar22 + 0x85ffc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x85ffc)" ( (binary_expression "pcVar22 + 0x85ffc" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(pcVar22 + 0x85ffc);" (assignment_expression "iVar9 = *(int *)(pcVar22 + 0x85ffc)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x85ffc)" * (cast_expression "(int *)(pcVar22 + 0x85ffc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x85ffc)" ( (binary_expression "pcVar22 + 0x85ffc" identifier + number_literal) ))))) ;) (expression_statement "piVar18 = (int *)0x0;" (assignment_expression "piVar18 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00021154:\n  while( true ) {\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }" statement_identifier : (while_statement "while( true ) {\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }" { (expression_statement "piVar16 = piVar18 + 1;" (assignment_expression "piVar16 = piVar18 + 1" identifier = (binary_expression "piVar18 + 1" identifier + number_literal)) ;) (expression_statement "piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);" (assignment_expression "piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2)" identifier = (cast_expression "(int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2)" (parenthesized_expression "(**(code **)(pcVar22 + 0x860f4))" ( (pointer_expression "**(code **)(pcVar22 + 0x860f4)" * (pointer_expression "*(code **)(pcVar22 + 0x860f4)" * (cast_expression "(code **)(pcVar22 + 0x860f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x860f4)" ( (binary_expression "pcVar22 + 0x860f4" identifier + number_literal) ))))) )) (argument_list "(*puVar5,iVar2)" ( (pointer_expression "*puVar5" * identifier) , identifier ))))) ;) (if_statement "if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return piVar16;\n    }" { (return_statement "return piVar16;" return identifier ;) })) (expression_statement "iVar10 = *piVar3 * 4;" (assignment_expression "iVar10 = *piVar3 * 4" identifier = (binary_expression "*piVar3 * 4" (pointer_expression "*piVar3" * identifier) * number_literal)) ;) (expression_statement "iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);" (assignment_expression "iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10)" identifier = (pointer_expression "*(int *)(iVar12 + 0x5cd4 + iVar10)" * (cast_expression "(int *)(iVar12 + 0x5cd4 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x5cd4 + iVar10)" ( (binary_expression "iVar12 + 0x5cd4 + iVar10" (binary_expression "iVar12 + 0x5cd4" identifier + number_literal) + identifier) ))))) ;) (if_statement "if (iVar13 == 1) break;" if (parenthesized_expression "(iVar13 == 1)" ( (binary_expression "iVar13 == 1" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }" if (parenthesized_expression "(iVar13 == 2)" ( (binary_expression "iVar13 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }" { (expression_statement "iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);" (assignment_expression "iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1])" identifier = (call_expression "(**(code **)(pcVar22 + 0x86ce4))(piVar3[1])" (parenthesized_expression "(**(code **)(pcVar22 + 0x86ce4))" ( (pointer_expression "**(code **)(pcVar22 + 0x86ce4)" * (pointer_expression "*(code **)(pcVar22 + 0x86ce4)" * (cast_expression "(code **)(pcVar22 + 0x86ce4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x86ce4)" ( (binary_expression "pcVar22 + 0x86ce4" identifier + number_literal) ))))) )) (argument_list "(piVar3[1])" ( (subscript_expression "piVar3[1]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar16 = (int *)((int)piVar18 + iVar13 + 5);" (assignment_expression "piVar16 = (int *)((int)piVar18 + iVar13 + 5)" identifier = (cast_expression "(int *)((int)piVar18 + iVar13 + 5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + iVar13 + 5)" ( (binary_expression "(int)piVar18 + iVar13 + 5" (binary_expression "(int)piVar18 + iVar13" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) })) (expression_statement "iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);" (assignment_expression "iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10)" identifier = (pointer_expression "*(int *)(iVar9 + 0x59f4 + iVar10)" * (cast_expression "(int *)(iVar9 + 0x59f4 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x59f4 + iVar10)" ( (binary_expression "iVar9 + 0x59f4 + iVar10" (binary_expression "iVar9 + 0x59f4" identifier + number_literal) + identifier) ))))) ;) (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86ce4);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86ce4)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x86ce4)" * (cast_expression "(code **)(pcVar22 + 0x86ce4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x86ce4)" ( (binary_expression "pcVar22 + 0x86ce4" identifier + number_literal) ))))) ;) (if_statement "if (iVar13 != 2) goto LAB_000211bc;" if (parenthesized_expression "(iVar13 != 2)" ( (binary_expression "iVar13 != 2" identifier != number_literal) )) (goto_statement "goto LAB_000211bc;" goto statement_identifier ;)) (labeled_statement "LAB_00021224:\n    iVar2 = iVar2 + 1;" statement_identifier : (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;)) (expression_statement "iVar13 = (*pcVar20)(piVar3[2]);" (assignment_expression "iVar13 = (*pcVar20)(piVar3[2])" identifier = (call_expression "(*pcVar20)(piVar3[2])" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(piVar3[2])" ( (subscript_expression "piVar3[2]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar18 = (int *)((int)piVar16 + iVar13 + 1);" (assignment_expression "piVar18 = (int *)((int)piVar16 + iVar13 + 1)" identifier = (cast_expression "(int *)((int)piVar16 + iVar13 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + iVar13 + 1)" ( (binary_expression "(int)piVar16 + iVar13 + 1" (binary_expression "(int)piVar16 + iVar13" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) }))) (expression_statement "iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);" (assignment_expression "iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10)" identifier = (pointer_expression "*(int *)(iVar9 + 0x59f4 + iVar10)" * (cast_expression "(int *)(iVar9 + 0x59f4 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x59f4 + iVar10)" ( (binary_expression "iVar9 + 0x59f4 + iVar10" (binary_expression "iVar9 + 0x59f4" identifier + number_literal) + identifier) ))))) ;) (expression_statement "piVar16 = piVar18 + 2;" (assignment_expression "piVar16 = piVar18 + 2" identifier = (binary_expression "piVar18 + 2" identifier + number_literal)) ;) (if_statement "if (iVar13 == 2) {\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    goto LAB_00021224;\n  }" if (parenthesized_expression "(iVar13 == 2)" ( (binary_expression "iVar13 == 2" identifier == number_literal) )) (compound_statement "{\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    goto LAB_00021224;\n  }" { (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86ce4);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86ce4)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x86ce4)" * (cast_expression "(code **)(pcVar22 + 0x86ce4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x86ce4)" ( (binary_expression "pcVar22 + 0x86ce4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00021224;" goto statement_identifier ;) })) (labeled_statement "LAB_000211bc:\n  if (iVar13 < 3) {\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }\n  else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }" statement_identifier : (if_statement "if (iVar13 < 3) {\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }\n  else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }" if (parenthesized_expression "(iVar13 < 3)" ( (binary_expression "iVar13 < 3" identifier < number_literal) )) (compound_statement "{\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }" { (if_statement "if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }" if (parenthesized_expression "(iVar13 == 1)" ( (binary_expression "iVar13 == 1" identifier == number_literal) )) (compound_statement "{\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }" { (expression_statement "piVar18 = piVar16 + 1;" (assignment_expression "piVar18 = piVar16 + 1" identifier = (binary_expression "piVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00021154;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }" else (compound_statement "{\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }" { (if_statement "if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }" if (parenthesized_expression "(iVar13 == 3)" ( (binary_expression "iVar13 == 3" identifier == number_literal) )) (compound_statement "{\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }" { (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86114);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86114)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x86114)" * (cast_expression "(code **)(pcVar22 + 0x86114)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x86114)" ( (binary_expression "pcVar22 + 0x86114" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }" else (compound_statement "{\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }" { (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86110);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86110)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x86110)" * (cast_expression "(code **)(pcVar22 + 0x86110)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x86110)" ( (binary_expression "pcVar22 + 0x86110" identifier + number_literal) ))))) ;) (if_statement "if (iVar13 != 4) goto LAB_000211ec;" if (parenthesized_expression "(iVar13 != 4)" ( (binary_expression "iVar13 != 4" identifier != number_literal) )) (goto_statement "goto LAB_000211ec;" goto statement_identifier ;)) }))) (expression_statement "iVar13 = (*pcVar20)(piVar3[2],0);" (assignment_expression "iVar13 = (*pcVar20)(piVar3[2],0)" identifier = (call_expression "(*pcVar20)(piVar3[2],0)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(piVar3[2],0)" ( (subscript_expression "piVar3[2]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "piVar16 = (int *)((int)piVar16 + iVar13);" (assignment_expression "piVar16 = (int *)((int)piVar16 + iVar13)" identifier = (cast_expression "(int *)((int)piVar16 + iVar13)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + iVar13)" ( (binary_expression "(int)piVar16 + iVar13" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })))) (labeled_statement "LAB_000211ec:\n  iVar2 = iVar2 + 1;" statement_identifier : (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;)) (expression_statement "piVar18 = piVar16;" (assignment_expression "piVar18 = piVar16" identifier = identifier) ;) (goto_statement "goto LAB_00021154;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + 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 (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + 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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , (pointer_expression & IDENT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (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) ))) ;) (labeled_statement 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 ( ))) ;)) }))) (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) , (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + 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 (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , (pointer_expression & IDENT) , LIT , LIT ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + 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 (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (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) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != IDENT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + 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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (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) ))) ;) (labeled_statement 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 ( ))) ;)) (labeled_statement 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) , (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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 , 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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + 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 (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (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) ))) ;) (labeled_statement 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 ( ))) ;)) (labeled_statement 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) , (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + 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 (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (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 (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + 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 (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + 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 (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (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 (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + 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 (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + 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 (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (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 , (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) * LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "int * conf_get_str(undefined4 *param_1,int param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int *piVar3;\n  int *piVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  undefined4 uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  undefined4 uVar15;\n  int *piVar16;\n  int iVar17;\n  int *piVar18;\n  int *unaff_s2;\n  int unaff_s4;\n  undefined *puVar19;\n  code *pcVar20;\n  code *pcVar21;\n  code *pcVar22;\n  int iStack_234;\n  undefined4 uStack_230;\n  int *piStack_22c;\n  int *piStack_228;\n  int iStack_224;\n  int iStack_220;\n  code *pcStack_21c;\n  code *pcStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  int iStack_1f0;\n  code *pcStack_1ec;\n  code *pcStack_1d8;\n  int iStack_1cc;\n  int iStack_1c8;\n  int iStack_1c4;\n  int iStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  int iStack_19c;\n  int iStack_198;\n  int iStack_194;\n  undefined4 *puStack_190;\n  code *pcStack_18c;\n  code *pcStack_178;\n  int *piStack_170;\n  int *piStack_16c;\n  int iStack_168;\n  code *pcStack_164;\n  code *pcStack_150;\n  int aiStack_144 [2];\n  int iStack_13c;\n  int *piStack_138;\n  code *pcStack_134;\n  code *pcStack_120;\n  int *apiStack_114 [2];\n  int iStack_10c;\n  int *piStack_108;\n  code *pcStack_104;\n  undefined4 **ppuStack_f0;\n  code *pcStack_e8;\n  int *piStack_e0;\n  int iStack_dc;\n  int iStack_d8;\n  undefined4 *puStack_d4;\n  int iStack_d0;\n  int *piStack_cc;\n  int *piStack_c8;\n  int iStack_9c;\n  int iStack_98;\n  int iStack_94;\n  int *piStack_90;\n  undefined *puStack_44;\n  undefined4 uStack_40;\n  int iStack_3c;\n  undefined *puStack_38;\n  code *pcStack_34;\n  int local_14 [2];\n  int local_c;\n  \n  puVar1 = PTR___stack_chk_guard_000a7ec8;\n  local_c = *(int *)PTR___stack_chk_guard_000a7ec8;\n  if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0) {\n    if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }\n  uVar11 = 0x124;\n  puVar7 = PTR_DAT_000a70f4 + 0x5790;\n  pcVar22 = conf_get_str_str_opt;\n  puVar5 = (undefined4 *)(PTR_DAT_000a70f4 + 0x5814);\n  puVar19 = PTR___assert_fail_000a7840;\n  (*(code *)PTR___assert_fail_000a7840)();\n  puStack_38 = puVar1;\n  piVar18 = *(int **)(puVar19 + 0x87b74);\n  iStack_3c = *piVar18;\n  pcStack_34 = pcVar22;\n  if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2) {\n    if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }\n  }\n  else {\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }\n  pcVar22 = *(code **)(puVar19 + 0x874ec);\n  (*pcVar22)(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8);\n  piVar3 = (int *)conf_get_str_str_opt();\n  if (piVar3 != (int *)0x0) {\n    return piVar3;\n  }\n  iVar12 = 0x13b;\n  pcVar20 = *(code **)(pcVar22 + 0x873f4);\n  piVar16 = (int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994);\n  iVar2 = *(int *)(pcVar22 + 0x86ca8) + 0x5790;\n  puVar5 = (undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858);\n  (*pcVar20)();\n  piVar3 = *(int **)(pcVar20 + 0x87a20);\n  iStack_94 = *piVar3;\n  piStack_90 = piVar18;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }\n    (**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);\n  }\n  piVar18 = (int *)0x145;\n  pcVar21 = *(code **)(pcVar20 + 0x87398);\n  iVar12 = *(int *)(pcVar20 + 0x86c4c) + 0x5790;\n  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834);\n  (*pcVar21)();\n  pcVar22 = pcVar21 + 0x8ea88;\n  piVar16 = *(int **)(pcVar21 + 0x878c0);\n  puStack_d4 = (undefined4 *)*piVar16;\n  pcStack_e8 = pcVar22;\n  iStack_d0 = iVar2;\n  piStack_cc = piVar3;\n  piStack_c8 = unaff_s2;\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2) {\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }\n    piVar8 = &iStack_dc;\n    iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;\n    ppuStack_f0 = &piStack_e0;\n    iStack_dc = iVar12;\n    piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);\n    if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }\n    puVar6 = puStack_d4;\n    piVar3 = piVar18;\n    pcVar22 = pcStack_e8;\n    if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }\n  }\n  else {\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }\n  pcVar20 = *(code **)(pcVar22 + -0x751c);\n  pcVar21 = conf_get_filename;\n  (*pcVar20)();\n  pcVar22 = pcVar20 + 0x8e91c;\n  piVar18 = *(int **)(pcVar20 + 0x87754);\n  iStack_10c = *piVar18;\n  pcStack_120 = pcVar22;\n  piStack_108 = piVar16;\n  pcStack_104 = pcVar21;\n  if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0) {\n    if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_get_fontspec;\n  puVar6 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c);\n  (*pcVar20)(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  pcVar22 = pcVar20 + 0x8e808;\n  piVar16 = *(int **)(pcVar20 + 0x87640);\n  iStack_13c = *piVar16;\n  pcStack_150 = pcVar22;\n  piStack_138 = piVar18;\n  pcStack_134 = pcVar21;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }\n  iVar13 = 0x17c;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_int;\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5884;\n  (*pcVar20)();\n  pcStack_178 = pcVar20 + 0x8e6f4;\n  piStack_170 = piVar16;\n  piStack_16c = piVar3;\n  iStack_168 = iVar12;\n  pcStack_164 = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_178;\n  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }\n  iVar14 = 0x188;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar17 = *(int *)(pcVar22 + -0x7f9c) + 0x5930;\n  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_int_int;\n  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;\n  (*pcVar20)();\n  pcStack_1a8 = pcVar20 + 0x8e608;\n  iStack_19c = iVar2;\n  iStack_198 = iVar13;\n  iStack_194 = iVar9;\n  puStack_190 = puVar5;\n  pcStack_18c = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_1a8;\n  if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1) {\n    if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }\n  uVar11 = 0x193;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_str;\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;\n  (*pcVar20)();\n  pcStack_1d8 = pcVar20 + 0x8e50c;\n  iStack_1cc = iVar17;\n  iStack_1c8 = iVar12;\n  iStack_1c4 = iVar14;\n  iStack_1c0 = iVar10;\n  pcStack_1bc = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_1d8;\n  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }\n  uVar15 = 0x19f;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5900;\n  iVar13 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_str_str;\n  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x5814;\n  (*pcVar20)();\n  pcStack_208 = pcVar20 + 0x8e404;\n  piStack_200 = piVar18;\n  iStack_1fc = iVar2;\n  uStack_1f8 = uVar11;\n  iStack_1f4 = iVar9;\n  iStack_1f0 = unaff_s4;\n  pcStack_1ec = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_208;\n  if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }\n  uVar11 = 0x1ab;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_del_str_str;\n  puVar5 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814);\n  (*pcVar20)();\n  piVar3 = *(int **)(pcVar20 + 0x87114);\n  piStack_22c = (int *)*piVar3;\n  piStack_228 = piVar18;\n  iStack_224 = iVar12;\n  iStack_220 = iVar10;\n  pcStack_21c = pcVar21;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;\n    iStack_234 = iVar2;\n    uStack_230 = uVar11;\n    iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);\n    if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }\n    piVar3 = (int *)*piVar3;\n    if (piStack_22c == piVar3) {\n      return piVar3;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }\n  (**(code **)(pcVar20 + 0x86dc0))();\nLAB_00020ec4:\n  uVar11 = 0x1b8;\n  pcVar22 = *(code **)(pcVar20 + 0x86a8c);\n  iVar12 = *(int *)(pcVar20 + 0x86340) + 0x5790;\n  iVar2 = *(int *)(pcVar20 + 0x86340) + 0x5814;\n  (*pcVar22)();\n  piVar18 = (int *)safemalloc(1,0xc);\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0) {\n    pcVar20 = *(code **)(pcVar22 + 0x86308);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }\n  uVar11 = 0x1c7;\n  pcVar20 = *(code **)(pcVar22 + 0x86958);\n  iVar12 = *(int *)(pcVar22 + 0x8620c) + 0x5790;\n  iVar2 = *(int *)(pcVar22 + 0x8620c) + 0x585c;\n  (*pcVar20)();\n  piVar18 = (int *)safemalloc(1,0xc);\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0) {\n    pcVar22 = *(code **)(pcVar20 + 0x861f8);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }\n  pcVar22 = *(code **)(pcVar20 + 0x86850);\n  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884);\n  (*pcVar22)(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)\n  ;\n  iVar2 = 0;\n  iVar12 = *(int *)(pcVar22 + 0x85ffc);\n  iVar9 = *(int *)(pcVar22 + 0x85ffc);\n  piVar18 = (int *)0x0;\nLAB_00021154:\n  while( true ) {\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }\n  iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n  piVar16 = piVar18 + 2;\n  if (iVar13 == 2) {\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    goto LAB_00021224;\n  }\nLAB_000211bc:\n  if (iVar13 < 3) {\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }\n  else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }\nLAB_000211ec:\n  iVar2 = iVar2 + 1;\n  piVar18 = piVar16;\n  goto LAB_00021154;\n}" (primitive_type "int") (pointer_declarator "* conf_get_str(undefined4 *param_1,int param_2)" (* "*") (function_declarator "conf_get_str(undefined4 *param_1,int param_2)" (identifier "conf_get_str") (parameter_list "(undefined4 *param_1,int param_2)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")")))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int *piVar3;\n  int *piVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  undefined4 uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  undefined4 uVar15;\n  int *piVar16;\n  int iVar17;\n  int *piVar18;\n  int *unaff_s2;\n  int unaff_s4;\n  undefined *puVar19;\n  code *pcVar20;\n  code *pcVar21;\n  code *pcVar22;\n  int iStack_234;\n  undefined4 uStack_230;\n  int *piStack_22c;\n  int *piStack_228;\n  int iStack_224;\n  int iStack_220;\n  code *pcStack_21c;\n  code *pcStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  int iStack_1f0;\n  code *pcStack_1ec;\n  code *pcStack_1d8;\n  int iStack_1cc;\n  int iStack_1c8;\n  int iStack_1c4;\n  int iStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  int iStack_19c;\n  int iStack_198;\n  int iStack_194;\n  undefined4 *puStack_190;\n  code *pcStack_18c;\n  code *pcStack_178;\n  int *piStack_170;\n  int *piStack_16c;\n  int iStack_168;\n  code *pcStack_164;\n  code *pcStack_150;\n  int aiStack_144 [2];\n  int iStack_13c;\n  int *piStack_138;\n  code *pcStack_134;\n  code *pcStack_120;\n  int *apiStack_114 [2];\n  int iStack_10c;\n  int *piStack_108;\n  code *pcStack_104;\n  undefined4 **ppuStack_f0;\n  code *pcStack_e8;\n  int *piStack_e0;\n  int iStack_dc;\n  int iStack_d8;\n  undefined4 *puStack_d4;\n  int iStack_d0;\n  int *piStack_cc;\n  int *piStack_c8;\n  int iStack_9c;\n  int iStack_98;\n  int iStack_94;\n  int *piStack_90;\n  undefined *puStack_44;\n  undefined4 uStack_40;\n  int iStack_3c;\n  undefined *puStack_38;\n  code *pcStack_34;\n  int local_14 [2];\n  int local_c;\n  \n  puVar1 = PTR___stack_chk_guard_000a7ec8;\n  local_c = *(int *)PTR___stack_chk_guard_000a7ec8;\n  if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0) {\n    if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }\n  uVar11 = 0x124;\n  puVar7 = PTR_DAT_000a70f4 + 0x5790;\n  pcVar22 = conf_get_str_str_opt;\n  puVar5 = (undefined4 *)(PTR_DAT_000a70f4 + 0x5814);\n  puVar19 = PTR___assert_fail_000a7840;\n  (*(code *)PTR___assert_fail_000a7840)();\n  puStack_38 = puVar1;\n  piVar18 = *(int **)(puVar19 + 0x87b74);\n  iStack_3c = *piVar18;\n  pcStack_34 = pcVar22;\n  if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2) {\n    if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }\n  }\n  else {\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }\n  pcVar22 = *(code **)(puVar19 + 0x874ec);\n  (*pcVar22)(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8);\n  piVar3 = (int *)conf_get_str_str_opt();\n  if (piVar3 != (int *)0x0) {\n    return piVar3;\n  }\n  iVar12 = 0x13b;\n  pcVar20 = *(code **)(pcVar22 + 0x873f4);\n  piVar16 = (int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994);\n  iVar2 = *(int *)(pcVar22 + 0x86ca8) + 0x5790;\n  puVar5 = (undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858);\n  (*pcVar20)();\n  piVar3 = *(int **)(pcVar20 + 0x87a20);\n  iStack_94 = *piVar3;\n  piStack_90 = piVar18;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }\n    (**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);\n  }\n  piVar18 = (int *)0x145;\n  pcVar21 = *(code **)(pcVar20 + 0x87398);\n  iVar12 = *(int *)(pcVar20 + 0x86c4c) + 0x5790;\n  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834);\n  (*pcVar21)();\n  pcVar22 = pcVar21 + 0x8ea88;\n  piVar16 = *(int **)(pcVar21 + 0x878c0);\n  puStack_d4 = (undefined4 *)*piVar16;\n  pcStack_e8 = pcVar22;\n  iStack_d0 = iVar2;\n  piStack_cc = piVar3;\n  piStack_c8 = unaff_s2;\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2) {\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }\n    piVar8 = &iStack_dc;\n    iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;\n    ppuStack_f0 = &piStack_e0;\n    iStack_dc = iVar12;\n    piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);\n    if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }\n    puVar6 = puStack_d4;\n    piVar3 = piVar18;\n    pcVar22 = pcStack_e8;\n    if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }\n  }\n  else {\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }\n  pcVar20 = *(code **)(pcVar22 + -0x751c);\n  pcVar21 = conf_get_filename;\n  (*pcVar20)();\n  pcVar22 = pcVar20 + 0x8e91c;\n  piVar18 = *(int **)(pcVar20 + 0x87754);\n  iStack_10c = *piVar18;\n  pcStack_120 = pcVar22;\n  piStack_108 = piVar16;\n  pcStack_104 = pcVar21;\n  if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0) {\n    if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_get_fontspec;\n  puVar6 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c);\n  (*pcVar20)(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  pcVar22 = pcVar20 + 0x8e808;\n  piVar16 = *(int **)(pcVar20 + 0x87640);\n  iStack_13c = *piVar16;\n  pcStack_150 = pcVar22;\n  piStack_138 = piVar18;\n  pcStack_134 = pcVar21;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }\n  iVar13 = 0x17c;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_int;\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5884;\n  (*pcVar20)();\n  pcStack_178 = pcVar20 + 0x8e6f4;\n  piStack_170 = piVar16;\n  piStack_16c = piVar3;\n  iStack_168 = iVar12;\n  pcStack_164 = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_178;\n  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }\n  iVar14 = 0x188;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar17 = *(int *)(pcVar22 + -0x7f9c) + 0x5930;\n  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_int_int;\n  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;\n  (*pcVar20)();\n  pcStack_1a8 = pcVar20 + 0x8e608;\n  iStack_19c = iVar2;\n  iStack_198 = iVar13;\n  iStack_194 = iVar9;\n  puStack_190 = puVar5;\n  pcStack_18c = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_1a8;\n  if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1) {\n    if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }\n  uVar11 = 0x193;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_str;\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;\n  (*pcVar20)();\n  pcStack_1d8 = pcVar20 + 0x8e50c;\n  iStack_1cc = iVar17;\n  iStack_1c8 = iVar12;\n  iStack_1c4 = iVar14;\n  iStack_1c0 = iVar10;\n  pcStack_1bc = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_1d8;\n  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }\n  uVar15 = 0x19f;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5900;\n  iVar13 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_set_str_str;\n  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x5814;\n  (*pcVar20)();\n  pcStack_208 = pcVar20 + 0x8e404;\n  piStack_200 = piVar18;\n  iStack_1fc = iVar2;\n  uStack_1f8 = uVar11;\n  iStack_1f4 = iVar9;\n  iStack_1f0 = unaff_s4;\n  pcStack_1ec = pcVar21;\n  piVar18 = (int *)safemalloc(1,0xc);\n  pcVar22 = pcStack_208;\n  if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }\n  uVar11 = 0x1ab;\n  pcVar20 = *(code **)(pcVar22 + -0x7850);\n  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;\n  pcVar21 = conf_del_str_str;\n  puVar5 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814);\n  (*pcVar20)();\n  piVar3 = *(int **)(pcVar20 + 0x87114);\n  piStack_22c = (int *)*piVar3;\n  piStack_228 = piVar18;\n  iStack_224 = iVar12;\n  iStack_220 = iVar10;\n  pcStack_21c = pcVar21;\n  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;\n    iStack_234 = iVar2;\n    uStack_230 = uVar11;\n    iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);\n    if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }\n    piVar3 = (int *)*piVar3;\n    if (piStack_22c == piVar3) {\n      return piVar3;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }\n  (**(code **)(pcVar20 + 0x86dc0))();\nLAB_00020ec4:\n  uVar11 = 0x1b8;\n  pcVar22 = *(code **)(pcVar20 + 0x86a8c);\n  iVar12 = *(int *)(pcVar20 + 0x86340) + 0x5790;\n  iVar2 = *(int *)(pcVar20 + 0x86340) + 0x5814;\n  (*pcVar22)();\n  piVar18 = (int *)safemalloc(1,0xc);\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0) {\n    pcVar20 = *(code **)(pcVar22 + 0x86308);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }\n  uVar11 = 0x1c7;\n  pcVar20 = *(code **)(pcVar22 + 0x86958);\n  iVar12 = *(int *)(pcVar22 + 0x8620c) + 0x5790;\n  iVar2 = *(int *)(pcVar22 + 0x8620c) + 0x585c;\n  (*pcVar20)();\n  piVar18 = (int *)safemalloc(1,0xc);\n  if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0) {\n    pcVar22 = *(code **)(pcVar20 + 0x861f8);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }\n  pcVar22 = *(code **)(pcVar20 + 0x86850);\n  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884);\n  (*pcVar22)(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)\n  ;\n  iVar2 = 0;\n  iVar12 = *(int *)(pcVar22 + 0x85ffc);\n  iVar9 = *(int *)(pcVar22 + 0x85ffc);\n  piVar18 = (int *)0x0;\nLAB_00021154:\n  while( true ) {\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }\n  iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n  piVar16 = piVar18 + 2;\n  if (iVar13 == 2) {\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    goto LAB_00021224;\n  }\nLAB_000211bc:\n  if (iVar13 < 3) {\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }\n  else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }\nLAB_000211ec:\n  iVar2 = iVar2 + 1;\n  piVar18 = piVar16;\n  goto LAB_00021154;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "undefined4 uVar15;" (type_identifier "undefined4") (identifier "uVar15") (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "int *piVar18;" (primitive_type "int") (pointer_declarator "*piVar18" (* "*") (identifier "piVar18")) (; ";")) (declaration "int *unaff_s2;" (primitive_type "int") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2")) (; ";")) (declaration "int unaff_s4;" (primitive_type "int") (identifier "unaff_s4") (; ";")) (declaration "undefined *puVar19;" (type_identifier "undefined") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "code *pcVar20;" (type_identifier "code") (pointer_declarator "*pcVar20" (* "*") (identifier "pcVar20")) (; ";")) (declaration "code *pcVar21;" (type_identifier "code") (pointer_declarator "*pcVar21" (* "*") (identifier "pcVar21")) (; ";")) (declaration "code *pcVar22;" (type_identifier "code") (pointer_declarator "*pcVar22" (* "*") (identifier "pcVar22")) (; ";")) (declaration "int iStack_234;" (primitive_type "int") (identifier "iStack_234") (; ";")) (declaration "undefined4 uStack_230;" (type_identifier "undefined4") (identifier "uStack_230") (; ";")) (declaration "int *piStack_22c;" (primitive_type "int") (pointer_declarator "*piStack_22c" (* "*") (identifier "piStack_22c")) (; ";")) (declaration "int *piStack_228;" (primitive_type "int") (pointer_declarator "*piStack_228" (* "*") (identifier "piStack_228")) (; ";")) (declaration "int iStack_224;" (primitive_type "int") (identifier "iStack_224") (; ";")) (declaration "int iStack_220;" (primitive_type "int") (identifier "iStack_220") (; ";")) (declaration "code *pcStack_21c;" (type_identifier "code") (pointer_declarator "*pcStack_21c" (* "*") (identifier "pcStack_21c")) (; ";")) (declaration "code *pcStack_208;" (type_identifier "code") (pointer_declarator "*pcStack_208" (* "*") (identifier "pcStack_208")) (; ";")) (declaration "int *piStack_200;" (primitive_type "int") (pointer_declarator "*piStack_200" (* "*") (identifier "piStack_200")) (; ";")) (declaration "int iStack_1fc;" (primitive_type "int") (identifier "iStack_1fc") (; ";")) (declaration "undefined4 uStack_1f8;" (type_identifier "undefined4") (identifier "uStack_1f8") (; ";")) (declaration "int iStack_1f4;" (primitive_type "int") (identifier "iStack_1f4") (; ";")) (declaration "int iStack_1f0;" (primitive_type "int") (identifier "iStack_1f0") (; ";")) (declaration "code *pcStack_1ec;" (type_identifier "code") (pointer_declarator "*pcStack_1ec" (* "*") (identifier "pcStack_1ec")) (; ";")) (declaration "code *pcStack_1d8;" (type_identifier "code") (pointer_declarator "*pcStack_1d8" (* "*") (identifier "pcStack_1d8")) (; ";")) (declaration "int iStack_1cc;" (primitive_type "int") (identifier "iStack_1cc") (; ";")) (declaration "int iStack_1c8;" (primitive_type "int") (identifier "iStack_1c8") (; ";")) (declaration "int iStack_1c4;" (primitive_type "int") (identifier "iStack_1c4") (; ";")) (declaration "int iStack_1c0;" (primitive_type "int") (identifier "iStack_1c0") (; ";")) (declaration "code *pcStack_1bc;" (type_identifier "code") (pointer_declarator "*pcStack_1bc" (* "*") (identifier "pcStack_1bc")) (; ";")) (declaration "code *pcStack_1a8;" (type_identifier "code") (pointer_declarator "*pcStack_1a8" (* "*") (identifier "pcStack_1a8")) (; ";")) (declaration "int iStack_19c;" (primitive_type "int") (identifier "iStack_19c") (; ";")) (declaration "int iStack_198;" (primitive_type "int") (identifier "iStack_198") (; ";")) (declaration "int iStack_194;" (primitive_type "int") (identifier "iStack_194") (; ";")) (declaration "undefined4 *puStack_190;" (type_identifier "undefined4") (pointer_declarator "*puStack_190" (* "*") (identifier "puStack_190")) (; ";")) (declaration "code *pcStack_18c;" (type_identifier "code") (pointer_declarator "*pcStack_18c" (* "*") (identifier "pcStack_18c")) (; ";")) (declaration "code *pcStack_178;" (type_identifier "code") (pointer_declarator "*pcStack_178" (* "*") (identifier "pcStack_178")) (; ";")) (declaration "int *piStack_170;" (primitive_type "int") (pointer_declarator "*piStack_170" (* "*") (identifier "piStack_170")) (; ";")) (declaration "int *piStack_16c;" (primitive_type "int") (pointer_declarator "*piStack_16c" (* "*") (identifier "piStack_16c")) (; ";")) (declaration "int iStack_168;" (primitive_type "int") (identifier "iStack_168") (; ";")) (declaration "code *pcStack_164;" (type_identifier "code") (pointer_declarator "*pcStack_164" (* "*") (identifier "pcStack_164")) (; ";")) (declaration "code *pcStack_150;" (type_identifier "code") (pointer_declarator "*pcStack_150" (* "*") (identifier "pcStack_150")) (; ";")) (declaration "int aiStack_144 [2];" (primitive_type "int") (array_declarator "aiStack_144 [2]" (identifier "aiStack_144") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "int iStack_13c;" (primitive_type "int") (identifier "iStack_13c") (; ";")) (declaration "int *piStack_138;" (primitive_type "int") (pointer_declarator "*piStack_138" (* "*") (identifier "piStack_138")) (; ";")) (declaration "code *pcStack_134;" (type_identifier "code") (pointer_declarator "*pcStack_134" (* "*") (identifier "pcStack_134")) (; ";")) (declaration "code *pcStack_120;" (type_identifier "code") (pointer_declarator "*pcStack_120" (* "*") (identifier "pcStack_120")) (; ";")) (declaration "int *apiStack_114 [2];" (primitive_type "int") (pointer_declarator "*apiStack_114 [2]" (* "*") (array_declarator "apiStack_114 [2]" (identifier "apiStack_114") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "int iStack_10c;" (primitive_type "int") (identifier "iStack_10c") (; ";")) (declaration "int *piStack_108;" (primitive_type "int") (pointer_declarator "*piStack_108" (* "*") (identifier "piStack_108")) (; ";")) (declaration "code *pcStack_104;" (type_identifier "code") (pointer_declarator "*pcStack_104" (* "*") (identifier "pcStack_104")) (; ";")) (declaration "undefined4 **ppuStack_f0;" (type_identifier "undefined4") (pointer_declarator "**ppuStack_f0" (* "*") (pointer_declarator "*ppuStack_f0" (* "*") (identifier "ppuStack_f0"))) (; ";")) (declaration "code *pcStack_e8;" (type_identifier "code") (pointer_declarator "*pcStack_e8" (* "*") (identifier "pcStack_e8")) (; ";")) (declaration "int *piStack_e0;" (primitive_type "int") (pointer_declarator "*piStack_e0" (* "*") (identifier "piStack_e0")) (; ";")) (declaration "int iStack_dc;" (primitive_type "int") (identifier "iStack_dc") (; ";")) (declaration "int iStack_d8;" (primitive_type "int") (identifier "iStack_d8") (; ";")) (declaration "undefined4 *puStack_d4;" (type_identifier "undefined4") (pointer_declarator "*puStack_d4" (* "*") (identifier "puStack_d4")) (; ";")) (declaration "int iStack_d0;" (primitive_type "int") (identifier "iStack_d0") (; ";")) (declaration "int *piStack_cc;" (primitive_type "int") (pointer_declarator "*piStack_cc" (* "*") (identifier "piStack_cc")) (; ";")) (declaration "int *piStack_c8;" (primitive_type "int") (pointer_declarator "*piStack_c8" (* "*") (identifier "piStack_c8")) (; ";")) (declaration "int iStack_9c;" (primitive_type "int") (identifier "iStack_9c") (; ";")) (declaration "int iStack_98;" (primitive_type "int") (identifier "iStack_98") (; ";")) (declaration "int iStack_94;" (primitive_type "int") (identifier "iStack_94") (; ";")) (declaration "int *piStack_90;" (primitive_type "int") (pointer_declarator "*piStack_90" (* "*") (identifier "piStack_90")) (; ";")) (declaration "undefined *puStack_44;" (type_identifier "undefined") (pointer_declarator "*puStack_44" (* "*") (identifier "puStack_44")) (; ";")) (declaration "undefined4 uStack_40;" (type_identifier "undefined4") (identifier "uStack_40") (; ";")) (declaration "int iStack_3c;" (primitive_type "int") (identifier "iStack_3c") (; ";")) (declaration "undefined *puStack_38;" (type_identifier "undefined") (pointer_declarator "*puStack_38" (* "*") (identifier "puStack_38")) (; ";")) (declaration "code *pcStack_34;" (type_identifier "code") (pointer_declarator "*pcStack_34" (* "*") (identifier "pcStack_34")) (; ";")) (declaration "int local_14 [2];" (primitive_type "int") (array_declarator "local_14 [2]" (identifier "local_14") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "int local_c;" (primitive_type "int") (identifier "local_c") (; ";")) (expression_statement "puVar1 = PTR___stack_chk_guard_000a7ec8;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000a7ec8" (identifier "puVar1") (= "=") (identifier "PTR___stack_chk_guard_000a7ec8")) (; ";")) (expression_statement "local_c = *(int *)PTR___stack_chk_guard_000a7ec8;" (assignment_expression "local_c = *(int *)PTR___stack_chk_guard_000a7ec8" (identifier "local_c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000a7ec8" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000a7ec8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000a7ec8")))) (; ";")) (if_statement "if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0) {\n    if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }\n  else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }" (if "if") (parenthesized_expression "(*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0)" (( "(") (binary_expression "*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0" (pointer_expression "*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4)" (* "*") (cast_expression "(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4)" (( "(") (binary_expression "PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4" (binary_expression "PTR_DAT_000a70f4 + param_2 * 4" (identifier "PTR_DAT_000a70f4") (+ "+") (binary_expression "param_2 * 4" (identifier "param_2") (* "*") (number_literal "4"))) (+ "+") (number_literal "0x5cd4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }" (if "if") (parenthesized_expression "(*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2)" (( "(") (binary_expression "*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2" (pointer_expression "*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4)" (* "*") (cast_expression "(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4)" (( "(") (binary_expression "PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4" (binary_expression "PTR_DAT_000a70f4 + param_2 * 4" (identifier "PTR_DAT_000a70f4") (+ "+") (binary_expression "param_2 * 4" (identifier "param_2") (* "*") (number_literal "4"))) (+ "+") (number_literal "0x59f4")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      local_14[0] = param_2;\n      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);\n      if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }\n      goto LAB_0002030c;\n    }" ({ "{") (expression_statement "local_14[0] = param_2;" (assignment_expression "local_14[0] = param_2" (subscript_expression "local_14[0]" (identifier "local_14") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "param_2")) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);" (assignment_expression "iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_find234_000a71f8)(*param_1,local_14,0)" (parenthesized_expression "(*(code *)PTR_find234_000a71f8)" (( "(") (pointer_expression "*(code *)PTR_find234_000a71f8" (* "*") (cast_expression "(code *)PTR_find234_000a71f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_find234_000a71f8"))) () ")")) (argument_list "(*param_1,local_14,0)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (identifier "local_14") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020300;\n      }" ({ "{") (if_statement "if (local_c == *(int *)puVar1) {\n          return *(int **)(iVar2 + 8);\n        }" (if "if") (parenthesized_expression "(local_c == *(int *)puVar1)" (( "(") (binary_expression "local_c == *(int *)puVar1" (identifier "local_c") (== "==") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) () ")")) (compound_statement "{\n          return *(int **)(iVar2 + 8);\n        }" ({ "{") (return_statement "return *(int **)(iVar2 + 8);" (return "return") (pointer_expression "*(int **)(iVar2 + 8)" (* "*") (cast_expression "(int **)(iVar2 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")")))) (; ";")) (} "}"))) (goto_statement "goto LAB_00020300;" (goto "goto") (statement_identifier "LAB_00020300") (; ";")) (} "}"))) (goto_statement "goto LAB_0002030c;" (goto "goto") (statement_identifier "LAB_0002030c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }" (else "else") (compound_statement "{\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);\nLAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();\nLAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);\n  }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);" (call_expression "(*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0)" (parenthesized_expression "(*(code *)PTR___assert_fail_000a7840)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_000a7840" (* "*") (cast_expression "(code *)PTR___assert_fail_000a7840" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_000a7840"))) () ")")) (argument_list "(PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0)" (( "(") (binary_expression "PTR_DAT_000a70f4 + 0x57ac" (identifier "PTR_DAT_000a70f4") (+ "+") (number_literal "0x57ac")) (, ",") (binary_expression "PTR_DAT_000a70f4 + 0x5790" (identifier "PTR_DAT_000a70f4") (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x123") (, ",") (binary_expression "PTR_DAT_000a70f4 + 0x59c0" (identifier "PTR_DAT_000a70f4") (+ "+") (number_literal "0x59c0")) () ")"))) (; ";")) (labeled_statement "LAB_00020300:\n    (*(code *)PTR___stack_chk_fail_000a7b74)();" (statement_identifier "LAB_00020300") (: ":") (expression_statement "(*(code *)PTR___stack_chk_fail_000a7b74)();" (call_expression "(*(code *)PTR___stack_chk_fail_000a7b74)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000a7b74)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000a7b74" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000a7b74" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000a7b74"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_0002030c:\n    (*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);" (statement_identifier "LAB_0002030c") (: ":") (expression_statement "(*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);" (call_expression "(*(code *)PTR___assert_fail_000a7840)\n              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0)" (parenthesized_expression "(*(code *)PTR___assert_fail_000a7840)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_000a7840" (* "*") (cast_expression "(code *)PTR___assert_fail_000a7840" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_000a7840"))) () ")")) (argument_list "(PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0)" (( "(") (binary_expression "PTR_DAT_000a70f4 + 0x57a4" (identifier "PTR_DAT_000a70f4") (+ "+") (number_literal "0x57a4")) (, ",") (binary_expression "PTR_DAT_000a70f4 + 0x5790" (identifier "PTR_DAT_000a70f4") (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x127") (, ",") (binary_expression "PTR_DAT_000a70f4 + 0x59c0" (identifier "PTR_DAT_000a70f4") (+ "+") (number_literal "0x59c0")) () ")"))) (; ";"))) (} "}")))) (expression_statement "uVar11 = 0x124;" (assignment_expression "uVar11 = 0x124" (identifier "uVar11") (= "=") (number_literal "0x124")) (; ";")) (expression_statement "puVar7 = PTR_DAT_000a70f4 + 0x5790;" (assignment_expression "puVar7 = PTR_DAT_000a70f4 + 0x5790" (identifier "puVar7") (= "=") (binary_expression "PTR_DAT_000a70f4 + 0x5790" (identifier "PTR_DAT_000a70f4") (+ "+") (number_literal "0x5790"))) (; ";")) (expression_statement "pcVar22 = conf_get_str_str_opt;" (assignment_expression "pcVar22 = conf_get_str_str_opt" (identifier "pcVar22") (= "=") (identifier "conf_get_str_str_opt")) (; ";")) (expression_statement "puVar5 = (undefined4 *)(PTR_DAT_000a70f4 + 0x5814);" (assignment_expression "puVar5 = (undefined4 *)(PTR_DAT_000a70f4 + 0x5814)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)(PTR_DAT_000a70f4 + 0x5814)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000a70f4 + 0x5814)" (( "(") (binary_expression "PTR_DAT_000a70f4 + 0x5814" (identifier "PTR_DAT_000a70f4") (+ "+") (number_literal "0x5814")) () ")")))) (; ";")) (expression_statement "puVar19 = PTR___assert_fail_000a7840;" (assignment_expression "puVar19 = PTR___assert_fail_000a7840" (identifier "puVar19") (= "=") (identifier "PTR___assert_fail_000a7840")) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_000a7840)();" (call_expression "(*(code *)PTR___assert_fail_000a7840)()" (parenthesized_expression "(*(code *)PTR___assert_fail_000a7840)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_000a7840" (* "*") (cast_expression "(code *)PTR___assert_fail_000a7840" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_000a7840"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_38 = puVar1;" (assignment_expression "puStack_38 = puVar1" (identifier "puStack_38") (= "=") (identifier "puVar1")) (; ";")) (expression_statement "piVar18 = *(int **)(puVar19 + 0x87b74);" (assignment_expression "piVar18 = *(int **)(puVar19 + 0x87b74)" (identifier "piVar18") (= "=") (pointer_expression "*(int **)(puVar19 + 0x87b74)" (* "*") (cast_expression "(int **)(puVar19 + 0x87b74)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x87b74)" (( "(") (binary_expression "puVar19 + 0x87b74" (identifier "puVar19") (+ "+") (number_literal "0x87b74")) () ")"))))) (; ";")) (expression_statement "iStack_3c = *piVar18;" (assignment_expression "iStack_3c = *piVar18" (identifier "iStack_3c") (= "=") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) (; ";")) (expression_statement "pcStack_34 = pcVar22;" (assignment_expression "pcStack_34 = pcVar22" (identifier "pcStack_34") (= "=") (identifier "pcVar22")) (; ";")) (if_statement "if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2) {\n    if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }\n  }\n  else {\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }" (if "if") (parenthesized_expression "(*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2)" (( "(") (binary_expression "*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2" (pointer_expression "*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4)" (* "*") (cast_expression "(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4)" (( "(") (binary_expression "(int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4" (binary_expression "(int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0)" (binary_expression "(int)puVar7 * 4" (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7")) (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(puVar19 + 0x86da0)" (* "*") (cast_expression "(int *)(puVar19 + 0x86da0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x86da0)" (( "(") (binary_expression "puVar19 + 0x86da0" (identifier "puVar19") (+ "+") (number_literal "0x86da0")) () ")"))))) (+ "+") (number_literal "0x5cd4")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }\n  }" ({ "{") (if_statement "if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }" (if "if") (parenthesized_expression "(*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2)" (( "(") (binary_expression "*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2" (pointer_expression "*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4)" (* "*") (cast_expression "(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4)" (( "(") (binary_expression "(int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4" (binary_expression "(int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0)" (binary_expression "(int)puVar7 * 4" (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7")) (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(puVar19 + 0x86da0)" (* "*") (cast_expression "(int *)(puVar19 + 0x86da0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x86da0)" (( "(") (binary_expression "puVar19 + 0x86da0" (identifier "puVar19") (+ "+") (number_literal "0x86da0")) () ")"))))) (+ "+") (number_literal "0x59f4")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      puStack_44 = puVar7;\n      uStack_40 = uVar11;\n      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);\n      if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }\n      if (iStack_3c == *piVar18) {\n        return piVar3;\n      }\n      goto LAB_0002041c;\n    }" ({ "{") (expression_statement "puStack_44 = puVar7;" (assignment_expression "puStack_44 = puVar7" (identifier "puStack_44") (= "=") (identifier "puVar7")) (; ";")) (expression_statement "uStack_40 = uVar11;" (assignment_expression "uStack_40 = uVar11" (identifier "uStack_40") (= "=") (identifier "uVar11")) (; ";")) (expression_statement "piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);" (assignment_expression "piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0)" (identifier "piVar3") (= "=") (cast_expression "(int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0)" (parenthesized_expression "(**(code **)(puVar19 + 0x86ea4))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x86ea4)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x86ea4)" (* "*") (cast_expression "(code **)(puVar19 + 0x86ea4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x86ea4)" (( "(") (binary_expression "puVar19 + 0x86ea4" (identifier "puVar19") (+ "+") (number_literal "0x86ea4")) () ")"))))) () ")")) (argument_list "(*puVar5,&puStack_44,0)" (( "(") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (, ",") (pointer_expression "&puStack_44" (& "&") (identifier "puStack_44")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (piVar3 != (int *)0x0) {\n        piVar3 = (int *)piVar3[2];\n      }" (if "if") (parenthesized_expression "(piVar3 != (int *)0x0)" (( "(") (binary_expression "piVar3 != (int *)0x0" (identifier "piVar3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        piVar3 = (int *)piVar3[2];\n      }" ({ "{") (expression_statement "piVar3 = (int *)piVar3[2];" (assignment_expression "piVar3 = (int *)piVar3[2]" (identifier "piVar3") (= "=") (cast_expression "(int *)piVar3[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar3[2]" (identifier "piVar3") ([ "[") (number_literal "2") (] "]")))) (; ";")) (} "}"))) (if_statement "if (iStack_3c == *piVar18) {\n        return piVar3;\n      }" (if "if") (parenthesized_expression "(iStack_3c == *piVar18)" (( "(") (binary_expression "iStack_3c == *piVar18" (identifier "iStack_3c") (== "==") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) () ")")) (compound_statement "{\n        return piVar3;\n      }" ({ "{") (return_statement "return piVar3;" (return "return") (identifier "piVar3") (; ";")) (} "}"))) (goto_statement "goto LAB_0002041c;" (goto "goto") (statement_identifier "LAB_0002041c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }" (else "else") (compound_statement "{\n    (**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);\nLAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();\n  }" ({ "{") (expression_statement "(**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8);" (call_expression "(**(code **)(puVar19 + 0x874ec))\n              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8)" (parenthesized_expression "(**(code **)(puVar19 + 0x874ec))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x874ec)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x874ec)" (* "*") (cast_expression "(code **)(puVar19 + 0x874ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x874ec)" (( "(") (binary_expression "puVar19 + 0x874ec" (identifier "puVar19") (+ "+") (number_literal "0x874ec")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,\n               *(int *)(puVar19 + 0x86da0) + 0x59a8)" (( "(") (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x5834" (pointer_expression "*(int *)(puVar19 + 0x86da0)" (* "*") (cast_expression "(int *)(puVar19 + 0x86da0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x86da0)" (( "(") (binary_expression "puVar19 + 0x86da0" (identifier "puVar19") (+ "+") (number_literal "0x86da0")) () ")")))) (+ "+") (number_literal "0x5834")) (, ",") (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x5790" (pointer_expression "*(int *)(puVar19 + 0x86da0)" (* "*") (cast_expression "(int *)(puVar19 + 0x86da0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x86da0)" (( "(") (binary_expression "puVar19 + 0x86da0" (identifier "puVar19") (+ "+") (number_literal "0x86da0")) () ")")))) (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x130") (, ",") (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x59a8" (pointer_expression "*(int *)(puVar19 + 0x86da0)" (* "*") (cast_expression "(int *)(puVar19 + 0x86da0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x86da0)" (( "(") (binary_expression "puVar19 + 0x86da0" (identifier "puVar19") (+ "+") (number_literal "0x86da0")) () ")")))) (+ "+") (number_literal "0x59a8")) () ")"))) (; ";")) (labeled_statement "LAB_0002041c:\n    (**(code **)(puVar19 + 0x87820))();" (statement_identifier "LAB_0002041c") (: ":") (expression_statement "(**(code **)(puVar19 + 0x87820))();" (call_expression "(**(code **)(puVar19 + 0x87820))()" (parenthesized_expression "(**(code **)(puVar19 + 0x87820))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x87820)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x87820)" (* "*") (cast_expression "(code **)(puVar19 + 0x87820)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x87820)" (( "(") (binary_expression "puVar19 + 0x87820" (identifier "puVar19") (+ "+") (number_literal "0x87820")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}")))) (expression_statement "pcVar22 = *(code **)(puVar19 + 0x874ec);" (assignment_expression "pcVar22 = *(code **)(puVar19 + 0x874ec)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(puVar19 + 0x874ec)" (* "*") (cast_expression "(code **)(puVar19 + 0x874ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x874ec)" (( "(") (binary_expression "puVar19 + 0x874ec" (identifier "puVar19") (+ "+") (number_literal "0x874ec")) () ")"))))) (; ";")) (expression_statement "(*pcVar22)(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8);" (call_expression "(*pcVar22)(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8)" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,\n             *(int *)(puVar19 + 0x86da0) + 0x59a8)" (( "(") (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x5814" (pointer_expression "*(int *)(puVar19 + 0x86da0)" (* "*") (cast_expression "(int *)(puVar19 + 0x86da0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x86da0)" (( "(") (binary_expression "puVar19 + 0x86da0" (identifier "puVar19") (+ "+") (number_literal "0x86da0")) () ")")))) (+ "+") (number_literal "0x5814")) (, ",") (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x5790" (pointer_expression "*(int *)(puVar19 + 0x86da0)" (* "*") (cast_expression "(int *)(puVar19 + 0x86da0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x86da0)" (( "(") (binary_expression "puVar19 + 0x86da0" (identifier "puVar19") (+ "+") (number_literal "0x86da0")) () ")")))) (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x131") (, ",") (binary_expression "*(int *)(puVar19 + 0x86da0) + 0x59a8" (pointer_expression "*(int *)(puVar19 + 0x86da0)" (* "*") (cast_expression "(int *)(puVar19 + 0x86da0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x86da0)" (( "(") (binary_expression "puVar19 + 0x86da0" (identifier "puVar19") (+ "+") (number_literal "0x86da0")) () ")")))) (+ "+") (number_literal "0x59a8")) () ")"))) (; ";")) (expression_statement "piVar3 = (int *)conf_get_str_str_opt();" (assignment_expression "piVar3 = (int *)conf_get_str_str_opt()" (identifier "piVar3") (= "=") (cast_expression "(int *)conf_get_str_str_opt()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "conf_get_str_str_opt()" (identifier "conf_get_str_str_opt") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (piVar3 != (int *)0x0) {\n    return piVar3;\n  }" (if "if") (parenthesized_expression "(piVar3 != (int *)0x0)" (( "(") (binary_expression "piVar3 != (int *)0x0" (identifier "piVar3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    return piVar3;\n  }" ({ "{") (return_statement "return piVar3;" (return "return") (identifier "piVar3") (; ";")) (} "}"))) (expression_statement "iVar12 = 0x13b;" (assignment_expression "iVar12 = 0x13b" (identifier "iVar12") (= "=") (number_literal "0x13b")) (; ";")) (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x873f4);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x873f4)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar22 + 0x873f4)" (* "*") (cast_expression "(code **)(pcVar22 + 0x873f4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x873f4)" (( "(") (binary_expression "pcVar22 + 0x873f4" (identifier "pcVar22") (+ "+") (number_literal "0x873f4")) () ")"))))) (; ";")) (expression_statement "piVar16 = (int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994);" (assignment_expression "piVar16 = (int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994)" (identifier "piVar16") (= "=") (cast_expression "(int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x86ca8) + 0x5994)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x86ca8) + 0x5994" (pointer_expression "*(int *)(pcVar22 + 0x86ca8)" (* "*") (cast_expression "(int *)(pcVar22 + 0x86ca8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x86ca8)" (( "(") (binary_expression "pcVar22 + 0x86ca8" (identifier "pcVar22") (+ "+") (number_literal "0x86ca8")) () ")")))) (+ "+") (number_literal "0x5994")) () ")")))) (; ";")) (expression_statement "iVar2 = *(int *)(pcVar22 + 0x86ca8) + 0x5790;" (assignment_expression "iVar2 = *(int *)(pcVar22 + 0x86ca8) + 0x5790" (identifier "iVar2") (= "=") (binary_expression "*(int *)(pcVar22 + 0x86ca8) + 0x5790" (pointer_expression "*(int *)(pcVar22 + 0x86ca8)" (* "*") (cast_expression "(int *)(pcVar22 + 0x86ca8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x86ca8)" (( "(") (binary_expression "pcVar22 + 0x86ca8" (identifier "pcVar22") (+ "+") (number_literal "0x86ca8")) () ")")))) (+ "+") (number_literal "0x5790"))) (; ";")) (expression_statement "puVar5 = (undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858);" (assignment_expression "puVar5 = (undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x86ca8) + 0x5858)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x86ca8) + 0x5858" (pointer_expression "*(int *)(pcVar22 + 0x86ca8)" (* "*") (cast_expression "(int *)(pcVar22 + 0x86ca8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x86ca8)" (( "(") (binary_expression "pcVar22 + 0x86ca8" (identifier "pcVar22") (+ "+") (number_literal "0x86ca8")) () ")")))) (+ "+") (number_literal "0x5858")) () ")")))) (; ";")) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar3 = *(int **)(pcVar20 + 0x87a20);" (assignment_expression "piVar3 = *(int **)(pcVar20 + 0x87a20)" (identifier "piVar3") (= "=") (pointer_expression "*(int **)(pcVar20 + 0x87a20)" (* "*") (cast_expression "(int **)(pcVar20 + 0x87a20)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x87a20)" (( "(") (binary_expression "pcVar20 + 0x87a20" (identifier "pcVar20") (+ "+") (number_literal "0x87a20")) () ")"))))) (; ";")) (expression_statement "iStack_94 = *piVar3;" (assignment_expression "iStack_94 = *piVar3" (identifier "iStack_94") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (expression_statement "piStack_90 = piVar18;" (assignment_expression "piStack_90 = piVar18" (identifier "piStack_90") (= "=") (identifier "piVar18")) (; ";")) (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }\n    (**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2)" (( "(") (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4)" (* "*") (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4)" (( "(") (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c)" (binary_expression "iVar2 * 4" (identifier "iVar2") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86c4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86c4c)" (( "(") (binary_expression "pcVar20 + 0x86c4c" (identifier "pcVar20") (+ "+") (number_literal "0x86c4c")) () ")"))))) (+ "+") (number_literal "0x5cd4")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }\n    (**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);\n  }" ({ "{") (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2)" (( "(") (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4)" (* "*") (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4)" (( "(") (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c)" (binary_expression "iVar2 * 4" (identifier "iVar2") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86c4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86c4c)" (( "(") (binary_expression "pcVar20 + 0x86c4c" (identifier "pcVar20") (+ "+") (number_literal "0x86c4c")) () ")"))))) (+ "+") (number_literal "0x59f4")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      iStack_9c = iVar2;\n      if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }\n      if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }\n      if (iStack_94 == *piVar3) {\n        return piVar18;\n      }\n      (**(code **)(pcVar20 + 0x876cc))();\n      unaff_s2 = piVar16;\n    }" ({ "{") (expression_statement "iStack_9c = iVar2;" (assignment_expression "iStack_9c = iVar2" (identifier "iStack_9c") (= "=") (identifier "iVar2")) (; ";")) (if_statement "if (iVar12 == 0) {\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }\n      else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);\n      }" ({ "{") (expression_statement "iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;" (assignment_expression "iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508" (identifier "iStack_98") (= "=") (binary_expression "*(int *)(pcVar20 + 0x86c30) + -0x7508" (pointer_expression "*(int *)(pcVar20 + 0x86c30)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86c30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86c30)" (( "(") (binary_expression "pcVar20 + 0x86c30" (identifier "pcVar20") (+ "+") (number_literal "0x86c30")) () ")")))) (+ "+") (number_literal "-0x7508"))) (; ";")) (expression_statement "piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);" (assignment_expression "piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4)" (identifier "piVar18") (= "=") (cast_expression "(int *)(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar20 + 0x86d58))\n                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86d58))" (( "(") (pointer_expression "**(code **)(pcVar20 + 0x86d58)" (* "*") (pointer_expression "*(code **)(pcVar20 + 0x86d58)" (* "*") (cast_expression "(code **)(pcVar20 + 0x86d58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x86d58)" (( "(") (binary_expression "pcVar20 + 0x86d58" (identifier "pcVar20") (+ "+") (number_literal "0x86d58")) () ")"))))) () ")")) (argument_list "(*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4)" (( "(") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (, ",") (pointer_expression "&iStack_9c" (& "&") (identifier "iStack_9c")) (, ",") (binary_expression "*(int *)(pcVar20 + 0x86c20) + -0x5ac" (pointer_expression "*(int *)(pcVar20 + 0x86c20)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86c20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86c20)" (( "(") (binary_expression "pcVar20 + 0x86c20" (identifier "pcVar20") (+ "+") (number_literal "0x86c20")) () ")")))) (+ "+") (number_literal "-0x5ac")) (, ",") (number_literal "4") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }" (else "else") (compound_statement "{\n        iStack_98 = iVar12;\n        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);\n      }" ({ "{") (expression_statement "iStack_98 = iVar12;" (assignment_expression "iStack_98 = iVar12" (identifier "iStack_98") (= "=") (identifier "iVar12")) (; ";")) (expression_statement "piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);" (assignment_expression "piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3)" (identifier "piVar18") (= "=") (cast_expression "(int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86d58))" (( "(") (pointer_expression "**(code **)(pcVar20 + 0x86d58)" (* "*") (pointer_expression "*(code **)(pcVar20 + 0x86d58)" (* "*") (cast_expression "(code **)(pcVar20 + 0x86d58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x86d58)" (( "(") (binary_expression "pcVar20 + 0x86d58" (identifier "pcVar20") (+ "+") (number_literal "0x86d58")) () ")"))))) () ")")) (argument_list "(*puVar5,&iStack_9c,0,3)" (( "(") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (, ",") (pointer_expression "&iStack_9c" (& "&") (identifier "iStack_9c")) (, ",") (number_literal "0") (, ",") (number_literal "3") () ")"))))) (; ";")) (} "}")))) (if_statement "if (piVar18 != (int *)0x0) {\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }" (if "if") (parenthesized_expression "(piVar18 != (int *)0x0)" (( "(") (binary_expression "piVar18 != (int *)0x0" (identifier "piVar18") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }\n      }" ({ "{") (if_statement "if (*piVar18 == iVar2) {\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }\n        else {\n          piVar18 = (int *)0x0;\n        }" (if "if") (parenthesized_expression "(*piVar18 == iVar2)" (( "(") (binary_expression "*piVar18 == iVar2" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (== "==") (identifier "iVar2")) () ")")) (compound_statement "{\n          *piVar16 = piVar18[1];\n          piVar18 = (int *)piVar18[2];\n        }" ({ "{") (expression_statement "*piVar16 = piVar18[1];" (assignment_expression "*piVar16 = piVar18[1]" (pointer_expression "*piVar16" (* "*") (identifier "piVar16")) (= "=") (subscript_expression "piVar18[1]" (identifier "piVar18") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar18 = (int *)piVar18[2];" (assignment_expression "piVar18 = (int *)piVar18[2]" (identifier "piVar18") (= "=") (cast_expression "(int *)piVar18[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n          piVar18 = (int *)0x0;\n        }" (else "else") (compound_statement "{\n          piVar18 = (int *)0x0;\n        }" ({ "{") (expression_statement "piVar18 = (int *)0x0;" (assignment_expression "piVar18 = (int *)0x0" (identifier "piVar18") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (} "}"))) (if_statement "if (iStack_94 == *piVar3) {\n        return piVar18;\n      }" (if "if") (parenthesized_expression "(iStack_94 == *piVar3)" (( "(") (binary_expression "iStack_94 == *piVar3" (identifier "iStack_94") (== "==") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) () ")")) (compound_statement "{\n        return piVar18;\n      }" ({ "{") (return_statement "return piVar18;" (return "return") (identifier "piVar18") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar20 + 0x876cc))();" (call_expression "(**(code **)(pcVar20 + 0x876cc))()" (parenthesized_expression "(**(code **)(pcVar20 + 0x876cc))" (( "(") (pointer_expression "**(code **)(pcVar20 + 0x876cc)" (* "*") (pointer_expression "*(code **)(pcVar20 + 0x876cc)" (* "*") (cast_expression "(code **)(pcVar20 + 0x876cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x876cc)" (( "(") (binary_expression "pcVar20 + 0x876cc" (identifier "pcVar20") (+ "+") (number_literal "0x876cc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "unaff_s2 = piVar16;" (assignment_expression "unaff_s2 = piVar16" (identifier "unaff_s2") (= "=") (identifier "piVar16")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980);" (call_expression "(**(code **)(pcVar20 + 0x87398))\n              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980)" (parenthesized_expression "(**(code **)(pcVar20 + 0x87398))" (( "(") (pointer_expression "**(code **)(pcVar20 + 0x87398)" (* "*") (pointer_expression "*(code **)(pcVar20 + 0x87398)" (* "*") (cast_expression "(code **)(pcVar20 + 0x87398)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x87398)" (( "(") (binary_expression "pcVar20 + 0x87398" (identifier "pcVar20") (+ "+") (number_literal "0x87398")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,\n               *(int *)(pcVar20 + 0x86c4c) + 0x5980)" (( "(") (binary_expression "*(int *)(pcVar20 + 0x86c4c) + 0x5814" (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86c4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86c4c)" (( "(") (binary_expression "pcVar20 + 0x86c4c" (identifier "pcVar20") (+ "+") (number_literal "0x86c4c")) () ")")))) (+ "+") (number_literal "0x5814")) (, ",") (binary_expression "*(int *)(pcVar20 + 0x86c4c) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86c4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86c4c)" (( "(") (binary_expression "pcVar20 + 0x86c4c" (identifier "pcVar20") (+ "+") (number_literal "0x86c4c")) () ")")))) (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x146") (, ",") (binary_expression "*(int *)(pcVar20 + 0x86c4c) + 0x5980" (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86c4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86c4c)" (( "(") (binary_expression "pcVar20 + 0x86c4c" (identifier "pcVar20") (+ "+") (number_literal "0x86c4c")) () ")")))) (+ "+") (number_literal "0x5980")) () ")"))) (; ";")) (} "}"))) (expression_statement "piVar18 = (int *)0x145;" (assignment_expression "piVar18 = (int *)0x145" (identifier "piVar18") (= "=") (cast_expression "(int *)0x145" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x145"))) (; ";")) (expression_statement "pcVar21 = *(code **)(pcVar20 + 0x87398);" (assignment_expression "pcVar21 = *(code **)(pcVar20 + 0x87398)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(pcVar20 + 0x87398)" (* "*") (cast_expression "(code **)(pcVar20 + 0x87398)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x87398)" (( "(") (binary_expression "pcVar20 + 0x87398" (identifier "pcVar20") (+ "+") (number_literal "0x87398")) () ")"))))) (; ";")) (expression_statement "iVar12 = *(int *)(pcVar20 + 0x86c4c) + 0x5790;" (assignment_expression "iVar12 = *(int *)(pcVar20 + 0x86c4c) + 0x5790" (identifier "iVar12") (= "=") (binary_expression "*(int *)(pcVar20 + 0x86c4c) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86c4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86c4c)" (( "(") (binary_expression "pcVar20 + 0x86c4c" (identifier "pcVar20") (+ "+") (number_literal "0x86c4c")) () ")")))) (+ "+") (number_literal "0x5790"))) (; ";")) (expression_statement "puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834);" (assignment_expression "puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar20 + 0x86c4c) + 0x5834)" (( "(") (binary_expression "*(int *)(pcVar20 + 0x86c4c) + 0x5834" (pointer_expression "*(int *)(pcVar20 + 0x86c4c)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86c4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86c4c)" (( "(") (binary_expression "pcVar20 + 0x86c4c" (identifier "pcVar20") (+ "+") (number_literal "0x86c4c")) () ")")))) (+ "+") (number_literal "0x5834")) () ")")))) (; ";")) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" (( "(") (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar22 = pcVar21 + 0x8ea88;" (assignment_expression "pcVar22 = pcVar21 + 0x8ea88" (identifier "pcVar22") (= "=") (binary_expression "pcVar21 + 0x8ea88" (identifier "pcVar21") (+ "+") (number_literal "0x8ea88"))) (; ";")) (expression_statement "piVar16 = *(int **)(pcVar21 + 0x878c0);" (assignment_expression "piVar16 = *(int **)(pcVar21 + 0x878c0)" (identifier "piVar16") (= "=") (pointer_expression "*(int **)(pcVar21 + 0x878c0)" (* "*") (cast_expression "(int **)(pcVar21 + 0x878c0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x878c0)" (( "(") (binary_expression "pcVar21 + 0x878c0" (identifier "pcVar21") (+ "+") (number_literal "0x878c0")) () ")"))))) (; ";")) (expression_statement "puStack_d4 = (undefined4 *)*piVar16;" (assignment_expression "puStack_d4 = (undefined4 *)*piVar16" (identifier "puStack_d4") (= "=") (cast_expression "(undefined4 *)*piVar16" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar16" (* "*") (identifier "piVar16")))) (; ";")) (expression_statement "pcStack_e8 = pcVar22;" (assignment_expression "pcStack_e8 = pcVar22" (identifier "pcStack_e8") (= "=") (identifier "pcVar22")) (; ";")) (expression_statement "iStack_d0 = iVar2;" (assignment_expression "iStack_d0 = iVar2" (identifier "iStack_d0") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "piStack_cc = piVar3;" (assignment_expression "piStack_cc = piVar3" (identifier "piStack_cc") (= "=") (identifier "piVar3")) (; ";")) (expression_statement "piStack_c8 = unaff_s2;" (assignment_expression "piStack_c8 = unaff_s2" (identifier "piStack_c8") (= "=") (identifier "unaff_s2")) (; ";")) (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2) {\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }\n    piVar8 = &iStack_dc;\n    iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;\n    ppuStack_f0 = &piStack_e0;\n    iStack_dc = iVar12;\n    piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);\n    if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }\n    puVar6 = puStack_d4;\n    piVar3 = piVar18;\n    pcVar22 = pcStack_e8;\n    if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }\n  }\n  else {\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2)" (( "(") (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4)" (* "*") (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4)" (( "(") (binary_expression "iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4" (binary_expression "iVar12 * 4 + *(int *)(pcVar21 + 0x86aec)" (binary_expression "iVar12 * 4" (identifier "iVar12") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcVar21 + 0x86aec)" (* "*") (cast_expression "(int *)(pcVar21 + 0x86aec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x86aec)" (( "(") (binary_expression "pcVar21 + 0x86aec" (identifier "pcVar21") (+ "+") (number_literal "0x86aec")) () ")"))))) (+ "+") (number_literal "0x5cd4")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }\n    piVar8 = &iStack_dc;\n    iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;\n    ppuStack_f0 = &piStack_e0;\n    iStack_dc = iVar12;\n    piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);\n    if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }\n    puVar6 = puStack_d4;\n    piVar3 = piVar18;\n    pcVar22 = pcStack_e8;\n    if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2)" (( "(") (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4)" (* "*") (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4)" (( "(") (binary_expression "iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4" (binary_expression "iVar12 * 4 + *(int *)(pcVar21 + 0x86aec)" (binary_expression "iVar12 * 4" (identifier "iVar12") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcVar21 + 0x86aec)" (* "*") (cast_expression "(int *)(pcVar21 + 0x86aec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x86aec)" (( "(") (binary_expression "pcVar21 + 0x86aec" (identifier "pcVar21") (+ "+") (number_literal "0x86aec")) () ")"))))) (+ "+") (number_literal "0x59f4")) () ")")))) (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n      (**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);\n      goto LAB_00020744;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968);" (call_expression "(**(code **)(pcVar21 + 0x87238))\n                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968)" (parenthesized_expression "(**(code **)(pcVar21 + 0x87238))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x87238)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x87238)" (* "*") (cast_expression "(code **)(pcVar21 + 0x87238)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x87238)" (( "(") (binary_expression "pcVar21 + 0x87238" (identifier "pcVar21") (+ "+") (number_literal "0x87238")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,\n                 *(int *)(pcVar21 + 0x86aec) + 0x5968)" (( "(") (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5814" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" (* "*") (cast_expression "(int *)(pcVar21 + 0x86aec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x86aec)" (( "(") (binary_expression "pcVar21 + 0x86aec" (identifier "pcVar21") (+ "+") (number_literal "0x86aec")) () ")")))) (+ "+") (number_literal "0x5814")) (, ",") (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5790" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" (* "*") (cast_expression "(int *)(pcVar21 + 0x86aec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x86aec)" (( "(") (binary_expression "pcVar21 + 0x86aec" (identifier "pcVar21") (+ "+") (number_literal "0x86aec")) () ")")))) (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x15c") (, ",") (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5968" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" (* "*") (cast_expression "(int *)(pcVar21 + 0x86aec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x86aec)" (( "(") (binary_expression "pcVar21 + 0x86aec" (identifier "pcVar21") (+ "+") (number_literal "0x86aec")) () ")")))) (+ "+") (number_literal "0x5968")) () ")"))) (; ";")) (goto_statement "goto LAB_00020744;" (goto "goto") (statement_identifier "LAB_00020744") (; ";")) (} "}"))) (expression_statement "piVar8 = &iStack_dc;" (assignment_expression "piVar8 = &iStack_dc" (identifier "piVar8") (= "=") (pointer_expression "&iStack_dc" (& "&") (identifier "iStack_dc"))) (; ";")) (expression_statement "iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;" (assignment_expression "iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508" (identifier "iStack_d8") (= "=") (binary_expression "*(int *)(pcVar21 + 0x86ad0) + -0x7508" (pointer_expression "*(int *)(pcVar21 + 0x86ad0)" (* "*") (cast_expression "(int *)(pcVar21 + 0x86ad0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x86ad0)" (( "(") (binary_expression "pcVar21 + 0x86ad0" (identifier "pcVar21") (+ "+") (number_literal "0x86ad0")) () ")")))) (+ "+") (number_literal "-0x7508"))) (; ";")) (expression_statement "ppuStack_f0 = &piStack_e0;" (assignment_expression "ppuStack_f0 = &piStack_e0" (identifier "ppuStack_f0") (= "=") (pointer_expression "&piStack_e0" (& "&") (identifier "piStack_e0"))) (; ";")) (expression_statement "iStack_dc = iVar12;" (assignment_expression "iStack_dc = iVar12" (identifier "iStack_dc") (= "=") (identifier "iVar12")) (; ";")) (expression_statement "piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);" (assignment_expression "piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4)" (identifier "piVar3") (= "=") (cast_expression "(int *)(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar21 + 0x86bfc))\n                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x86bfc))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x86bfc)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x86bfc)" (* "*") (cast_expression "(code **)(pcVar21 + 0x86bfc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x86bfc)" (( "(") (binary_expression "pcVar21 + 0x86bfc" (identifier "pcVar21") (+ "+") (number_literal "0x86bfc")) () ")"))))) () ")")) (argument_list "(*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4)" (( "(") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (, ",") (identifier "piVar8") (, ",") (binary_expression "*(int *)(pcVar21 + 0x86ac0) + -0x5ac" (pointer_expression "*(int *)(pcVar21 + 0x86ac0)" (* "*") (cast_expression "(int *)(pcVar21 + 0x86ac0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x86ac0)" (( "(") (binary_expression "pcVar21 + 0x86ac0" (identifier "pcVar21") (+ "+") (number_literal "0x86ac0")) () ")")))) (+ "+") (number_literal "-0x5ac")) (, ",") (number_literal "4") () ")"))))) (; ";")) (if_statement "if (piVar3 == (int *)0x0) {\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }\n    else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }" (if "if") (parenthesized_expression "(piVar3 == (int *)0x0)" (( "(") (binary_expression "piVar3 == (int *)0x0" (identifier "piVar3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000206f0:\n      piVar4 = (int *)0x0;\n    }" ({ "{") (labeled_statement "LAB_000206f0:\n      piVar4 = (int *)0x0;" (statement_identifier "LAB_000206f0") (: ":") (expression_statement "piVar4 = (int *)0x0;" (assignment_expression "piVar4 = (int *)0x0" (identifier "piVar4") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (} "}")) (else_clause "else {\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }" (else "else") (compound_statement "{\n      unaff_s4 = *piVar3;\n      piVar8 = piStack_e0;\n      if (unaff_s4 != iVar12) goto LAB_000206f0;\n      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);\n      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);\n      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;\n      piVar4 = (int *)piVar3[1];\n    }" ({ "{") (expression_statement "unaff_s4 = *piVar3;" (assignment_expression "unaff_s4 = *piVar3" (identifier "unaff_s4") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (expression_statement "piVar8 = piStack_e0;" (assignment_expression "piVar8 = piStack_e0" (identifier "piVar8") (= "=") (identifier "piStack_e0")) (; ";")) (if_statement "if (unaff_s4 != iVar12) goto LAB_000206f0;" (if "if") (parenthesized_expression "(unaff_s4 != iVar12)" (( "(") (binary_expression "unaff_s4 != iVar12" (identifier "unaff_s4") (!= "!=") (identifier "iVar12")) () ")")) (goto_statement "goto LAB_000206f0;" (goto "goto") (statement_identifier "LAB_000206f0") (; ";"))) (expression_statement "piVar8 = (int *)((int)piVar18 + (int)piStack_e0);" (assignment_expression "piVar8 = (int *)((int)piVar18 + (int)piStack_e0)" (identifier "piVar8") (= "=") (cast_expression "(int *)((int)piVar18 + (int)piStack_e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + (int)piStack_e0)" (( "(") (binary_expression "(int)piVar18 + (int)piStack_e0" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (cast_expression "(int)piStack_e0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piStack_e0"))) () ")")))) (; ";")) (expression_statement "piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);" (assignment_expression "piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5)" (identifier "piVar3") (= "=") (cast_expression "(int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5)" (parenthesized_expression "(**(code **)(pcStack_e8 + -0x7ea4))" (( "(") (pointer_expression "**(code **)(pcStack_e8 + -0x7ea4)" (* "*") (pointer_expression "*(code **)(pcStack_e8 + -0x7ea4)" (* "*") (cast_expression "(code **)(pcStack_e8 + -0x7ea4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_e8 + -0x7ea4)" (( "(") (binary_expression "pcStack_e8 + -0x7ea4" (identifier "pcStack_e8") (+ "+") (number_literal "-0x7ea4")) () ")"))))) () ")")) (argument_list "(*puVar5)" (( "(") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) () ")"))))) (; ";")) (if_statement "if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;" (if "if") (parenthesized_expression "((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4))" (( "(") (binary_expression "(piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)" (parenthesized_expression "(piVar3 == (int *)0x0)" (( "(") (binary_expression "piVar3 == (int *)0x0" (identifier "piVar3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*piVar3 != unaff_s4)" (( "(") (binary_expression "*piVar3 != unaff_s4" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (!= "!=") (identifier "unaff_s4")) () ")"))) () ")")) (goto_statement "goto LAB_000206f0;" (goto "goto") (statement_identifier "LAB_000206f0") (; ";"))) (expression_statement "piVar4 = (int *)piVar3[1];" (assignment_expression "piVar4 = (int *)piVar3[1]" (identifier "piVar4") (= "=") (cast_expression "(int *)piVar3[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar3[1]" (identifier "piVar3") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}")))) (expression_statement "puVar6 = puStack_d4;" (assignment_expression "puVar6 = puStack_d4" (identifier "puVar6") (= "=") (identifier "puStack_d4")) (; ";")) (expression_statement "piVar3 = piVar18;" (assignment_expression "piVar3 = piVar18" (identifier "piVar3") (= "=") (identifier "piVar18")) (; ";")) (expression_statement "pcVar22 = pcStack_e8;" (assignment_expression "pcVar22 = pcStack_e8" (identifier "pcVar22") (= "=") (identifier "pcStack_e8")) (; ";")) (if_statement "if (puStack_d4 == (undefined4 *)*piVar16) {\n      return piVar4;\n    }" (if "if") (parenthesized_expression "(puStack_d4 == (undefined4 *)*piVar16)" (( "(") (binary_expression "puStack_d4 == (undefined4 *)*piVar16" (identifier "puStack_d4") (== "==") (cast_expression "(undefined4 *)*piVar16" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar16" (* "*") (identifier "piVar16")))) () ")")) (compound_statement "{\n      return piVar4;\n    }" ({ "{") (return_statement "return piVar4;" (return "return") (identifier "piVar4") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }" (else "else") (compound_statement "{\nLAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);\n    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);\n    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);\n  }" ({ "{") (labeled_statement "LAB_00020744:\n    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);" (statement_identifier "LAB_00020744") (: ":") (expression_statement "piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);" (assignment_expression "piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790)" (identifier "piVar8") (= "=") (cast_expression "(int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar21 + 0x86aec) + 0x5790)" (( "(") (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5790" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" (* "*") (cast_expression "(int *)(pcVar21 + 0x86aec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x86aec)" (( "(") (binary_expression "pcVar21 + 0x86aec" (identifier "pcVar21") (+ "+") (number_literal "0x86aec")) () ")")))) (+ "+") (number_literal "0x5790")) () ")")))) (; ";"))) (expression_statement "puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);" (assignment_expression "puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar21 + 0x86aec) + 0x5834)" (( "(") (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5834" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" (* "*") (cast_expression "(int *)(pcVar21 + 0x86aec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x86aec)" (( "(") (binary_expression "pcVar21 + 0x86aec" (identifier "pcVar21") (+ "+") (number_literal "0x86aec")) () ")")))) (+ "+") (number_literal "0x5834")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);" (call_expression "(**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968)" (parenthesized_expression "(**(code **)(pcVar21 + 0x87238))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x87238)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x87238)" (* "*") (cast_expression "(code **)(pcVar21 + 0x87238)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x87238)" (( "(") (binary_expression "pcVar21 + 0x87238" (identifier "pcVar21") (+ "+") (number_literal "0x87238")) () ")"))))) () ")")) (argument_list "(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968)" (( "(") (identifier "puVar6") (, ",") (identifier "piVar8") (, ",") (number_literal "0x15b") (, ",") (binary_expression "*(int *)(pcVar21 + 0x86aec) + 0x5968" (pointer_expression "*(int *)(pcVar21 + 0x86aec)" (* "*") (cast_expression "(int *)(pcVar21 + 0x86aec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x86aec)" (( "(") (binary_expression "pcVar21 + 0x86aec" (identifier "pcVar21") (+ "+") (number_literal "0x86aec")) () ")")))) (+ "+") (number_literal "0x5968")) () ")"))) (; ";")) (} "}")))) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x751c);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x751c)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar22 + -0x751c)" (* "*") (cast_expression "(code **)(pcVar22 + -0x751c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + -0x751c)" (( "(") (binary_expression "pcVar22 + -0x751c" (identifier "pcVar22") (+ "+") (number_literal "-0x751c")) () ")"))))) (; ";")) (expression_statement "pcVar21 = conf_get_filename;" (assignment_expression "pcVar21 = conf_get_filename" (identifier "pcVar21") (= "=") (identifier "conf_get_filename")) (; ";")) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar22 = pcVar20 + 0x8e91c;" (assignment_expression "pcVar22 = pcVar20 + 0x8e91c" (identifier "pcVar22") (= "=") (binary_expression "pcVar20 + 0x8e91c" (identifier "pcVar20") (+ "+") (number_literal "0x8e91c"))) (; ";")) (expression_statement "piVar18 = *(int **)(pcVar20 + 0x87754);" (assignment_expression "piVar18 = *(int **)(pcVar20 + 0x87754)" (identifier "piVar18") (= "=") (pointer_expression "*(int **)(pcVar20 + 0x87754)" (* "*") (cast_expression "(int **)(pcVar20 + 0x87754)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x87754)" (( "(") (binary_expression "pcVar20 + 0x87754" (identifier "pcVar20") (+ "+") (number_literal "0x87754")) () ")"))))) (; ";")) (expression_statement "iStack_10c = *piVar18;" (assignment_expression "iStack_10c = *piVar18" (identifier "iStack_10c") (= "=") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) (; ";")) (expression_statement "pcStack_120 = pcVar22;" (assignment_expression "pcStack_120 = pcVar22" (identifier "pcStack_120") (= "=") (identifier "pcVar22")) (; ";")) (expression_statement "piStack_108 = piVar16;" (assignment_expression "piStack_108 = piVar16" (identifier "piStack_108") (= "=") (identifier "piVar16")) (; ";")) (expression_statement "pcStack_104 = pcVar21;" (assignment_expression "pcStack_104 = pcVar21" (identifier "pcStack_104") (= "=") (identifier "pcVar21")) (; ";")) (if_statement "if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0) {\n    if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }" (if "if") (parenthesized_expression "(*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0)" (( "(") (binary_expression "*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0" (pointer_expression "*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4)" (* "*") (cast_expression "(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4)" (( "(") (binary_expression "(int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4" (binary_expression "(int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980)" (binary_expression "(int)piVar8 * 4" (cast_expression "(int)piVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar8")) (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcVar20 + 0x86980)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86980)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86980)" (( "(") (binary_expression "pcVar20 + 0x86980" (identifier "pcVar20") (+ "+") (number_literal "0x86980")) () ")"))))) (+ "+") (number_literal "0x5cd4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }\n  }" ({ "{") (if_statement "if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }" (if "if") (parenthesized_expression "(*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3)" (( "(") (binary_expression "*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3" (pointer_expression "*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4)" (* "*") (cast_expression "(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4)" (( "(") (binary_expression "(int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4" (binary_expression "(int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980)" (binary_expression "(int)piVar8 * 4" (cast_expression "(int)piVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar8")) (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcVar20 + 0x86980)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86980)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86980)" (( "(") (binary_expression "pcVar20 + 0x86980" (identifier "pcVar20") (+ "+") (number_literal "0x86980")) () ")"))))) (+ "+") (number_literal "0x59f4")) () ")")))) (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      apiStack_114[0] = piVar8;\n      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);\n      pcVar22 = pcStack_120;\n      if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }\n      goto LAB_00020840;\n    }" ({ "{") (expression_statement "apiStack_114[0] = piVar8;" (assignment_expression "apiStack_114[0] = piVar8" (subscript_expression "apiStack_114[0]" (identifier "apiStack_114") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);" (assignment_expression "iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86a84))" (( "(") (pointer_expression "**(code **)(pcVar20 + 0x86a84)" (* "*") (pointer_expression "*(code **)(pcVar20 + 0x86a84)" (* "*") (cast_expression "(code **)(pcVar20 + 0x86a84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x86a84)" (( "(") (binary_expression "pcVar20 + 0x86a84" (identifier "pcVar20") (+ "+") (number_literal "0x86a84")) () ")"))))) () ")")) (argument_list "(*puVar6,apiStack_114,0)" (( "(") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (, ",") (identifier "apiStack_114") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar22 = pcStack_120;" (assignment_expression "pcVar22 = pcStack_120" (identifier "pcVar22") (= "=") (identifier "pcStack_120")) (; ";")) (if_statement "if (iVar2 != 0) {\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020834;\n      }" ({ "{") (if_statement "if (iStack_10c == *piVar18) {\n          return *(int **)(iVar2 + 8);\n        }" (if "if") (parenthesized_expression "(iStack_10c == *piVar18)" (( "(") (binary_expression "iStack_10c == *piVar18" (identifier "iStack_10c") (== "==") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) () ")")) (compound_statement "{\n          return *(int **)(iVar2 + 8);\n        }" ({ "{") (return_statement "return *(int **)(iVar2 + 8);" (return "return") (pointer_expression "*(int **)(iVar2 + 8)" (* "*") (cast_expression "(int **)(iVar2 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")")))) (; ";")) (} "}"))) (goto_statement "goto LAB_00020834;" (goto "goto") (statement_identifier "LAB_00020834") (; ";")) (} "}"))) (goto_statement "goto LAB_00020840;" (goto "goto") (statement_identifier "LAB_00020840") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }" (else "else") (compound_statement "{\n    (**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);\nLAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954);" (call_expression "(**(code **)(pcVar20 + 0x870cc))\n              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954)" (parenthesized_expression "(**(code **)(pcVar20 + 0x870cc))" (( "(") (pointer_expression "**(code **)(pcVar20 + 0x870cc)" (* "*") (pointer_expression "*(code **)(pcVar20 + 0x870cc)" (* "*") (cast_expression "(code **)(pcVar20 + 0x870cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x870cc)" (( "(") (binary_expression "pcVar20 + 0x870cc" (identifier "pcVar20") (+ "+") (number_literal "0x870cc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,\n               *(int *)(pcVar20 + 0x86980) + 0x5954)" (( "(") (binary_expression "*(int *)(pcVar20 + 0x86980) + 0x57ac" (pointer_expression "*(int *)(pcVar20 + 0x86980)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86980)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86980)" (( "(") (binary_expression "pcVar20 + 0x86980" (identifier "pcVar20") (+ "+") (number_literal "0x86980")) () ")")))) (+ "+") (number_literal "0x57ac")) (, ",") (binary_expression "*(int *)(pcVar20 + 0x86980) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86980)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86980)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86980)" (( "(") (binary_expression "pcVar20 + 0x86980" (identifier "pcVar20") (+ "+") (number_literal "0x86980")) () ")")))) (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x16e") (, ",") (binary_expression "*(int *)(pcVar20 + 0x86980) + 0x5954" (pointer_expression "*(int *)(pcVar20 + 0x86980)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86980)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86980)" (( "(") (binary_expression "pcVar20 + 0x86980" (identifier "pcVar20") (+ "+") (number_literal "0x86980")) () ")")))) (+ "+") (number_literal "0x5954")) () ")"))) (; ";")) (labeled_statement "LAB_00020834:\n    (**(code **)(pcVar22 + -0x751c))();" (statement_identifier "LAB_00020834") (: ":") (expression_statement "(**(code **)(pcVar22 + -0x751c))();" (call_expression "(**(code **)(pcVar22 + -0x751c))()" (parenthesized_expression "(**(code **)(pcVar22 + -0x751c))" (( "(") (pointer_expression "**(code **)(pcVar22 + -0x751c)" (* "*") (pointer_expression "*(code **)(pcVar22 + -0x751c)" (* "*") (cast_expression "(code **)(pcVar22 + -0x751c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + -0x751c)" (( "(") (binary_expression "pcVar22 + -0x751c" (identifier "pcVar22") (+ "+") (number_literal "-0x751c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_00020840:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);" (statement_identifier "LAB_00020840") (: ":") (expression_statement "(**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954);" (call_expression "(**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954)" (parenthesized_expression "(**(code **)(pcVar22 + -0x7850))" (( "(") (pointer_expression "**(code **)(pcVar22 + -0x7850)" (* "*") (pointer_expression "*(code **)(pcVar22 + -0x7850)" (* "*") (cast_expression "(code **)(pcVar22 + -0x7850)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + -0x7850)" (( "(") (binary_expression "pcVar22 + -0x7850" (identifier "pcVar22") (+ "+") (number_literal "-0x7850")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5954)" (( "(") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x57a4" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x57a4")) (, ",") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x172") (, ",") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5954" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5954")) () ")"))) (; ";"))) (} "}")))) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar22 + -0x7850)" (* "*") (cast_expression "(code **)(pcVar22 + -0x7850)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + -0x7850)" (( "(") (binary_expression "pcVar22 + -0x7850" (identifier "pcVar22") (+ "+") (number_literal "-0x7850")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" (identifier "iVar2") (= "=") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5790"))) (; ";")) (expression_statement "pcVar21 = conf_get_fontspec;" (assignment_expression "pcVar21 = conf_get_fontspec" (identifier "pcVar21") (= "=") (identifier "conf_get_fontspec")) (; ";")) (expression_statement "puVar6 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c);" (assignment_expression "puVar6 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + -0x7f9c) + 0x585c)" (( "(") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x585c" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x585c")) () ")")))) (; ";")) (expression_statement "(*pcVar20)(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954);" (call_expression "(*pcVar20)(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954)" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954)" (( "(") (identifier "puVar6") (, ",") (identifier "iVar2") (, ",") (number_literal "0x16f") (, ",") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5954" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5954")) () ")"))) (; ";")) (expression_statement "pcVar22 = pcVar20 + 0x8e808;" (assignment_expression "pcVar22 = pcVar20 + 0x8e808" (identifier "pcVar22") (= "=") (binary_expression "pcVar20 + 0x8e808" (identifier "pcVar20") (+ "+") (number_literal "0x8e808"))) (; ";")) (expression_statement "piVar16 = *(int **)(pcVar20 + 0x87640);" (assignment_expression "piVar16 = *(int **)(pcVar20 + 0x87640)" (identifier "piVar16") (= "=") (pointer_expression "*(int **)(pcVar20 + 0x87640)" (* "*") (cast_expression "(int **)(pcVar20 + 0x87640)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x87640)" (( "(") (binary_expression "pcVar20 + 0x87640" (identifier "pcVar20") (+ "+") (number_literal "0x87640")) () ")"))))) (; ";")) (expression_statement "iStack_13c = *piVar16;" (assignment_expression "iStack_13c = *piVar16" (identifier "iStack_13c") (= "=") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) (; ";")) (expression_statement "pcStack_150 = pcVar22;" (assignment_expression "pcStack_150 = pcVar22" (identifier "pcStack_150") (= "=") (identifier "pcVar22")) (; ";")) (expression_statement "piStack_138 = piVar18;" (assignment_expression "piStack_138 = piVar18" (identifier "piStack_138") (= "=") (identifier "piVar18")) (; ";")) (expression_statement "pcStack_134 = pcVar21;" (assignment_expression "pcStack_134 = pcVar21" (identifier "pcStack_134") (= "=") (identifier "pcVar21")) (; ";")) (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0)" (( "(") (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4)" (* "*") (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4)" (( "(") (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x8686c)" (binary_expression "iVar2 * 4" (identifier "iVar2") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcVar20 + 0x8686c)" (* "*") (cast_expression "(int *)(pcVar20 + 0x8686c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x8686c)" (( "(") (binary_expression "pcVar20 + 0x8686c" (identifier "pcVar20") (+ "+") (number_literal "0x8686c")) () ")"))))) (+ "+") (number_literal "0x5cd4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4)" (( "(") (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4)" (* "*") (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4)" (( "(") (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x8686c)" (binary_expression "iVar2 * 4" (identifier "iVar2") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcVar20 + 0x8686c)" (* "*") (cast_expression "(int *)(pcVar20 + 0x8686c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x8686c)" (( "(") (binary_expression "pcVar20 + 0x8686c" (identifier "pcVar20") (+ "+") (number_literal "0x8686c")) () ")"))))) (+ "+") (number_literal "0x59f4")) () ")")))) (== "==") (number_literal "4")) () ")")) (compound_statement "{\n      aiStack_144[0] = iVar2;\n      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);\n      pcVar22 = pcStack_150;\n      if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }\n      goto LAB_00020954;\n    }" ({ "{") (expression_statement "aiStack_144[0] = iVar2;" (assignment_expression "aiStack_144[0] = iVar2" (subscript_expression "aiStack_144[0]" (identifier "aiStack_144") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "iVar2")) (; ";")) (expression_statement "iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);" (assignment_expression "iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86970))" (( "(") (pointer_expression "**(code **)(pcVar20 + 0x86970)" (* "*") (pointer_expression "*(code **)(pcVar20 + 0x86970)" (* "*") (cast_expression "(code **)(pcVar20 + 0x86970)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x86970)" (( "(") (binary_expression "pcVar20 + 0x86970" (identifier "pcVar20") (+ "+") (number_literal "0x86970")) () ")"))))) () ")")) (argument_list "(*puVar6,aiStack_144,0)" (( "(") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (, ",") (identifier "aiStack_144") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar22 = pcStack_150;" (assignment_expression "pcVar22 = pcStack_150" (identifier "pcVar22") (= "=") (identifier "pcStack_150")) (; ";")) (if_statement "if (iVar2 != 0) {\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }\n        goto LAB_00020948;\n      }" ({ "{") (if_statement "if (iStack_13c == *piVar16) {\n          return *(int **)(iVar2 + 8);\n        }" (if "if") (parenthesized_expression "(iStack_13c == *piVar16)" (( "(") (binary_expression "iStack_13c == *piVar16" (identifier "iStack_13c") (== "==") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) () ")")) (compound_statement "{\n          return *(int **)(iVar2 + 8);\n        }" ({ "{") (return_statement "return *(int **)(iVar2 + 8);" (return "return") (pointer_expression "*(int **)(iVar2 + 8)" (* "*") (cast_expression "(int **)(iVar2 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")")))) (; ";")) (} "}"))) (goto_statement "goto LAB_00020948;" (goto "goto") (statement_identifier "LAB_00020948") (; ";")) (} "}"))) (goto_statement "goto LAB_00020954;" (goto "goto") (statement_identifier "LAB_00020954") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }" (else "else") (compound_statement "{\n    (**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);\nLAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();\nLAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940);" (call_expression "(**(code **)(pcVar20 + 0x86fb8))\n              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86fb8))" (( "(") (pointer_expression "**(code **)(pcVar20 + 0x86fb8)" (* "*") (pointer_expression "*(code **)(pcVar20 + 0x86fb8)" (* "*") (cast_expression "(code **)(pcVar20 + 0x86fb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x86fb8)" (( "(") (binary_expression "pcVar20 + 0x86fb8" (identifier "pcVar20") (+ "+") (number_literal "0x86fb8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,\n               *(int *)(pcVar20 + 0x8686c) + 0x5940)" (( "(") (binary_expression "*(int *)(pcVar20 + 0x8686c) + 0x57ac" (pointer_expression "*(int *)(pcVar20 + 0x8686c)" (* "*") (cast_expression "(int *)(pcVar20 + 0x8686c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x8686c)" (( "(") (binary_expression "pcVar20 + 0x8686c" (identifier "pcVar20") (+ "+") (number_literal "0x8686c")) () ")")))) (+ "+") (number_literal "0x57ac")) (, ",") (binary_expression "*(int *)(pcVar20 + 0x8686c) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x8686c)" (* "*") (cast_expression "(int *)(pcVar20 + 0x8686c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x8686c)" (( "(") (binary_expression "pcVar20 + 0x8686c" (identifier "pcVar20") (+ "+") (number_literal "0x8686c")) () ")")))) (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x17b") (, ",") (binary_expression "*(int *)(pcVar20 + 0x8686c) + 0x5940" (pointer_expression "*(int *)(pcVar20 + 0x8686c)" (* "*") (cast_expression "(int *)(pcVar20 + 0x8686c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x8686c)" (( "(") (binary_expression "pcVar20 + 0x8686c" (identifier "pcVar20") (+ "+") (number_literal "0x8686c")) () ")")))) (+ "+") (number_literal "0x5940")) () ")"))) (; ";")) (labeled_statement "LAB_00020948:\n    (**(code **)(pcVar22 + -0x751c))();" (statement_identifier "LAB_00020948") (: ":") (expression_statement "(**(code **)(pcVar22 + -0x751c))();" (call_expression "(**(code **)(pcVar22 + -0x751c))()" (parenthesized_expression "(**(code **)(pcVar22 + -0x751c))" (( "(") (pointer_expression "**(code **)(pcVar22 + -0x751c)" (* "*") (pointer_expression "*(code **)(pcVar22 + -0x751c)" (* "*") (cast_expression "(code **)(pcVar22 + -0x751c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + -0x751c)" (( "(") (binary_expression "pcVar22 + -0x751c" (identifier "pcVar22") (+ "+") (number_literal "-0x751c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_00020954:\n    (**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);" (statement_identifier "LAB_00020954") (: ":") (expression_statement "(**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940);" (call_expression "(**(code **)(pcVar22 + -0x7850))\n              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940)" (parenthesized_expression "(**(code **)(pcVar22 + -0x7850))" (( "(") (pointer_expression "**(code **)(pcVar22 + -0x7850)" (* "*") (pointer_expression "*(code **)(pcVar22 + -0x7850)" (* "*") (cast_expression "(code **)(pcVar22 + -0x7850)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + -0x7850)" (( "(") (binary_expression "pcVar22 + -0x7850" (identifier "pcVar22") (+ "+") (number_literal "-0x7850")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,\n               *(int *)(pcVar22 + -0x7f9c) + 0x5940)" (( "(") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x57a4" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x57a4")) (, ",") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x17f") (, ",") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5940" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5940")) () ")"))) (; ";"))) (} "}")))) (expression_statement "iVar13 = 0x17c;" (assignment_expression "iVar13 = 0x17c" (identifier "iVar13") (= "=") (number_literal "0x17c")) (; ";")) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar22 + -0x7850)" (* "*") (cast_expression "(code **)(pcVar22 + -0x7850)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + -0x7850)" (( "(") (binary_expression "pcVar22 + -0x7850" (identifier "pcVar22") (+ "+") (number_literal "-0x7850")) () ")"))))) (; ";")) (expression_statement "iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" (identifier "iVar9") (= "=") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5790"))) (; ";")) (expression_statement "pcVar21 = conf_set_int;" (assignment_expression "pcVar21 = conf_set_int" (identifier "pcVar21") (= "=") (identifier "conf_set_int")) (; ";")) (expression_statement "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5884;" (assignment_expression "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5884" (identifier "iVar2") (= "=") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5884" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5884"))) (; ";")) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_178 = pcVar20 + 0x8e6f4;" (assignment_expression "pcStack_178 = pcVar20 + 0x8e6f4" (identifier "pcStack_178") (= "=") (binary_expression "pcVar20 + 0x8e6f4" (identifier "pcVar20") (+ "+") (number_literal "0x8e6f4"))) (; ";")) (expression_statement "piStack_170 = piVar16;" (assignment_expression "piStack_170 = piVar16" (identifier "piStack_170") (= "=") (identifier "piVar16")) (; ";")) (expression_statement "piStack_16c = piVar3;" (assignment_expression "piStack_16c = piVar3" (identifier "piStack_16c") (= "=") (identifier "piVar3")) (; ";")) (expression_statement "iStack_168 = iVar12;" (assignment_expression "iStack_168 = iVar12" (identifier "iStack_168") (= "=") (identifier "iVar12")) (; ";")) (expression_statement "pcStack_164 = pcVar21;" (assignment_expression "pcStack_164 = pcVar21" (identifier "pcStack_164") (= "=") (identifier "pcVar21")) (; ";")) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" (identifier "piVar18") (= "=") (cast_expression "(int *)safemalloc(1,0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "safemalloc(1,0xc)" (identifier "safemalloc") (argument_list "(1,0xc)" (( "(") (number_literal "1") (, ",") (number_literal "0xc") () ")"))))) (; ";")) (expression_statement "pcVar22 = pcStack_178;" (assignment_expression "pcVar22 = pcStack_178" (identifier "pcVar22") (= "=") (identifier "pcStack_178")) (; ";")) (if_statement "if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0)" (( "(") (binary_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0" (pointer_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4)" (* "*") (cast_expression "(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4)" (( "(") (binary_expression "iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4" (binary_expression "iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c)" (binary_expression "iVar9 * 4" (identifier "iVar9") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcStack_178 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_178 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_178 + -0x7f9c)" (( "(") (binary_expression "pcStack_178 + -0x7f9c" (identifier "pcStack_178") (+ "+") (number_literal "-0x7f9c")) () ")"))))) (+ "+") (number_literal "0x5cd4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1)" (( "(") (binary_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1" (pointer_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4)" (* "*") (cast_expression "(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4)" (( "(") (binary_expression "iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4" (binary_expression "iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c)" (binary_expression "iVar9 * 4" (identifier "iVar9") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcStack_178 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_178 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_178 + -0x7f9c)" (( "(") (binary_expression "pcStack_178 + -0x7f9c" (identifier "pcStack_178") (+ "+") (number_literal "-0x7f9c")) () ")"))))) (+ "+") (number_literal "0x59f4")) () ")")))) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      *piVar18 = iVar9;\n      piVar18[2] = iVar13;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" ({ "{") (expression_statement "*piVar18 = iVar9;" (assignment_expression "*piVar18 = iVar9" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "piVar18[2] = iVar13;" (assignment_expression "piVar18[2] = iVar13" (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18)" (identifier "piVar18") (= "=") (cast_expression "(int *)FUN_0001fc80(iVar2,piVar18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001fc80(iVar2,piVar18)" (identifier "FUN_0001fc80") (argument_list "(iVar2,piVar18)" (( "(") (identifier "iVar2") (, ",") (identifier "piVar18") () ")"))))) (; ";")) (return_statement "return piVar18;" (return "return") (identifier "piVar18") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }" (else "else") (compound_statement "{\n    (**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);\n  }" ({ "{") (expression_statement "(**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);" (call_expression "(**(code **)(pcStack_178 + -0x7850))\n              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930)" (parenthesized_expression "(**(code **)(pcStack_178 + -0x7850))" (( "(") (pointer_expression "**(code **)(pcStack_178 + -0x7850)" (* "*") (pointer_expression "*(code **)(pcStack_178 + -0x7850)" (* "*") (cast_expression "(code **)(pcStack_178 + -0x7850)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_178 + -0x7850)" (( "(") (binary_expression "pcStack_178 + -0x7850" (identifier "pcStack_178") (+ "+") (number_literal "-0x7850")) () ")"))))) () ")")) (argument_list "(*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,\n               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930)" (( "(") (binary_expression "*(int *)(pcStack_178 + -0x7f9c) + 0x57ac" (pointer_expression "*(int *)(pcStack_178 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_178 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_178 + -0x7f9c)" (( "(") (binary_expression "pcStack_178 + -0x7f9c" (identifier "pcStack_178") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x57ac")) (, ",") (binary_expression "*(int *)(pcStack_178 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcStack_178 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_178 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_178 + -0x7f9c)" (( "(") (binary_expression "pcStack_178 + -0x7f9c" (identifier "pcStack_178") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x187") (, ",") (binary_expression "*(int *)(pcStack_178 + -0x7f9c) + 0x5930" (pointer_expression "*(int *)(pcStack_178 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_178 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_178 + -0x7f9c)" (( "(") (binary_expression "pcStack_178 + -0x7f9c" (identifier "pcStack_178") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5930")) () ")"))) (; ";")) (} "}")))) (expression_statement "iVar14 = 0x188;" (assignment_expression "iVar14 = 0x188" (identifier "iVar14") (= "=") (number_literal "0x188")) (; ";")) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar22 + -0x7850)" (* "*") (cast_expression "(code **)(pcVar22 + -0x7850)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + -0x7850)" (( "(") (binary_expression "pcVar22 + -0x7850" (identifier "pcVar22") (+ "+") (number_literal "-0x7850")) () ")"))))) (; ";")) (expression_statement "iVar17 = *(int *)(pcVar22 + -0x7f9c) + 0x5930;" (assignment_expression "iVar17 = *(int *)(pcVar22 + -0x7f9c) + 0x5930" (identifier "iVar17") (= "=") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5930" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5930"))) (; ";")) (expression_statement "iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" (identifier "iVar10") (= "=") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5790"))) (; ";")) (expression_statement "pcVar21 = conf_set_int_int;" (assignment_expression "pcVar21 = conf_set_int_int" (identifier "pcVar21") (= "=") (identifier "conf_set_int_int")) (; ";")) (expression_statement "iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;" (assignment_expression "iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0" (identifier "iVar12") (= "=") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x57d0" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x57d0"))) (; ";")) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_1a8 = pcVar20 + 0x8e608;" (assignment_expression "pcStack_1a8 = pcVar20 + 0x8e608" (identifier "pcStack_1a8") (= "=") (binary_expression "pcVar20 + 0x8e608" (identifier "pcVar20") (+ "+") (number_literal "0x8e608"))) (; ";")) (expression_statement "iStack_19c = iVar2;" (assignment_expression "iStack_19c = iVar2" (identifier "iStack_19c") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "iStack_198 = iVar13;" (assignment_expression "iStack_198 = iVar13" (identifier "iStack_198") (= "=") (identifier "iVar13")) (; ";")) (expression_statement "iStack_194 = iVar9;" (assignment_expression "iStack_194 = iVar9" (identifier "iStack_194") (= "=") (identifier "iVar9")) (; ";")) (expression_statement "puStack_190 = puVar5;" (assignment_expression "puStack_190 = puVar5" (identifier "puStack_190") (= "=") (identifier "puVar5")) (; ";")) (expression_statement "pcStack_18c = pcVar21;" (assignment_expression "pcStack_18c = pcVar21" (identifier "pcStack_18c") (= "=") (identifier "pcVar21")) (; ";")) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" (identifier "piVar18") (= "=") (cast_expression "(int *)safemalloc(1,0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "safemalloc(1,0xc)" (identifier "safemalloc") (argument_list "(1,0xc)" (( "(") (number_literal "1") (, ",") (number_literal "0xc") () ")"))))) (; ";")) (expression_statement "pcVar22 = pcStack_1a8;" (assignment_expression "pcVar22 = pcStack_1a8" (identifier "pcVar22") (= "=") (identifier "pcStack_1a8")) (; ";")) (if_statement "if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1) {\n    if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1)" (( "(") (binary_expression "*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1" (pointer_expression "*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4)" (* "*") (cast_expression "(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4)" (( "(") (binary_expression "iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4" (binary_expression "iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c)" (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcStack_1a8 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_1a8 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x7f9c)" (( "(") (binary_expression "pcStack_1a8 + -0x7f9c" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x7f9c")) () ")"))))) (+ "+") (number_literal "0x5cd4")) () ")")))) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1)" (( "(") (binary_expression "*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1" (pointer_expression "*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4)" (* "*") (cast_expression "(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4)" (( "(") (binary_expression "iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4" (binary_expression "iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c)" (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcStack_1a8 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_1a8 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x7f9c)" (( "(") (binary_expression "pcStack_1a8 + -0x7f9c" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x7f9c")) () ")"))))) (+ "+") (number_literal "0x59f4")) () ")")))) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      *piVar18 = iVar10;\n      piVar18[1] = iVar14;\n      piVar18[2] = iVar17;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }" ({ "{") (expression_statement "*piVar18 = iVar10;" (assignment_expression "*piVar18 = iVar10" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "piVar18[1] = iVar14;" (assignment_expression "piVar18[1] = iVar14" (subscript_expression "piVar18[1]" (identifier "piVar18") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar14")) (; ";")) (expression_statement "piVar18[2] = iVar17;" (assignment_expression "piVar18[2] = iVar17" (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar12,piVar18)" (identifier "piVar18") (= "=") (cast_expression "(int *)FUN_0001fc80(iVar12,piVar18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001fc80(iVar12,piVar18)" (identifier "FUN_0001fc80") (argument_list "(iVar12,piVar18)" (( "(") (identifier "iVar12") (, ",") (identifier "piVar18") () ")"))))) (; ";")) (return_statement "return piVar18;" (return "return") (identifier "piVar18") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }" (else "else") (compound_statement "{\n    (**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);\n  }" ({ "{") (expression_statement "(**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);" (call_expression "(**(code **)(pcStack_1a8 + -0x7850))\n              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x7850))" (( "(") (pointer_expression "**(code **)(pcStack_1a8 + -0x7850)" (* "*") (pointer_expression "*(code **)(pcStack_1a8 + -0x7850)" (* "*") (cast_expression "(code **)(pcStack_1a8 + -0x7850)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x7850)" (( "(") (binary_expression "pcStack_1a8 + -0x7850" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x7850")) () ")"))))) () ")")) (argument_list "(*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,\n               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910)" (( "(") (binary_expression "*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0" (pointer_expression "*(int *)(pcStack_1a8 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_1a8 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x7f9c)" (( "(") (binary_expression "pcStack_1a8 + -0x7f9c" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x57f0")) (, ",") (binary_expression "*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcStack_1a8 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_1a8 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x7f9c)" (( "(") (binary_expression "pcStack_1a8 + -0x7f9c" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x192") (, ",") (binary_expression "*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910" (pointer_expression "*(int *)(pcStack_1a8 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_1a8 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x7f9c)" (( "(") (binary_expression "pcStack_1a8 + -0x7f9c" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5910")) () ")"))) (; ";")) (} "}")))) (expression_statement "uVar11 = 0x193;" (assignment_expression "uVar11 = 0x193" (identifier "uVar11") (= "=") (number_literal "0x193")) (; ";")) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar22 + -0x7850)" (* "*") (cast_expression "(code **)(pcVar22 + -0x7850)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + -0x7850)" (( "(") (binary_expression "pcVar22 + -0x7850" (identifier "pcVar22") (+ "+") (number_literal "-0x7850")) () ")"))))) (; ";")) (expression_statement "iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" (identifier "iVar9") (= "=") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5790"))) (; ";")) (expression_statement "pcVar21 = conf_set_str;" (assignment_expression "pcVar21 = conf_set_str" (identifier "pcVar21") (= "=") (identifier "conf_set_str")) (; ";")) (expression_statement "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;" (assignment_expression "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0" (identifier "iVar2") (= "=") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x57d0" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x57d0"))) (; ";")) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_1d8 = pcVar20 + 0x8e50c;" (assignment_expression "pcStack_1d8 = pcVar20 + 0x8e50c" (identifier "pcStack_1d8") (= "=") (binary_expression "pcVar20 + 0x8e50c" (identifier "pcVar20") (+ "+") (number_literal "0x8e50c"))) (; ";")) (expression_statement "iStack_1cc = iVar17;" (assignment_expression "iStack_1cc = iVar17" (identifier "iStack_1cc") (= "=") (identifier "iVar17")) (; ";")) (expression_statement "iStack_1c8 = iVar12;" (assignment_expression "iStack_1c8 = iVar12" (identifier "iStack_1c8") (= "=") (identifier "iVar12")) (; ";")) (expression_statement "iStack_1c4 = iVar14;" (assignment_expression "iStack_1c4 = iVar14" (identifier "iStack_1c4") (= "=") (identifier "iVar14")) (; ";")) (expression_statement "iStack_1c0 = iVar10;" (assignment_expression "iStack_1c0 = iVar10" (identifier "iStack_1c0") (= "=") (identifier "iVar10")) (; ";")) (expression_statement "pcStack_1bc = pcVar21;" (assignment_expression "pcStack_1bc = pcVar21" (identifier "pcStack_1bc") (= "=") (identifier "pcVar21")) (; ";")) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" (identifier "piVar18") (= "=") (cast_expression "(int *)safemalloc(1,0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "safemalloc(1,0xc)" (identifier "safemalloc") (argument_list "(1,0xc)" (( "(") (number_literal "1") (, ",") (number_literal "0xc") () ")"))))) (; ";")) (expression_statement "pcVar22 = pcStack_1d8;" (assignment_expression "pcVar22 = pcStack_1d8" (identifier "pcVar22") (= "=") (identifier "pcStack_1d8")) (; ";")) (if_statement "if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0) {\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0)" (( "(") (binary_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0" (pointer_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4)" (* "*") (cast_expression "(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4)" (( "(") (binary_expression "iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4" (binary_expression "iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c)" (binary_expression "iVar9 * 4" (identifier "iVar9") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcStack_1d8 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_1d8 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1d8 + -0x7f9c)" (( "(") (binary_expression "pcStack_1d8 + -0x7f9c" (identifier "pcStack_1d8") (+ "+") (number_literal "-0x7f9c")) () ")"))))) (+ "+") (number_literal "0x5cd4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2)" (( "(") (binary_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2" (pointer_expression "*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4)" (* "*") (cast_expression "(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4)" (( "(") (binary_expression "iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4" (binary_expression "iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c)" (binary_expression "iVar9 * 4" (identifier "iVar9") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcStack_1d8 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_1d8 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1d8 + -0x7f9c)" (( "(") (binary_expression "pcStack_1d8 + -0x7f9c" (identifier "pcStack_1d8") (+ "+") (number_literal "-0x7f9c")) () ")"))))) (+ "+") (number_literal "0x59f4")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      *piVar18 = iVar9;\n      iVar12 = dupstr(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" ({ "{") (expression_statement "*piVar18 = iVar9;" (assignment_expression "*piVar18 = iVar9" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "iVar12 = dupstr(uVar11);" (assignment_expression "iVar12 = dupstr(uVar11)" (identifier "iVar12") (= "=") (call_expression "dupstr(uVar11)" (identifier "dupstr") (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")")))) (; ";")) (expression_statement "piVar18[2] = iVar12;" (assignment_expression "piVar18[2] = iVar12" (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18)" (identifier "piVar18") (= "=") (cast_expression "(int *)FUN_0001fc80(iVar2,piVar18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001fc80(iVar2,piVar18)" (identifier "FUN_0001fc80") (argument_list "(iVar2,piVar18)" (( "(") (identifier "iVar2") (, ",") (identifier "piVar18") () ")"))))) (; ";")) (return_statement "return piVar18;" (return "return") (identifier "piVar18") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }" (else "else") (compound_statement "{\n    (**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);\n  }" ({ "{") (expression_statement "(**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);" (call_expression "(**(code **)(pcStack_1d8 + -0x7850))\n              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900)" (parenthesized_expression "(**(code **)(pcStack_1d8 + -0x7850))" (( "(") (pointer_expression "**(code **)(pcStack_1d8 + -0x7850)" (* "*") (pointer_expression "*(code **)(pcStack_1d8 + -0x7850)" (* "*") (cast_expression "(code **)(pcStack_1d8 + -0x7850)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1d8 + -0x7850)" (( "(") (binary_expression "pcStack_1d8 + -0x7850" (identifier "pcStack_1d8") (+ "+") (number_literal "-0x7850")) () ")"))))) () ")")) (argument_list "(*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,\n               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900)" (( "(") (binary_expression "*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac" (pointer_expression "*(int *)(pcStack_1d8 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_1d8 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1d8 + -0x7f9c)" (( "(") (binary_expression "pcStack_1d8 + -0x7f9c" (identifier "pcStack_1d8") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x57ac")) (, ",") (binary_expression "*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcStack_1d8 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_1d8 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1d8 + -0x7f9c)" (( "(") (binary_expression "pcStack_1d8 + -0x7f9c" (identifier "pcStack_1d8") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x19e") (, ",") (binary_expression "*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900" (pointer_expression "*(int *)(pcStack_1d8 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_1d8 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1d8 + -0x7f9c)" (( "(") (binary_expression "pcStack_1d8 + -0x7f9c" (identifier "pcStack_1d8") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5900")) () ")"))) (; ";")) (} "}")))) (expression_statement "uVar15 = 0x19f;" (assignment_expression "uVar15 = 0x19f" (identifier "uVar15") (= "=") (number_literal "0x19f")) (; ";")) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar22 + -0x7850)" (* "*") (cast_expression "(code **)(pcVar22 + -0x7850)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + -0x7850)" (( "(") (binary_expression "pcVar22 + -0x7850" (identifier "pcVar22") (+ "+") (number_literal "-0x7850")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5900;" (assignment_expression "iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5900" (identifier "iVar10") (= "=") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5900" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5900"))) (; ";")) (expression_statement "iVar13 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar13 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" (identifier "iVar13") (= "=") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5790"))) (; ";")) (expression_statement "pcVar21 = conf_set_str_str;" (assignment_expression "pcVar21 = conf_set_str_str" (identifier "pcVar21") (= "=") (identifier "conf_set_str_str")) (; ";")) (expression_statement "iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x5814;" (assignment_expression "iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x5814" (identifier "iVar12") (= "=") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5814" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5814"))) (; ";")) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_208 = pcVar20 + 0x8e404;" (assignment_expression "pcStack_208 = pcVar20 + 0x8e404" (identifier "pcStack_208") (= "=") (binary_expression "pcVar20 + 0x8e404" (identifier "pcVar20") (+ "+") (number_literal "0x8e404"))) (; ";")) (expression_statement "piStack_200 = piVar18;" (assignment_expression "piStack_200 = piVar18" (identifier "piStack_200") (= "=") (identifier "piVar18")) (; ";")) (expression_statement "iStack_1fc = iVar2;" (assignment_expression "iStack_1fc = iVar2" (identifier "iStack_1fc") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "uStack_1f8 = uVar11;" (assignment_expression "uStack_1f8 = uVar11" (identifier "uStack_1f8") (= "=") (identifier "uVar11")) (; ";")) (expression_statement "iStack_1f4 = iVar9;" (assignment_expression "iStack_1f4 = iVar9" (identifier "iStack_1f4") (= "=") (identifier "iVar9")) (; ";")) (expression_statement "iStack_1f0 = unaff_s4;" (assignment_expression "iStack_1f0 = unaff_s4" (identifier "iStack_1f0") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "pcStack_1ec = pcVar21;" (assignment_expression "pcStack_1ec = pcVar21" (identifier "pcStack_1ec") (= "=") (identifier "pcVar21")) (; ";")) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" (identifier "piVar18") (= "=") (cast_expression "(int *)safemalloc(1,0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "safemalloc(1,0xc)" (identifier "safemalloc") (argument_list "(1,0xc)" (( "(") (number_literal "1") (, ",") (number_literal "0xc") () ")"))))) (; ";")) (expression_statement "pcVar22 = pcStack_208;" (assignment_expression "pcVar22 = pcStack_208" (identifier "pcVar22") (= "=") (identifier "pcStack_208")) (; ";")) (if_statement "if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2) {\n    if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2)" (( "(") (binary_expression "*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2" (pointer_expression "*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4)" (* "*") (cast_expression "(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4)" (( "(") (binary_expression "iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4" (binary_expression "iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c)" (binary_expression "iVar13 * 4" (identifier "iVar13") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcStack_208 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_208 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_208 + -0x7f9c)" (( "(") (binary_expression "pcStack_208 + -0x7f9c" (identifier "pcStack_208") (+ "+") (number_literal "-0x7f9c")) () ")"))))) (+ "+") (number_literal "0x5cd4")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2)" (( "(") (binary_expression "*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2" (pointer_expression "*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4)" (* "*") (cast_expression "(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4)" (( "(") (binary_expression "iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4" (binary_expression "iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c)" (binary_expression "iVar13 * 4" (identifier "iVar13") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcStack_208 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_208 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_208 + -0x7f9c)" (( "(") (binary_expression "pcStack_208 + -0x7f9c" (identifier "pcStack_208") (+ "+") (number_literal "-0x7f9c")) () ")"))))) (+ "+") (number_literal "0x59f4")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      *piVar18 = iVar13;\n      iVar2 = dupstr(uVar15);\n      piVar18[1] = iVar2;\n      iVar2 = dupstr(iVar10);\n      piVar18[2] = iVar2;\n      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);\n      return piVar18;\n    }" ({ "{") (expression_statement "*piVar18 = iVar13;" (assignment_expression "*piVar18 = iVar13" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "iVar2 = dupstr(uVar15);" (assignment_expression "iVar2 = dupstr(uVar15)" (identifier "iVar2") (= "=") (call_expression "dupstr(uVar15)" (identifier "dupstr") (argument_list "(uVar15)" (( "(") (identifier "uVar15") () ")")))) (; ";")) (expression_statement "piVar18[1] = iVar2;" (assignment_expression "piVar18[1] = iVar2" (subscript_expression "piVar18[1]" (identifier "piVar18") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar2")) (; ";")) (expression_statement "iVar2 = dupstr(iVar10);" (assignment_expression "iVar2 = dupstr(iVar10)" (identifier "iVar2") (= "=") (call_expression "dupstr(iVar10)" (identifier "dupstr") (argument_list "(iVar10)" (( "(") (identifier "iVar10") () ")")))) (; ";")) (expression_statement "piVar18[2] = iVar2;" (assignment_expression "piVar18[2] = iVar2" (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar2")) (; ";")) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar12,piVar18)" (identifier "piVar18") (= "=") (cast_expression "(int *)FUN_0001fc80(iVar12,piVar18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001fc80(iVar12,piVar18)" (identifier "FUN_0001fc80") (argument_list "(iVar12,piVar18)" (( "(") (identifier "iVar12") (, ",") (identifier "piVar18") () ")"))))) (; ";")) (return_statement "return piVar18;" (return "return") (identifier "piVar18") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }" (else "else") (compound_statement "{\n    (**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);\n  }" ({ "{") (expression_statement "(**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);" (call_expression "(**(code **)(pcStack_208 + -0x7850))\n              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec)" (parenthesized_expression "(**(code **)(pcStack_208 + -0x7850))" (( "(") (pointer_expression "**(code **)(pcStack_208 + -0x7850)" (* "*") (pointer_expression "*(code **)(pcStack_208 + -0x7850)" (* "*") (cast_expression "(code **)(pcStack_208 + -0x7850)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_208 + -0x7850)" (( "(") (binary_expression "pcStack_208 + -0x7850" (identifier "pcStack_208") (+ "+") (number_literal "-0x7850")) () ")"))))) () ")")) (argument_list "(*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,\n               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec)" (( "(") (binary_expression "*(int *)(pcStack_208 + -0x7f9c) + 0x5834" (pointer_expression "*(int *)(pcStack_208 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_208 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_208 + -0x7f9c)" (( "(") (binary_expression "pcStack_208 + -0x7f9c" (identifier "pcStack_208") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5834")) (, ",") (binary_expression "*(int *)(pcStack_208 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcStack_208 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_208 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_208 + -0x7f9c)" (( "(") (binary_expression "pcStack_208 + -0x7f9c" (identifier "pcStack_208") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x1aa") (, ",") (binary_expression "*(int *)(pcStack_208 + -0x7f9c) + 0x58ec" (pointer_expression "*(int *)(pcStack_208 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcStack_208 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_208 + -0x7f9c)" (( "(") (binary_expression "pcStack_208 + -0x7f9c" (identifier "pcStack_208") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x58ec")) () ")"))) (; ";")) (} "}")))) (expression_statement "uVar11 = 0x1ab;" (assignment_expression "uVar11 = 0x1ab" (identifier "uVar11") (= "=") (number_literal "0x1ab")) (; ";")) (expression_statement "pcVar20 = *(code **)(pcVar22 + -0x7850);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + -0x7850)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar22 + -0x7850)" (* "*") (cast_expression "(code **)(pcVar22 + -0x7850)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + -0x7850)" (( "(") (binary_expression "pcVar22 + -0x7850" (identifier "pcVar22") (+ "+") (number_literal "-0x7850")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;" (assignment_expression "iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790" (identifier "iVar2") (= "=") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5790"))) (; ";")) (expression_statement "pcVar21 = conf_del_str_str;" (assignment_expression "pcVar21 = conf_del_str_str" (identifier "pcVar21") (= "=") (identifier "conf_del_str_str")) (; ";")) (expression_statement "puVar5 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814);" (assignment_expression "puVar5 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + -0x7f9c) + 0x5814)" (( "(") (binary_expression "*(int *)(pcVar22 + -0x7f9c) + 0x5814" (pointer_expression "*(int *)(pcVar22 + -0x7f9c)" (* "*") (cast_expression "(int *)(pcVar22 + -0x7f9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + -0x7f9c)" (( "(") (binary_expression "pcVar22 + -0x7f9c" (identifier "pcVar22") (+ "+") (number_literal "-0x7f9c")) () ")")))) (+ "+") (number_literal "0x5814")) () ")")))) (; ";")) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar3 = *(int **)(pcVar20 + 0x87114);" (assignment_expression "piVar3 = *(int **)(pcVar20 + 0x87114)" (identifier "piVar3") (= "=") (pointer_expression "*(int **)(pcVar20 + 0x87114)" (* "*") (cast_expression "(int **)(pcVar20 + 0x87114)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x87114)" (( "(") (binary_expression "pcVar20 + 0x87114" (identifier "pcVar20") (+ "+") (number_literal "0x87114")) () ")"))))) (; ";")) (expression_statement "piStack_22c = (int *)*piVar3;" (assignment_expression "piStack_22c = (int *)*piVar3" (identifier "piStack_22c") (= "=") (cast_expression "(int *)*piVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar3" (* "*") (identifier "piVar3")))) (; ";")) (expression_statement "piStack_228 = piVar18;" (assignment_expression "piStack_228 = piVar18" (identifier "piStack_228") (= "=") (identifier "piVar18")) (; ";")) (expression_statement "iStack_224 = iVar12;" (assignment_expression "iStack_224 = iVar12" (identifier "iStack_224") (= "=") (identifier "iVar12")) (; ";")) (expression_statement "iStack_220 = iVar10;" (assignment_expression "iStack_220 = iVar10" (identifier "iStack_220") (= "=") (identifier "iVar10")) (; ";")) (expression_statement "pcStack_21c = pcVar21;" (assignment_expression "pcStack_21c = pcVar21" (identifier "pcStack_21c") (= "=") (identifier "pcVar21")) (; ";")) (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2) {\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;\n    iStack_234 = iVar2;\n    uStack_230 = uVar11;\n    iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);\n    if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }\n    piVar3 = (int *)*piVar3;\n    if (piStack_22c == piVar3) {\n      return piVar3;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2)" (( "(") (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4)" (* "*") (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4)" (( "(") (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86340)" (binary_expression "iVar2 * 4" (identifier "iVar2") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcVar20 + 0x86340)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86340)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86340)" (( "(") (binary_expression "pcVar20 + 0x86340" (identifier "pcVar20") (+ "+") (number_literal "0x86340")) () ")"))))) (+ "+") (number_literal "0x5cd4")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;\n    iStack_234 = iVar2;\n    uStack_230 = uVar11;\n    iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);\n    if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }\n    piVar3 = (int *)*piVar3;\n    if (piStack_22c == piVar3) {\n      return piVar3;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;" (if "if") (parenthesized_expression "(*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2)" (( "(") (binary_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2" (pointer_expression "*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4)" (* "*") (cast_expression "(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4)" (( "(") (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4" (binary_expression "iVar2 * 4 + *(int *)(pcVar20 + 0x86340)" (binary_expression "iVar2 * 4" (identifier "iVar2") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcVar20 + 0x86340)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86340)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86340)" (( "(") (binary_expression "pcVar20 + 0x86340" (identifier "pcVar20") (+ "+") (number_literal "0x86340")) () ")"))))) (+ "+") (number_literal "0x59f4")) () ")")))) (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto LAB_00020ec4;" (goto "goto") (statement_identifier "LAB_00020ec4") (; ";"))) (expression_statement "iStack_234 = iVar2;" (assignment_expression "iStack_234 = iVar2" (identifier "iStack_234") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "uStack_230 = uVar11;" (assignment_expression "uStack_230 = uVar11" (identifier "uStack_230") (= "=") (identifier "uVar11")) (; ";")) (expression_statement "iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);" (assignment_expression "iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86444))" (( "(") (pointer_expression "**(code **)(pcVar20 + 0x86444)" (* "*") (pointer_expression "*(code **)(pcVar20 + 0x86444)" (* "*") (cast_expression "(code **)(pcVar20 + 0x86444)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x86444)" (( "(") (binary_expression "pcVar20 + 0x86444" (identifier "pcVar20") (+ "+") (number_literal "0x86444")) () ")"))))) () ")")) (argument_list "(*puVar5,&iStack_234,0)" (( "(") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (, ",") (pointer_expression "&iStack_234" (& "&") (identifier "iStack_234")) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);\n      FUN_0001fae8(iVar2);\n    }" ({ "{") (expression_statement "(**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);" (call_expression "(**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86428))" (( "(") (pointer_expression "**(code **)(pcVar20 + 0x86428)" (* "*") (pointer_expression "*(code **)(pcVar20 + 0x86428)" (* "*") (cast_expression "(code **)(pcVar20 + 0x86428)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x86428)" (( "(") (binary_expression "pcVar20 + 0x86428" (identifier "pcVar20") (+ "+") (number_literal "0x86428")) () ")"))))) () ")")) (argument_list "(*puVar5,iVar2)" (( "(") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (, ",") (identifier "iVar2") () ")"))) (; ";")) (expression_statement "FUN_0001fae8(iVar2);" (call_expression "FUN_0001fae8(iVar2)" (identifier "FUN_0001fae8") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar3 = (int *)*piVar3;" (assignment_expression "piVar3 = (int *)*piVar3" (identifier "piVar3") (= "=") (cast_expression "(int *)*piVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar3" (* "*") (identifier "piVar3")))) (; ";")) (if_statement "if (piStack_22c == piVar3) {\n      return piVar3;\n    }" (if "if") (parenthesized_expression "(piStack_22c == piVar3)" (( "(") (binary_expression "piStack_22c == piVar3" (identifier "piStack_22c") (== "==") (identifier "piVar3")) () ")")) (compound_statement "{\n      return piVar3;\n    }" ({ "{") (return_statement "return piVar3;" (return "return") (identifier "piVar3") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }" (else "else") (compound_statement "{\n    (**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8);" (call_expression "(**(code **)(pcVar20 + 0x86a8c))\n              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86a8c))" (( "(") (pointer_expression "**(code **)(pcVar20 + 0x86a8c)" (* "*") (pointer_expression "*(code **)(pcVar20 + 0x86a8c)" (* "*") (cast_expression "(code **)(pcVar20 + 0x86a8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x86a8c)" (( "(") (binary_expression "pcVar20 + 0x86a8c" (identifier "pcVar20") (+ "+") (number_literal "0x86a8c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,\n               *(int *)(pcVar20 + 0x86340) + 0x58d8)" (( "(") (binary_expression "*(int *)(pcVar20 + 0x86340) + 0x5834" (pointer_expression "*(int *)(pcVar20 + 0x86340)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86340)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86340)" (( "(") (binary_expression "pcVar20 + 0x86340" (identifier "pcVar20") (+ "+") (number_literal "0x86340")) () ")")))) (+ "+") (number_literal "0x5834")) (, ",") (binary_expression "*(int *)(pcVar20 + 0x86340) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86340)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86340)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86340)" (( "(") (binary_expression "pcVar20 + 0x86340" (identifier "pcVar20") (+ "+") (number_literal "0x86340")) () ")")))) (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x1b7") (, ",") (binary_expression "*(int *)(pcVar20 + 0x86340) + 0x58d8" (pointer_expression "*(int *)(pcVar20 + 0x86340)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86340)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86340)" (( "(") (binary_expression "pcVar20 + 0x86340" (identifier "pcVar20") (+ "+") (number_literal "0x86340")) () ")")))) (+ "+") (number_literal "0x58d8")) () ")"))) (; ";")) (} "}")))) (expression_statement "(**(code **)(pcVar20 + 0x86dc0))();" (call_expression "(**(code **)(pcVar20 + 0x86dc0))()" (parenthesized_expression "(**(code **)(pcVar20 + 0x86dc0))" (( "(") (pointer_expression "**(code **)(pcVar20 + 0x86dc0)" (* "*") (pointer_expression "*(code **)(pcVar20 + 0x86dc0)" (* "*") (cast_expression "(code **)(pcVar20 + 0x86dc0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x86dc0)" (( "(") (binary_expression "pcVar20 + 0x86dc0" (identifier "pcVar20") (+ "+") (number_literal "0x86dc0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00020ec4:\n  uVar11 = 0x1b8;" (statement_identifier "LAB_00020ec4") (: ":") (expression_statement "uVar11 = 0x1b8;" (assignment_expression "uVar11 = 0x1b8" (identifier "uVar11") (= "=") (number_literal "0x1b8")) (; ";"))) (expression_statement "pcVar22 = *(code **)(pcVar20 + 0x86a8c);" (assignment_expression "pcVar22 = *(code **)(pcVar20 + 0x86a8c)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar20 + 0x86a8c)" (* "*") (cast_expression "(code **)(pcVar20 + 0x86a8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x86a8c)" (( "(") (binary_expression "pcVar20 + 0x86a8c" (identifier "pcVar20") (+ "+") (number_literal "0x86a8c")) () ")"))))) (; ";")) (expression_statement "iVar12 = *(int *)(pcVar20 + 0x86340) + 0x5790;" (assignment_expression "iVar12 = *(int *)(pcVar20 + 0x86340) + 0x5790" (identifier "iVar12") (= "=") (binary_expression "*(int *)(pcVar20 + 0x86340) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86340)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86340)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86340)" (( "(") (binary_expression "pcVar20 + 0x86340" (identifier "pcVar20") (+ "+") (number_literal "0x86340")) () ")")))) (+ "+") (number_literal "0x5790"))) (; ";")) (expression_statement "iVar2 = *(int *)(pcVar20 + 0x86340) + 0x5814;" (assignment_expression "iVar2 = *(int *)(pcVar20 + 0x86340) + 0x5814" (identifier "iVar2") (= "=") (binary_expression "*(int *)(pcVar20 + 0x86340) + 0x5814" (pointer_expression "*(int *)(pcVar20 + 0x86340)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86340)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86340)" (( "(") (binary_expression "pcVar20 + 0x86340" (identifier "pcVar20") (+ "+") (number_literal "0x86340")) () ")")))) (+ "+") (number_literal "0x5814"))) (; ";")) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" (identifier "piVar18") (= "=") (cast_expression "(int *)safemalloc(1,0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "safemalloc(1,0xc)" (identifier "safemalloc") (argument_list "(1,0xc)" (( "(") (number_literal "1") (, ",") (number_literal "0xc") () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0) {\n    pcVar20 = *(code **)(pcVar22 + 0x86308);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0)" (( "(") (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4)" (* "*") (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4)" (( "(") (binary_expression "iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4" (binary_expression "iVar12 * 4 + *(int *)(pcVar22 + 0x8620c)" (binary_expression "iVar12 * 4" (identifier "iVar12") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x8620c)" (* "*") (cast_expression "(int *)(pcVar22 + 0x8620c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x8620c)" (( "(") (binary_expression "pcVar22 + 0x8620c" (identifier "pcVar22") (+ "+") (number_literal "0x8620c")) () ")"))))) (+ "+") (number_literal "0x5cd4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar20 = *(code **)(pcVar22 + 0x86308);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }" ({ "{") (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86308);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86308)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar22 + 0x86308)" (* "*") (cast_expression "(code **)(pcVar22 + 0x86308)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x86308)" (( "(") (binary_expression "pcVar22 + 0x86308" (identifier "pcVar22") (+ "+") (number_literal "0x86308")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3)" (( "(") (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4)" (* "*") (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4)" (( "(") (binary_expression "iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4" (binary_expression "iVar12 * 4 + *(int *)(pcVar22 + 0x8620c)" (binary_expression "iVar12 * 4" (identifier "iVar12") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x8620c)" (* "*") (cast_expression "(int *)(pcVar22 + 0x8620c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x8620c)" (( "(") (binary_expression "pcVar22 + 0x8620c" (identifier "pcVar22") (+ "+") (number_literal "0x8620c")) () ")"))))) (+ "+") (number_literal "0x59f4")) () ")")))) (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar20)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" ({ "{") (expression_statement "*piVar18 = iVar12;" (assignment_expression "*piVar18 = iVar12" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "iVar12 = (*pcVar20)(uVar11);" (assignment_expression "iVar12 = (*pcVar20)(uVar11)" (identifier "iVar12") (= "=") (call_expression "(*pcVar20)(uVar11)" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")")))) (; ";")) (expression_statement "piVar18[2] = iVar12;" (assignment_expression "piVar18[2] = iVar12" (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18)" (identifier "piVar18") (= "=") (cast_expression "(int *)FUN_0001fc80(iVar2,piVar18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001fc80(iVar2,piVar18)" (identifier "FUN_0001fc80") (argument_list "(iVar2,piVar18)" (( "(") (identifier "iVar2") (, ",") (identifier "piVar18") () ")"))))) (; ";")) (return_statement "return piVar18;" (return "return") (identifier "piVar18") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }" (else "else") (compound_statement "{\n    (**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4);" (call_expression "(**(code **)(pcVar22 + 0x86958))\n              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4)" (parenthesized_expression "(**(code **)(pcVar22 + 0x86958))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x86958)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x86958)" (* "*") (cast_expression "(code **)(pcVar22 + 0x86958)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x86958)" (( "(") (binary_expression "pcVar22 + 0x86958" (identifier "pcVar22") (+ "+") (number_literal "0x86958")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,\n               *(int *)(pcVar22 + 0x8620c) + 0x58c4)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x8620c) + 0x57ac" (pointer_expression "*(int *)(pcVar22 + 0x8620c)" (* "*") (cast_expression "(int *)(pcVar22 + 0x8620c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x8620c)" (( "(") (binary_expression "pcVar22 + 0x8620c" (identifier "pcVar22") (+ "+") (number_literal "0x8620c")) () ")")))) (+ "+") (number_literal "0x57ac")) (, ",") (binary_expression "*(int *)(pcVar22 + 0x8620c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + 0x8620c)" (* "*") (cast_expression "(int *)(pcVar22 + 0x8620c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x8620c)" (( "(") (binary_expression "pcVar22 + 0x8620c" (identifier "pcVar22") (+ "+") (number_literal "0x8620c")) () ")")))) (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x1c6") (, ",") (binary_expression "*(int *)(pcVar22 + 0x8620c) + 0x58c4" (pointer_expression "*(int *)(pcVar22 + 0x8620c)" (* "*") (cast_expression "(int *)(pcVar22 + 0x8620c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x8620c)" (( "(") (binary_expression "pcVar22 + 0x8620c" (identifier "pcVar22") (+ "+") (number_literal "0x8620c")) () ")")))) (+ "+") (number_literal "0x58c4")) () ")"))) (; ";")) (} "}")))) (expression_statement "uVar11 = 0x1c7;" (assignment_expression "uVar11 = 0x1c7" (identifier "uVar11") (= "=") (number_literal "0x1c7")) (; ";")) (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86958);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86958)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar22 + 0x86958)" (* "*") (cast_expression "(code **)(pcVar22 + 0x86958)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x86958)" (( "(") (binary_expression "pcVar22 + 0x86958" (identifier "pcVar22") (+ "+") (number_literal "0x86958")) () ")"))))) (; ";")) (expression_statement "iVar12 = *(int *)(pcVar22 + 0x8620c) + 0x5790;" (assignment_expression "iVar12 = *(int *)(pcVar22 + 0x8620c) + 0x5790" (identifier "iVar12") (= "=") (binary_expression "*(int *)(pcVar22 + 0x8620c) + 0x5790" (pointer_expression "*(int *)(pcVar22 + 0x8620c)" (* "*") (cast_expression "(int *)(pcVar22 + 0x8620c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x8620c)" (( "(") (binary_expression "pcVar22 + 0x8620c" (identifier "pcVar22") (+ "+") (number_literal "0x8620c")) () ")")))) (+ "+") (number_literal "0x5790"))) (; ";")) (expression_statement "iVar2 = *(int *)(pcVar22 + 0x8620c) + 0x585c;" (assignment_expression "iVar2 = *(int *)(pcVar22 + 0x8620c) + 0x585c" (identifier "iVar2") (= "=") (binary_expression "*(int *)(pcVar22 + 0x8620c) + 0x585c" (pointer_expression "*(int *)(pcVar22 + 0x8620c)" (* "*") (cast_expression "(int *)(pcVar22 + 0x8620c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x8620c)" (( "(") (binary_expression "pcVar22 + 0x8620c" (identifier "pcVar22") (+ "+") (number_literal "0x8620c")) () ")")))) (+ "+") (number_literal "0x585c"))) (; ";")) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar18 = (int *)safemalloc(1,0xc);" (assignment_expression "piVar18 = (int *)safemalloc(1,0xc)" (identifier "piVar18") (= "=") (cast_expression "(int *)safemalloc(1,0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "safemalloc(1,0xc)" (identifier "safemalloc") (argument_list "(1,0xc)" (( "(") (number_literal "1") (, ",") (number_literal "0xc") () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0) {\n    pcVar22 = *(code **)(pcVar20 + 0x861f8);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }\n  else {\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0)" (( "(") (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4)" (* "*") (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4)" (( "(") (binary_expression "iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4" (binary_expression "iVar12 * 4 + *(int *)(pcVar20 + 0x86104)" (binary_expression "iVar12 * 4" (identifier "iVar12") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcVar20 + 0x86104)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86104)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86104)" (( "(") (binary_expression "pcVar20 + 0x86104" (identifier "pcVar20") (+ "+") (number_literal "0x86104")) () ")"))))) (+ "+") (number_literal "0x5cd4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar22 = *(code **)(pcVar20 + 0x861f8);\n    if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }\n  }" ({ "{") (expression_statement "pcVar22 = *(code **)(pcVar20 + 0x861f8);" (assignment_expression "pcVar22 = *(code **)(pcVar20 + 0x861f8)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar20 + 0x861f8)" (* "*") (cast_expression "(code **)(pcVar20 + 0x861f8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x861f8)" (( "(") (binary_expression "pcVar20 + 0x861f8" (identifier "pcVar20") (+ "+") (number_literal "0x861f8")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4)" (( "(") (binary_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4" (pointer_expression "*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4)" (* "*") (cast_expression "(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4)" (( "(") (binary_expression "iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4" (binary_expression "iVar12 * 4 + *(int *)(pcVar20 + 0x86104)" (binary_expression "iVar12 * 4" (identifier "iVar12") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(pcVar20 + 0x86104)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86104)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86104)" (( "(") (binary_expression "pcVar20 + 0x86104" (identifier "pcVar20") (+ "+") (number_literal "0x86104")) () ")"))))) (+ "+") (number_literal "0x59f4")) () ")")))) (== "==") (number_literal "4")) () ")")) (compound_statement "{\n      *piVar18 = iVar12;\n      iVar12 = (*pcVar22)(uVar11);\n      piVar18[2] = iVar12;\n      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);\n      return piVar18;\n    }" ({ "{") (expression_statement "*piVar18 = iVar12;" (assignment_expression "*piVar18 = iVar12" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "iVar12 = (*pcVar22)(uVar11);" (assignment_expression "iVar12 = (*pcVar22)(uVar11)" (identifier "iVar12") (= "=") (call_expression "(*pcVar22)(uVar11)" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")")))) (; ";")) (expression_statement "piVar18[2] = iVar12;" (assignment_expression "piVar18[2] = iVar12" (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);" (assignment_expression "piVar18 = (int *)FUN_0001fc80(iVar2,piVar18)" (identifier "piVar18") (= "=") (cast_expression "(int *)FUN_0001fc80(iVar2,piVar18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001fc80(iVar2,piVar18)" (identifier "FUN_0001fc80") (argument_list "(iVar2,piVar18)" (( "(") (identifier "iVar2") (, ",") (identifier "piVar18") () ")"))))) (; ";")) (return_statement "return piVar18;" (return "return") (identifier "piVar18") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }" (else "else") (compound_statement "{\n    (**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0);" (call_expression "(**(code **)(pcVar20 + 0x86850))\n              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0)" (parenthesized_expression "(**(code **)(pcVar20 + 0x86850))" (( "(") (pointer_expression "**(code **)(pcVar20 + 0x86850)" (* "*") (pointer_expression "*(code **)(pcVar20 + 0x86850)" (* "*") (cast_expression "(code **)(pcVar20 + 0x86850)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x86850)" (( "(") (binary_expression "pcVar20 + 0x86850" (identifier "pcVar20") (+ "+") (number_literal "0x86850")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,\n               *(int *)(pcVar20 + 0x86104) + 0x58b0)" (( "(") (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x57ac" (pointer_expression "*(int *)(pcVar20 + 0x86104)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86104)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86104)" (( "(") (binary_expression "pcVar20 + 0x86104" (identifier "pcVar20") (+ "+") (number_literal "0x86104")) () ")")))) (+ "+") (number_literal "0x57ac")) (, ",") (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86104)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86104)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86104)" (( "(") (binary_expression "pcVar20 + 0x86104" (identifier "pcVar20") (+ "+") (number_literal "0x86104")) () ")")))) (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x1d1") (, ",") (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x58b0" (pointer_expression "*(int *)(pcVar20 + 0x86104)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86104)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86104)" (( "(") (binary_expression "pcVar20 + 0x86104" (identifier "pcVar20") (+ "+") (number_literal "0x86104")) () ")")))) (+ "+") (number_literal "0x58b0")) () ")"))) (; ";")) (} "}")))) (expression_statement "pcVar22 = *(code **)(pcVar20 + 0x86850);" (assignment_expression "pcVar22 = *(code **)(pcVar20 + 0x86850)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar20 + 0x86850)" (* "*") (cast_expression "(code **)(pcVar20 + 0x86850)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar20 + 0x86850)" (( "(") (binary_expression "pcVar20 + 0x86850" (identifier "pcVar20") (+ "+") (number_literal "0x86850")) () ")"))))) (; ";")) (expression_statement "puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884);" (assignment_expression "puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar20 + 0x86104) + 0x5884)" (( "(") (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x5884" (pointer_expression "*(int *)(pcVar20 + 0x86104)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86104)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86104)" (( "(") (binary_expression "pcVar20 + 0x86104" (identifier "pcVar20") (+ "+") (number_literal "0x86104")) () ")")))) (+ "+") (number_literal "0x5884")) () ")")))) (; ";")) (expression_statement "(*pcVar22)(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)\n  ;" (call_expression "(*pcVar22)(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)" (( "(") (identifier "puVar5") (, ",") (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x5790" (pointer_expression "*(int *)(pcVar20 + 0x86104)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86104)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86104)" (( "(") (binary_expression "pcVar20 + 0x86104" (identifier "pcVar20") (+ "+") (number_literal "0x86104")) () ")")))) (+ "+") (number_literal "0x5790")) (, ",") (number_literal "0x1d2") (, ",") (binary_expression "*(int *)(pcVar20 + 0x86104) + 0x58b0" (pointer_expression "*(int *)(pcVar20 + 0x86104)" (* "*") (cast_expression "(int *)(pcVar20 + 0x86104)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + 0x86104)" (( "(") (binary_expression "pcVar20 + 0x86104" (identifier "pcVar20") (+ "+") (number_literal "0x86104")) () ")")))) (+ "+") (number_literal "0x58b0")) () ")"))) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar12 = *(int *)(pcVar22 + 0x85ffc);" (assignment_expression "iVar12 = *(int *)(pcVar22 + 0x85ffc)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x85ffc)" (* "*") (cast_expression "(int *)(pcVar22 + 0x85ffc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x85ffc)" (( "(") (binary_expression "pcVar22 + 0x85ffc" (identifier "pcVar22") (+ "+") (number_literal "0x85ffc")) () ")"))))) (; ";")) (expression_statement "iVar9 = *(int *)(pcVar22 + 0x85ffc);" (assignment_expression "iVar9 = *(int *)(pcVar22 + 0x85ffc)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x85ffc)" (* "*") (cast_expression "(int *)(pcVar22 + 0x85ffc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x85ffc)" (( "(") (binary_expression "pcVar22 + 0x85ffc" (identifier "pcVar22") (+ "+") (number_literal "0x85ffc")) () ")"))))) (; ";")) (expression_statement "piVar18 = (int *)0x0;" (assignment_expression "piVar18 = (int *)0x0" (identifier "piVar18") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_00021154:\n  while( true ) {\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }" (statement_identifier "LAB_00021154") (: ":") (while_statement "while( true ) {\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    piVar16 = piVar18 + 1;\n    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);\n    if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }\n    iVar10 = *piVar3 * 4;\n    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);\n    if (iVar13 == 1) break;\n    if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }\n    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    if (iVar13 != 2) goto LAB_000211bc;\nLAB_00021224:\n    iVar2 = iVar2 + 1;\n    iVar13 = (*pcVar20)(piVar3[2]);\n    piVar18 = (int *)((int)piVar16 + iVar13 + 1);\n  }" ({ "{") (expression_statement "piVar16 = piVar18 + 1;" (assignment_expression "piVar16 = piVar18 + 1" (identifier "piVar16") (= "=") (binary_expression "piVar18 + 1" (identifier "piVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);" (assignment_expression "piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2)" (identifier "piVar3") (= "=") (cast_expression "(int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2)" (parenthesized_expression "(**(code **)(pcVar22 + 0x860f4))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x860f4)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x860f4)" (* "*") (cast_expression "(code **)(pcVar22 + 0x860f4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x860f4)" (( "(") (binary_expression "pcVar22 + 0x860f4" (identifier "pcVar22") (+ "+") (number_literal "0x860f4")) () ")"))))) () ")")) (argument_list "(*puVar5,iVar2)" (( "(") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (, ",") (identifier "iVar2") () ")"))))) (; ";")) (if_statement "if (piVar3 == (int *)0x0) {\n      return piVar16;\n    }" (if "if") (parenthesized_expression "(piVar3 == (int *)0x0)" (( "(") (binary_expression "piVar3 == (int *)0x0" (identifier "piVar3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      return piVar16;\n    }" ({ "{") (return_statement "return piVar16;" (return "return") (identifier "piVar16") (; ";")) (} "}"))) (expression_statement "iVar10 = *piVar3 * 4;" (assignment_expression "iVar10 = *piVar3 * 4" (identifier "iVar10") (= "=") (binary_expression "*piVar3 * 4" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);" (assignment_expression "iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(iVar12 + 0x5cd4 + iVar10)" (* "*") (cast_expression "(int *)(iVar12 + 0x5cd4 + iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x5cd4 + iVar10)" (( "(") (binary_expression "iVar12 + 0x5cd4 + iVar10" (binary_expression "iVar12 + 0x5cd4" (identifier "iVar12") (+ "+") (number_literal "0x5cd4")) (+ "+") (identifier "iVar10")) () ")"))))) (; ";")) (if_statement "if (iVar13 == 1) break;" (if "if") (parenthesized_expression "(iVar13 == 1)" (( "(") (binary_expression "iVar13 == 1" (identifier "iVar13") (== "==") (number_literal "1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (iVar13 == 2) {\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }" (if "if") (parenthesized_expression "(iVar13 == 2)" (( "(") (binary_expression "iVar13 == 2" (identifier "iVar13") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);\n      piVar16 = (int *)((int)piVar18 + iVar13 + 5);\n    }" ({ "{") (expression_statement "iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);" (assignment_expression "iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1])" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcVar22 + 0x86ce4))(piVar3[1])" (parenthesized_expression "(**(code **)(pcVar22 + 0x86ce4))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x86ce4)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x86ce4)" (* "*") (cast_expression "(code **)(pcVar22 + 0x86ce4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x86ce4)" (( "(") (binary_expression "pcVar22 + 0x86ce4" (identifier "pcVar22") (+ "+") (number_literal "0x86ce4")) () ")"))))) () ")")) (argument_list "(piVar3[1])" (( "(") (subscript_expression "piVar3[1]" (identifier "piVar3") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (expression_statement "piVar16 = (int *)((int)piVar18 + iVar13 + 5);" (assignment_expression "piVar16 = (int *)((int)piVar18 + iVar13 + 5)" (identifier "piVar16") (= "=") (cast_expression "(int *)((int)piVar18 + iVar13 + 5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + iVar13 + 5)" (( "(") (binary_expression "(int)piVar18 + iVar13 + 5" (binary_expression "(int)piVar18 + iVar13" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (identifier "iVar13")) (+ "+") (number_literal "5")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);" (assignment_expression "iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(iVar9 + 0x59f4 + iVar10)" (* "*") (cast_expression "(int *)(iVar9 + 0x59f4 + iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x59f4 + iVar10)" (( "(") (binary_expression "iVar9 + 0x59f4 + iVar10" (binary_expression "iVar9 + 0x59f4" (identifier "iVar9") (+ "+") (number_literal "0x59f4")) (+ "+") (identifier "iVar10")) () ")"))))) (; ";")) (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86ce4);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86ce4)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar22 + 0x86ce4)" (* "*") (cast_expression "(code **)(pcVar22 + 0x86ce4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x86ce4)" (( "(") (binary_expression "pcVar22 + 0x86ce4" (identifier "pcVar22") (+ "+") (number_literal "0x86ce4")) () ")"))))) (; ";")) (if_statement "if (iVar13 != 2) goto LAB_000211bc;" (if "if") (parenthesized_expression "(iVar13 != 2)" (( "(") (binary_expression "iVar13 != 2" (identifier "iVar13") (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto LAB_000211bc;" (goto "goto") (statement_identifier "LAB_000211bc") (; ";"))) (labeled_statement "LAB_00021224:\n    iVar2 = iVar2 + 1;" (statement_identifier "LAB_00021224") (: ":") (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" (identifier "iVar2") (= "=") (binary_expression "iVar2 + 1" (identifier "iVar2") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "iVar13 = (*pcVar20)(piVar3[2]);" (assignment_expression "iVar13 = (*pcVar20)(piVar3[2])" (identifier "iVar13") (= "=") (call_expression "(*pcVar20)(piVar3[2])" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "(piVar3[2])" (( "(") (subscript_expression "piVar3[2]" (identifier "piVar3") ([ "[") (number_literal "2") (] "]")) () ")")))) (; ";")) (expression_statement "piVar18 = (int *)((int)piVar16 + iVar13 + 1);" (assignment_expression "piVar18 = (int *)((int)piVar16 + iVar13 + 1)" (identifier "piVar18") (= "=") (cast_expression "(int *)((int)piVar16 + iVar13 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar16 + iVar13 + 1)" (( "(") (binary_expression "(int)piVar16 + iVar13 + 1" (binary_expression "(int)piVar16 + iVar13" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (+ "+") (identifier "iVar13")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")))) (expression_statement "iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);" (assignment_expression "iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(iVar9 + 0x59f4 + iVar10)" (* "*") (cast_expression "(int *)(iVar9 + 0x59f4 + iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x59f4 + iVar10)" (( "(") (binary_expression "iVar9 + 0x59f4 + iVar10" (binary_expression "iVar9 + 0x59f4" (identifier "iVar9") (+ "+") (number_literal "0x59f4")) (+ "+") (identifier "iVar10")) () ")"))))) (; ";")) (expression_statement "piVar16 = piVar18 + 2;" (assignment_expression "piVar16 = piVar18 + 2" (identifier "piVar16") (= "=") (binary_expression "piVar18 + 2" (identifier "piVar18") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (iVar13 == 2) {\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    goto LAB_00021224;\n  }" (if "if") (parenthesized_expression "(iVar13 == 2)" (( "(") (binary_expression "iVar13 == 2" (identifier "iVar13") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    pcVar20 = *(code **)(pcVar22 + 0x86ce4);\n    goto LAB_00021224;\n  }" ({ "{") (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86ce4);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86ce4)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar22 + 0x86ce4)" (* "*") (cast_expression "(code **)(pcVar22 + 0x86ce4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x86ce4)" (( "(") (binary_expression "pcVar22 + 0x86ce4" (identifier "pcVar22") (+ "+") (number_literal "0x86ce4")) () ")"))))) (; ";")) (goto_statement "goto LAB_00021224;" (goto "goto") (statement_identifier "LAB_00021224") (; ";")) (} "}"))) (labeled_statement "LAB_000211bc:\n  if (iVar13 < 3) {\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }\n  else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }" (statement_identifier "LAB_000211bc") (: ":") (if_statement "if (iVar13 < 3) {\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }\n  else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }" (if "if") (parenthesized_expression "(iVar13 < 3)" (( "(") (binary_expression "iVar13 < 3" (identifier "iVar13") (< "<") (number_literal "3")) () ")")) (compound_statement "{\n    if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }\n  }" ({ "{") (if_statement "if (iVar13 == 1) {\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }" (if "if") (parenthesized_expression "(iVar13 == 1)" (( "(") (binary_expression "iVar13 == 1" (identifier "iVar13") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      piVar18 = piVar16 + 1;\n      iVar2 = iVar2 + 1;\n      goto LAB_00021154;\n    }" ({ "{") (expression_statement "piVar18 = piVar16 + 1;" (assignment_expression "piVar18 = piVar16 + 1" (identifier "piVar18") (= "=") (binary_expression "piVar16 + 1" (identifier "piVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" (identifier "iVar2") (= "=") (binary_expression "iVar2 + 1" (identifier "iVar2") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_00021154;" (goto "goto") (statement_identifier "LAB_00021154") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }" (else "else") (compound_statement "{\n    if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }\n    iVar13 = (*pcVar20)(piVar3[2],0);\n    piVar16 = (int *)((int)piVar16 + iVar13);\n  }" ({ "{") (if_statement "if (iVar13 == 3) {\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }\n    else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }" (if "if") (parenthesized_expression "(iVar13 == 3)" (( "(") (binary_expression "iVar13 == 3" (identifier "iVar13") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      pcVar20 = *(code **)(pcVar22 + 0x86114);\n    }" ({ "{") (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86114);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86114)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar22 + 0x86114)" (* "*") (cast_expression "(code **)(pcVar22 + 0x86114)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x86114)" (( "(") (binary_expression "pcVar22 + 0x86114" (identifier "pcVar22") (+ "+") (number_literal "0x86114")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }" (else "else") (compound_statement "{\n      pcVar20 = *(code **)(pcVar22 + 0x86110);\n      if (iVar13 != 4) goto LAB_000211ec;\n    }" ({ "{") (expression_statement "pcVar20 = *(code **)(pcVar22 + 0x86110);" (assignment_expression "pcVar20 = *(code **)(pcVar22 + 0x86110)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(pcVar22 + 0x86110)" (* "*") (cast_expression "(code **)(pcVar22 + 0x86110)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x86110)" (( "(") (binary_expression "pcVar22 + 0x86110" (identifier "pcVar22") (+ "+") (number_literal "0x86110")) () ")"))))) (; ";")) (if_statement "if (iVar13 != 4) goto LAB_000211ec;" (if "if") (parenthesized_expression "(iVar13 != 4)" (( "(") (binary_expression "iVar13 != 4" (identifier "iVar13") (!= "!=") (number_literal "4")) () ")")) (goto_statement "goto LAB_000211ec;" (goto "goto") (statement_identifier "LAB_000211ec") (; ";"))) (} "}")))) (expression_statement "iVar13 = (*pcVar20)(piVar3[2],0);" (assignment_expression "iVar13 = (*pcVar20)(piVar3[2],0)" (identifier "iVar13") (= "=") (call_expression "(*pcVar20)(piVar3[2],0)" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "(piVar3[2],0)" (( "(") (subscript_expression "piVar3[2]" (identifier "piVar3") ([ "[") (number_literal "2") (] "]")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "piVar16 = (int *)((int)piVar16 + iVar13);" (assignment_expression "piVar16 = (int *)((int)piVar16 + iVar13)" (identifier "piVar16") (= "=") (cast_expression "(int *)((int)piVar16 + iVar13)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar16 + iVar13)" (( "(") (binary_expression "(int)piVar16 + iVar13" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (+ "+") (identifier "iVar13")) () ")")))) (; ";")) (} "}"))))) (labeled_statement "LAB_000211ec:\n  iVar2 = iVar2 + 1;" (statement_identifier "LAB_000211ec") (: ":") (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" (identifier "iVar2") (= "=") (binary_expression "iVar2 + 1" (identifier "iVar2") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "piVar18 = piVar16;" (assignment_expression "piVar18 = piVar16" (identifier "piVar18") (= "=") (identifier "piVar16")) (; ";")) (goto_statement "goto LAB_00021154;" (goto "goto") (statement_identifier "LAB_00021154") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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))))) (labeled_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))))))) (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)) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) 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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (number_literal) (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_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))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) 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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (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))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (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)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (return_statement (identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (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: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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))))) (labeled_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)))) (labeled_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)) (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: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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) (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) 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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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))))) (labeled_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)))) (labeled_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)) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) 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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (return_statement (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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 (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) 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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (return_statement (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) 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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (return_statement (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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 (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) 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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (return_statement (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) 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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (return_statement (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (return_statement (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (labeled_statement label: (statement_identifier) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))))

int * MASKED(undefined4 *param_1,int param_2)

{
  undefined *puVar1;
  int iVar2;
  int *piVar3;
  int *piVar4;
  undefined4 *puVar5;
  undefined4 *puVar6;
  undefined *puVar7;
  int *piVar8;
  int iVar9;
  int iVar10;
  undefined4 uVar11;
  int iVar12;
  int iVar13;
  int iVar14;
  undefined4 uVar15;
  int *piVar16;
  int iVar17;
  int *piVar18;
  int *unaff_s2;
  int unaff_s4;
  undefined *puVar19;
  code *pcVar20;
  code *pcVar21;
  code *pcVar22;
  int iStack_234;
  undefined4 uStack_230;
  int *piStack_22c;
  int *piStack_228;
  int iStack_224;
  int iStack_220;
  code *pcStack_21c;
  code *pcStack_208;
  int *piStack_200;
  int iStack_1fc;
  undefined4 uStack_1f8;
  int iStack_1f4;
  int iStack_1f0;
  code *pcStack_1ec;
  code *pcStack_1d8;
  int iStack_1cc;
  int iStack_1c8;
  int iStack_1c4;
  int iStack_1c0;
  code *pcStack_1bc;
  code *pcStack_1a8;
  int iStack_19c;
  int iStack_198;
  int iStack_194;
  undefined4 *puStack_190;
  code *pcStack_18c;
  code *pcStack_178;
  int *piStack_170;
  int *piStack_16c;
  int iStack_168;
  code *pcStack_164;
  code *pcStack_150;
  int aiStack_144 [2];
  int iStack_13c;
  int *piStack_138;
  code *pcStack_134;
  code *pcStack_120;
  int *apiStack_114 [2];
  int iStack_10c;
  int *piStack_108;
  code *pcStack_104;
  undefined4 **ppuStack_f0;
  code *pcStack_e8;
  int *piStack_e0;
  int iStack_dc;
  int iStack_d8;
  undefined4 *puStack_d4;
  int iStack_d0;
  int *piStack_cc;
  int *piStack_c8;
  int iStack_9c;
  int iStack_98;
  int iStack_94;
  int *piStack_90;
  undefined *puStack_44;
  undefined4 uStack_40;
  int iStack_3c;
  undefined *puStack_38;
  code *pcStack_34;
  int local_14 [2];
  int local_c;
  
  puVar1 = PTR___stack_chk_guard_000a7ec8;
  local_c = *(int *)PTR___stack_chk_guard_000a7ec8;
  if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x5cd4) == 0) {
    if (*(int *)(PTR_DAT_000a70f4 + param_2 * 4 + 0x59f4) == 2) {
      local_14[0] = param_2;
      iVar2 = (*(code *)PTR_find234_000a71f8)(*param_1,local_14,0);
      if (iVar2 != 0) {
        if (local_c == *(int *)puVar1) {
          return *(int **)(iVar2 + 8);
        }
        goto LAB_00020300;
      }
      goto LAB_0002030c;
    }
  }
  else {
    (*(code *)PTR___assert_fail_000a7840)
              (PTR_DAT_000a70f4 + 0x57ac,PTR_DAT_000a70f4 + 0x5790,0x123,PTR_DAT_000a70f4 + 0x59c0);
LAB_00020300:
    (*(code *)PTR___stack_chk_fail_000a7b74)();
LAB_0002030c:
    (*(code *)PTR___assert_fail_000a7840)
              (PTR_DAT_000a70f4 + 0x57a4,PTR_DAT_000a70f4 + 0x5790,0x127,PTR_DAT_000a70f4 + 0x59c0);
  }
  uVar11 = 0x124;
  puVar7 = PTR_DAT_000a70f4 + 0x5790;
  pcVar22 = MASKED_str_opt;
  puVar5 = (undefined4 *)(PTR_DAT_000a70f4 + 0x5814);
  puVar19 = PTR___assert_fail_000a7840;
  (*(code *)PTR___assert_fail_000a7840)();
  puStack_38 = puVar1;
  piVar18 = *(int **)(puVar19 + 0x87b74);
  iStack_3c = *piVar18;
  pcStack_34 = pcVar22;
  if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x5cd4) == 2) {
    if (*(int *)((int)puVar7 * 4 + *(int *)(puVar19 + 0x86da0) + 0x59f4) == 2) {
      puStack_44 = puVar7;
      uStack_40 = uVar11;
      piVar3 = (int *)(**(code **)(puVar19 + 0x86ea4))(*puVar5,&puStack_44,0);
      if (piVar3 != (int *)0x0) {
        piVar3 = (int *)piVar3[2];
      }
      if (iStack_3c == *piVar18) {
        return piVar3;
      }
      goto LAB_0002041c;
    }
  }
  else {
    (**(code **)(puVar19 + 0x874ec))
              (*(int *)(puVar19 + 0x86da0) + 0x5834,*(int *)(puVar19 + 0x86da0) + 0x5790,0x130,
               *(int *)(puVar19 + 0x86da0) + 0x59a8);
LAB_0002041c:
    (**(code **)(puVar19 + 0x87820))();
  }
  pcVar22 = *(code **)(puVar19 + 0x874ec);
  (*pcVar22)(*(int *)(puVar19 + 0x86da0) + 0x5814,*(int *)(puVar19 + 0x86da0) + 0x5790,0x131,
             *(int *)(puVar19 + 0x86da0) + 0x59a8);
  piVar3 = (int *)MASKED_str_opt();
  if (piVar3 != (int *)0x0) {
    return piVar3;
  }
  iVar12 = 0x13b;
  pcVar20 = *(code **)(pcVar22 + 0x873f4);
  piVar16 = (int *)(*(int *)(pcVar22 + 0x86ca8) + 0x5994);
  iVar2 = *(int *)(pcVar22 + 0x86ca8) + 0x5790;
  puVar5 = (undefined4 *)(*(int *)(pcVar22 + 0x86ca8) + 0x5858);
  (*pcVar20)();
  piVar3 = *(int **)(pcVar20 + 0x87a20);
  iStack_94 = *piVar3;
  piStack_90 = piVar18;
  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x5cd4) == 2) {
    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86c4c) + 0x59f4) == 2) {
      iStack_9c = iVar2;
      if (iVar12 == 0) {
        iStack_98 = *(int *)(pcVar20 + 0x86c30) + -0x7508;
        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))
                                   (*puVar5,&iStack_9c,*(int *)(pcVar20 + 0x86c20) + -0x5ac,4);
      }
      else {
        iStack_98 = iVar12;
        piVar18 = (int *)(**(code **)(pcVar20 + 0x86d58))(*puVar5,&iStack_9c,0,3);
      }
      if (piVar18 != (int *)0x0) {
        if (*piVar18 == iVar2) {
          *piVar16 = piVar18[1];
          piVar18 = (int *)piVar18[2];
        }
        else {
          piVar18 = (int *)0x0;
        }
      }
      if (iStack_94 == *piVar3) {
        return piVar18;
      }
      (**(code **)(pcVar20 + 0x876cc))();
      unaff_s2 = piVar16;
    }
    (**(code **)(pcVar20 + 0x87398))
              (*(int *)(pcVar20 + 0x86c4c) + 0x5814,*(int *)(pcVar20 + 0x86c4c) + 0x5790,0x146,
               *(int *)(pcVar20 + 0x86c4c) + 0x5980);
  }
  piVar18 = (int *)0x145;
  pcVar21 = *(code **)(pcVar20 + 0x87398);
  iVar12 = *(int *)(pcVar20 + 0x86c4c) + 0x5790;
  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86c4c) + 0x5834);
  (*pcVar21)();
  pcVar22 = pcVar21 + 0x8ea88;
  piVar16 = *(int **)(pcVar21 + 0x878c0);
  puStack_d4 = (undefined4 *)*piVar16;
  pcStack_e8 = pcVar22;
  iStack_d0 = iVar2;
  piStack_cc = piVar3;
  piStack_c8 = unaff_s2;
  if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x5cd4) == 2) {
    if (*(int *)(iVar12 * 4 + *(int *)(pcVar21 + 0x86aec) + 0x59f4) != 2) {
      (**(code **)(pcVar21 + 0x87238))
                (*(int *)(pcVar21 + 0x86aec) + 0x5814,*(int *)(pcVar21 + 0x86aec) + 0x5790,0x15c,
                 *(int *)(pcVar21 + 0x86aec) + 0x5968);
      goto LAB_00020744;
    }
    piVar8 = &iStack_dc;
    iStack_d8 = *(int *)(pcVar21 + 0x86ad0) + -0x7508;
    ppuStack_f0 = &piStack_e0;
    iStack_dc = iVar12;
    piVar3 = (int *)(**(code **)(pcVar21 + 0x86bfc))
                              (*puVar5,piVar8,*(int *)(pcVar21 + 0x86ac0) + -0x5ac,4);
    if (piVar3 == (int *)0x0) {
LAB_000206f0:
      piVar4 = (int *)0x0;
    }
    else {
      unaff_s4 = *piVar3;
      piVar8 = piStack_e0;
      if (unaff_s4 != iVar12) goto LAB_000206f0;
      piVar8 = (int *)((int)piVar18 + (int)piStack_e0);
      piVar3 = (int *)(**(code **)(pcStack_e8 + -0x7ea4))(*puVar5);
      if ((piVar3 == (int *)0x0) || (*piVar3 != unaff_s4)) goto LAB_000206f0;
      piVar4 = (int *)piVar3[1];
    }
    puVar6 = puStack_d4;
    piVar3 = piVar18;
    pcVar22 = pcStack_e8;
    if (puStack_d4 == (undefined4 *)*piVar16) {
      return piVar4;
    }
  }
  else {
LAB_00020744:
    piVar8 = (int *)(*(int *)(pcVar21 + 0x86aec) + 0x5790);
    puVar6 = (undefined4 *)(*(int *)(pcVar21 + 0x86aec) + 0x5834);
    (**(code **)(pcVar21 + 0x87238))(puVar6,piVar8,0x15b,*(int *)(pcVar21 + 0x86aec) + 0x5968);
  }
  pcVar20 = *(code **)(pcVar22 + -0x751c);
  pcVar21 = conf_get_filename;
  (*pcVar20)();
  pcVar22 = pcVar20 + 0x8e91c;
  piVar18 = *(int **)(pcVar20 + 0x87754);
  iStack_10c = *piVar18;
  pcStack_120 = pcVar22;
  piStack_108 = piVar16;
  pcStack_104 = pcVar21;
  if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x5cd4) == 0) {
    if (*(int *)((int)piVar8 * 4 + *(int *)(pcVar20 + 0x86980) + 0x59f4) == 3) {
      apiStack_114[0] = piVar8;
      iVar2 = (**(code **)(pcVar20 + 0x86a84))(*puVar6,apiStack_114,0);
      pcVar22 = pcStack_120;
      if (iVar2 != 0) {
        if (iStack_10c == *piVar18) {
          return *(int **)(iVar2 + 8);
        }
        goto LAB_00020834;
      }
      goto LAB_00020840;
    }
  }
  else {
    (**(code **)(pcVar20 + 0x870cc))
              (*(int *)(pcVar20 + 0x86980) + 0x57ac,*(int *)(pcVar20 + 0x86980) + 0x5790,0x16e,
               *(int *)(pcVar20 + 0x86980) + 0x5954);
LAB_00020834:
    (**(code **)(pcVar22 + -0x751c))();
LAB_00020840:
    (**(code **)(pcVar22 + -0x7850))
              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x172,
               *(int *)(pcVar22 + -0x7f9c) + 0x5954);
  }
  pcVar20 = *(code **)(pcVar22 + -0x7850);
  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;
  pcVar21 = conf_get_fontspec;
  puVar6 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x585c);
  (*pcVar20)(puVar6,iVar2,0x16f,*(int *)(pcVar22 + -0x7f9c) + 0x5954);
  pcVar22 = pcVar20 + 0x8e808;
  piVar16 = *(int **)(pcVar20 + 0x87640);
  iStack_13c = *piVar16;
  pcStack_150 = pcVar22;
  piStack_138 = piVar18;
  pcStack_134 = pcVar21;
  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x5cd4) == 0) {
    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x8686c) + 0x59f4) == 4) {
      aiStack_144[0] = iVar2;
      iVar2 = (**(code **)(pcVar20 + 0x86970))(*puVar6,aiStack_144,0);
      pcVar22 = pcStack_150;
      if (iVar2 != 0) {
        if (iStack_13c == *piVar16) {
          return *(int **)(iVar2 + 8);
        }
        goto LAB_00020948;
      }
      goto LAB_00020954;
    }
  }
  else {
    (**(code **)(pcVar20 + 0x86fb8))
              (*(int *)(pcVar20 + 0x8686c) + 0x57ac,*(int *)(pcVar20 + 0x8686c) + 0x5790,0x17b,
               *(int *)(pcVar20 + 0x8686c) + 0x5940);
LAB_00020948:
    (**(code **)(pcVar22 + -0x751c))();
LAB_00020954:
    (**(code **)(pcVar22 + -0x7850))
              (*(int *)(pcVar22 + -0x7f9c) + 0x57a4,*(int *)(pcVar22 + -0x7f9c) + 0x5790,0x17f,
               *(int *)(pcVar22 + -0x7f9c) + 0x5940);
  }
  iVar13 = 0x17c;
  pcVar20 = *(code **)(pcVar22 + -0x7850);
  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;
  pcVar21 = conf_set_int;
  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5884;
  (*pcVar20)();
  pcStack_178 = pcVar20 + 0x8e6f4;
  piStack_170 = piVar16;
  piStack_16c = piVar3;
  iStack_168 = iVar12;
  pcStack_164 = pcVar21;
  piVar18 = (int *)safemalloc(1,0xc);
  pcVar22 = pcStack_178;
  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x5cd4) == 0) {
    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_178 + -0x7f9c) + 0x59f4) == 1) {
      *piVar18 = iVar9;
      piVar18[2] = iVar13;
      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);
      return piVar18;
    }
  }
  else {
    (**(code **)(pcStack_178 + -0x7850))
              (*(int *)(pcStack_178 + -0x7f9c) + 0x57ac,*(int *)(pcStack_178 + -0x7f9c) + 0x5790,
               0x187,*(int *)(pcStack_178 + -0x7f9c) + 0x5930);
  }
  iVar14 = 0x188;
  pcVar20 = *(code **)(pcVar22 + -0x7850);
  iVar17 = *(int *)(pcVar22 + -0x7f9c) + 0x5930;
  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;
  pcVar21 = conf_set_int_int;
  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;
  (*pcVar20)();
  pcStack_1a8 = pcVar20 + 0x8e608;
  iStack_19c = iVar2;
  iStack_198 = iVar13;
  iStack_194 = iVar9;
  puStack_190 = puVar5;
  pcStack_18c = pcVar21;
  piVar18 = (int *)safemalloc(1,0xc);
  pcVar22 = pcStack_1a8;
  if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x5cd4) == 1) {
    if (*(int *)(iVar10 * 4 + *(int *)(pcStack_1a8 + -0x7f9c) + 0x59f4) == 1) {
      *piVar18 = iVar10;
      piVar18[1] = iVar14;
      piVar18[2] = iVar17;
      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);
      return piVar18;
    }
  }
  else {
    (**(code **)(pcStack_1a8 + -0x7850))
              (*(int *)(pcStack_1a8 + -0x7f9c) + 0x57f0,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5790,
               0x192,*(int *)(pcStack_1a8 + -0x7f9c) + 0x5910);
  }
  uVar11 = 0x193;
  pcVar20 = *(code **)(pcVar22 + -0x7850);
  iVar9 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;
  pcVar21 = conf_set_str;
  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x57d0;
  (*pcVar20)();
  pcStack_1d8 = pcVar20 + 0x8e50c;
  iStack_1cc = iVar17;
  iStack_1c8 = iVar12;
  iStack_1c4 = iVar14;
  iStack_1c0 = iVar10;
  pcStack_1bc = pcVar21;
  piVar18 = (int *)safemalloc(1,0xc);
  pcVar22 = pcStack_1d8;
  if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x5cd4) == 0) {
    if (*(int *)(iVar9 * 4 + *(int *)(pcStack_1d8 + -0x7f9c) + 0x59f4) == 2) {
      *piVar18 = iVar9;
      iVar12 = dupstr(uVar11);
      piVar18[2] = iVar12;
      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);
      return piVar18;
    }
  }
  else {
    (**(code **)(pcStack_1d8 + -0x7850))
              (*(int *)(pcStack_1d8 + -0x7f9c) + 0x57ac,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5790,
               0x19e,*(int *)(pcStack_1d8 + -0x7f9c) + 0x5900);
  }
  uVar15 = 0x19f;
  pcVar20 = *(code **)(pcVar22 + -0x7850);
  iVar10 = *(int *)(pcVar22 + -0x7f9c) + 0x5900;
  iVar13 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;
  pcVar21 = conf_set_str_str;
  iVar12 = *(int *)(pcVar22 + -0x7f9c) + 0x5814;
  (*pcVar20)();
  pcStack_208 = pcVar20 + 0x8e404;
  piStack_200 = piVar18;
  iStack_1fc = iVar2;
  uStack_1f8 = uVar11;
  iStack_1f4 = iVar9;
  iStack_1f0 = unaff_s4;
  pcStack_1ec = pcVar21;
  piVar18 = (int *)safemalloc(1,0xc);
  pcVar22 = pcStack_208;
  if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x5cd4) == 2) {
    if (*(int *)(iVar13 * 4 + *(int *)(pcStack_208 + -0x7f9c) + 0x59f4) == 2) {
      *piVar18 = iVar13;
      iVar2 = dupstr(uVar15);
      piVar18[1] = iVar2;
      iVar2 = dupstr(iVar10);
      piVar18[2] = iVar2;
      piVar18 = (int *)FUN_0001fc80(iVar12,piVar18);
      return piVar18;
    }
  }
  else {
    (**(code **)(pcStack_208 + -0x7850))
              (*(int *)(pcStack_208 + -0x7f9c) + 0x5834,*(int *)(pcStack_208 + -0x7f9c) + 0x5790,
               0x1aa,*(int *)(pcStack_208 + -0x7f9c) + 0x58ec);
  }
  uVar11 = 0x1ab;
  pcVar20 = *(code **)(pcVar22 + -0x7850);
  iVar2 = *(int *)(pcVar22 + -0x7f9c) + 0x5790;
  pcVar21 = conf_del_str_str;
  puVar5 = (undefined4 *)(*(int *)(pcVar22 + -0x7f9c) + 0x5814);
  (*pcVar20)();
  piVar3 = *(int **)(pcVar20 + 0x87114);
  piStack_22c = (int *)*piVar3;
  piStack_228 = piVar18;
  iStack_224 = iVar12;
  iStack_220 = iVar10;
  pcStack_21c = pcVar21;
  if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x5cd4) == 2) {
    if (*(int *)(iVar2 * 4 + *(int *)(pcVar20 + 0x86340) + 0x59f4) != 2) goto LAB_00020ec4;
    iStack_234 = iVar2;
    uStack_230 = uVar11;
    iVar2 = (**(code **)(pcVar20 + 0x86444))(*puVar5,&iStack_234,0);
    if (iVar2 != 0) {
      (**(code **)(pcVar20 + 0x86428))(*puVar5,iVar2);
      FUN_0001fae8(iVar2);
    }
    piVar3 = (int *)*piVar3;
    if (piStack_22c == piVar3) {
      return piVar3;
    }
  }
  else {
    (**(code **)(pcVar20 + 0x86a8c))
              (*(int *)(pcVar20 + 0x86340) + 0x5834,*(int *)(pcVar20 + 0x86340) + 0x5790,0x1b7,
               *(int *)(pcVar20 + 0x86340) + 0x58d8);
  }
  (**(code **)(pcVar20 + 0x86dc0))();
LAB_00020ec4:
  uVar11 = 0x1b8;
  pcVar22 = *(code **)(pcVar20 + 0x86a8c);
  iVar12 = *(int *)(pcVar20 + 0x86340) + 0x5790;
  iVar2 = *(int *)(pcVar20 + 0x86340) + 0x5814;
  (*pcVar22)();
  piVar18 = (int *)safemalloc(1,0xc);
  if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x5cd4) == 0) {
    pcVar20 = *(code **)(pcVar22 + 0x86308);
    if (*(int *)(iVar12 * 4 + *(int *)(pcVar22 + 0x8620c) + 0x59f4) == 3) {
      *piVar18 = iVar12;
      iVar12 = (*pcVar20)(uVar11);
      piVar18[2] = iVar12;
      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);
      return piVar18;
    }
  }
  else {
    (**(code **)(pcVar22 + 0x86958))
              (*(int *)(pcVar22 + 0x8620c) + 0x57ac,*(int *)(pcVar22 + 0x8620c) + 0x5790,0x1c6,
               *(int *)(pcVar22 + 0x8620c) + 0x58c4);
  }
  uVar11 = 0x1c7;
  pcVar20 = *(code **)(pcVar22 + 0x86958);
  iVar12 = *(int *)(pcVar22 + 0x8620c) + 0x5790;
  iVar2 = *(int *)(pcVar22 + 0x8620c) + 0x585c;
  (*pcVar20)();
  piVar18 = (int *)safemalloc(1,0xc);
  if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x5cd4) == 0) {
    pcVar22 = *(code **)(pcVar20 + 0x861f8);
    if (*(int *)(iVar12 * 4 + *(int *)(pcVar20 + 0x86104) + 0x59f4) == 4) {
      *piVar18 = iVar12;
      iVar12 = (*pcVar22)(uVar11);
      piVar18[2] = iVar12;
      piVar18 = (int *)FUN_0001fc80(iVar2,piVar18);
      return piVar18;
    }
  }
  else {
    (**(code **)(pcVar20 + 0x86850))
              (*(int *)(pcVar20 + 0x86104) + 0x57ac,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d1,
               *(int *)(pcVar20 + 0x86104) + 0x58b0);
  }
  pcVar22 = *(code **)(pcVar20 + 0x86850);
  puVar5 = (undefined4 *)(*(int *)(pcVar20 + 0x86104) + 0x5884);
  (*pcVar22)(puVar5,*(int *)(pcVar20 + 0x86104) + 0x5790,0x1d2,*(int *)(pcVar20 + 0x86104) + 0x58b0)
  ;
  iVar2 = 0;
  iVar12 = *(int *)(pcVar22 + 0x85ffc);
  iVar9 = *(int *)(pcVar22 + 0x85ffc);
  piVar18 = (int *)0x0;
LAB_00021154:
  while( true ) {
    piVar16 = piVar18 + 1;
    piVar3 = (int *)(**(code **)(pcVar22 + 0x860f4))(*puVar5,iVar2);
    if (piVar3 == (int *)0x0) {
      return piVar16;
    }
    iVar10 = *piVar3 * 4;
    iVar13 = *(int *)(iVar12 + 0x5cd4 + iVar10);
    if (iVar13 == 1) break;
    if (iVar13 == 2) {
      iVar13 = (**(code **)(pcVar22 + 0x86ce4))(piVar3[1]);
      piVar16 = (int *)((int)piVar18 + iVar13 + 5);
    }
    iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);
    pcVar20 = *(code **)(pcVar22 + 0x86ce4);
    if (iVar13 != 2) goto LAB_000211bc;
LAB_00021224:
    iVar2 = iVar2 + 1;
    iVar13 = (*pcVar20)(piVar3[2]);
    piVar18 = (int *)((int)piVar16 + iVar13 + 1);
  }
  iVar13 = *(int *)(iVar9 + 0x59f4 + iVar10);
  piVar16 = piVar18 + 2;
  if (iVar13 == 2) {
    pcVar20 = *(code **)(pcVar22 + 0x86ce4);
    goto LAB_00021224;
  }
LAB_000211bc:
  if (iVar13 < 3) {
    if (iVar13 == 1) {
      piVar18 = piVar16 + 1;
      iVar2 = iVar2 + 1;
      goto LAB_00021154;
    }
  }
  else {
    if (iVar13 == 3) {
      pcVar20 = *(code **)(pcVar22 + 0x86114);
    }
    else {
      pcVar20 = *(code **)(pcVar22 + 0x86110);
      if (iVar13 != 4) goto LAB_000211ec;
    }
    iVar13 = (*pcVar20)(piVar3[2],0);
    piVar16 = (int *)((int)piVar16 + iVar13);
  }
LAB_000211ec:
  iVar2 = iVar2 + 1;
  piVar18 = piVar16;
  goto LAB_00021154;
}

